TypeScript CLI starter using tsdown. Use when scaffolding or maintaining an npm CLI package with tsdown, pnpm, Vitest, and npm Trusted Publisher.
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
dtsand keepexternalfor 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 |
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