arch-tsdown-cli is a TypeScript CLI package starter (based on hairyf/starter-cli) that uses tsdown for building. It provides a minimal, opinionated setup: dual surface (library + bin), ESM-only output, automatic .d.ts generation, dev bin via tsx, pnpm, Vitest, ESLint, and optional npm Trusted Publisher for CI-based releases.
The skill is based on starter-cli (arch-tsdown-cli source), generated at 2026-01-30.
Recommended practices:
- Use dev bin (tsx) locally and prod bin (dist) in publishConfig
- Build pure ESM; enable
dts and keep external for dependencies
- Use npm Trusted Publisher for releases
Core References
| Topic |
Description |
Reference |
| Overview |
Project purpose, structure, when to use |
core-overview |
| Bin Entry |
dev vs prod bin, shebang, tsx |
core-bin-entry |
| tsdown Config |
entry, format, dts, external |
core-tsdown-config |
| Scripts & Release |
build, dev, start, release, npm Trusted Publisher |
core-scripts |
| Package Exports |
dist, bin, publishConfig, files |
core-package-exports |
| 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 |
| Testing |
Vitest, vitest-package-exports |
core-testing |
Best Practices
| Topic |
Description |
Reference |
| CLI & Package |
bin, ESM, dts, external, release |
best-practices-cli |
1---2name: arch-tsdown-cli3description: TypeScript CLI starter using tsdown. Use when scaffolding or maintaining an npm CLI package with tsdown, pnpm, Vitest, and npm Trusted Publisher.4---5
6arch-tsdown-cli is a TypeScript **CLI package** starter (based on hairyf/starter-cli) that uses **tsdown** for building. It provides a minimal, opinionated setup: dual surface (library + bin), ESM-only output, automatic `.d.ts` generation, dev bin via tsx, pnpm, Vitest, ESLint, and optional npm Trusted Publisher for CI-based releases.
7
8> The skill is based on starter-cli (arch-tsdown-cli source), generated at 2026-01-30.
9
10**Recommended practices:**
11- Use dev bin (tsx) locally and prod bin (dist) in publishConfig
12- Build pure ESM; enable `dts` and keep `external` for dependencies
13- Use npm Trusted Publisher for releases
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| Bin Entry | dev vs prod bin, shebang, tsx | [core-bin-entry](references/core-bin-entry.md) |
21| tsdown Config | entry, format, dts, external | [core-tsdown-config](references/core-tsdown-config.md) |
22| Scripts & Release | build, dev, start, release, npm Trusted Publisher | [core-scripts](references/core-scripts.md) |
23| Package Exports | dist, bin, publishConfig, files | [core-package-exports](references/core-package-exports.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| Testing | Vitest, vitest-package-exports | [core-testing](references/core-testing.md) |
28
29## Best Practices
30
31| Topic | Description | Reference |
32|-------|-------------|-----------|
33| CLI & Package | bin, ESM, dts, external, release | [best-practices-cli](references/best-practices-cli.md) |