
arch-tsdown
TypeScript library starter using tsdown. Use when scaffolding or maintaining a TS/ESM library with tsdown, pnpm, Vitest, and npm Trusted Publisher.
TypeScript library starter using tsdown. Use when scaffolding or maintaining a TS/ESM library with tsdown, pnpm, Vitest, and npm Trusted Publisher.
arch-tsdown is a TypeScript library starter (based on antfu/starter-ts) that uses tsdown for building. It provides a minimal, opinionated setup: ESM-only output, automatic .d.ts generation, pnpm, Vitest, ESLint, and optional npm Trusted Publisher for CI-based releases.
The skill is based on starter-ts (arch-tsdown source), generated at 2026-01-30.
Recommended practices:
- Build pure ESM; enable
dtsandexportsin tsdown config - Use npm Trusted Publisher for releases
- Run publint (via tsdown’s
publint: true) before publishing
Core References
| Topic | Description | Reference |
|---|---|---|
| Overview | Project purpose, structure, when to use | core-overview |
| tsdown Config | entry, dts, exports, publint | core-tsdown-config |
| Scripts & Release | build, dev, start, release, npm Trusted Publisher | core-scripts |
| Package Exports | dist output, types, exports, sideEffects | core-package-exports |
| pnpm Workspace | catalogs, version management, workspace | core-pnpm-workspace |
| Tooling | ESLint, TypeScript, Vitest config | core-tooling |
| Git Hooks | simple-git-hooks, lint-staged, pre-commit | core-git-hooks |
| CI | GitHub Actions — lint, typecheck, test matrix | core-ci |
| Release | Tag push, sxzz/workflows, npm Trusted Publisher | core-release |
| Testing | Vitest, vitest-package-exports, export snapshots | core-testing |
Best Practices
| Topic | Description | Reference |
|---|---|---|
| tsdown & Package | ESM, dts, exports, tooling alignment | best-practices-tsdown |
You Might Also Like
Related Skills

verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
facebook
test
Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
facebook
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
facebook
extract-errors
Use when adding new error messages to React, or seeing "unknown error code" warnings.
facebook