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
dts and exports in 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 |
1---2name: arch-tsdown3description: TypeScript library starter using tsdown. Use when scaffolding or maintaining a TS/ESM library with tsdown, pnpm, Vitest, and npm Trusted Publisher.4---5
6arch-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.
7
8> The skill is based on starter-ts (arch-tsdown source), generated at 2026-01-30.
9
10**Recommended practices:**
11- Build pure ESM; enable `dts` and `exports` in tsdown config
12- Use npm Trusted Publisher for releases
13- Run publint (via tsdown’s `publint: true`) before publishing
14
15## Core References
16
17| Topic | Description | Reference |
18|-------|-------------|-----------|
19| Overview | Project purpose, structure, when to use | [core-overview](references/core-overview.md) |
20| tsdown Config | entry, dts, exports, publint | [core-tsdown-config](references/core-tsdown-config.md) |
21| Scripts & Release | build, dev, start, release, npm Trusted Publisher | [core-scripts](references/core-scripts.md) |
22| Package Exports | dist output, types, exports, sideEffects | [core-package-exports](references/core-package-exports.md) |
23| pnpm Workspace | catalogs, version management, workspace | [core-pnpm-workspace](references/core-pnpm-workspace.md) |
24| Tooling | ESLint, TypeScript, Vitest config | [core-tooling](references/core-tooling.md) |
25| Git Hooks | simple-git-hooks, lint-staged, pre-commit | [core-git-hooks](references/core-git-hooks.md) |
26| CI | GitHub Actions — lint, typecheck, test matrix | [core-ci](references/core-ci.md) |
27| Release | Tag push, sxzz/workflows, npm Trusted Publisher | [core-release](references/core-release.md) |
28| Testing | Vitest, vitest-package-exports, export snapshots | [core-testing](references/core-testing.md) |
29
30## Best Practices
31
32| Topic | Description | Reference |
33|-------|-------------|-----------|
34| tsdown & Package | ESM, dts, exports, tooling alignment | [best-practices-tsdown](references/best-practices-tsdown.md) |