pnpm monorepo starter for TypeScript libraries with tsdown per package. Use when scaffolding or maintaining a multi-package TS/ESM repo with workspace deps and npm Trusted Publisher.
Install
npx skills add https://github.com/hairyf/skills --skill arch-tsdown-monorepoSKILL.md
arch-tsdown-monorepo is a pnpm monorepo starter for TypeScript libraries (based on hairyf/starter-monorepo). Each package uses tsdown for building. It provides shared tooling (ESLint, Vitest, TypeScript), pnpm catalogs for versions, workspace dependencies, and optional npm Trusted Publisher for CI-based releases.
The skill is based on hairyf/starter-monorepo, generated at 2026-02-02.
Recommended practices:
- Use pnpm catalogs for devDependency versions; reference with
catalog:cli,catalog:testing, etc. - Use
workspace:*for inter-package dependencies; publish once manually, then use npm Trusted Publisher for CI releases. - Run build/typecheck/test from root with
pnpm -r run ...and a single Vitest config with projects (root + packages/*).
Core References
| Topic | Description | Reference |
|---|---|---|
| Overview | Monorepo purpose, structure, when to use | core-overview |
| Workspace | pnpm workspace, catalogs, workspace:* deps | core-workspace |
| Packages | Package layout, exports, inter-package deps | core-packages |
| Package Exports | Dual exports (dev vs publish), main/module/types, files, sideEffects | core-package-exports |
| tsdown (per package) | entry, dts, exports, publint | core-tsdown-per-package |
| Scripts | Root and package scripts — build, dev, typecheck, test, release | core-scripts |
| Testing | Vitest projects — root + packages/* | core-testing |
| Tooling | ESLint, TypeScript, .gitignore, .vscode | core-tooling |
| CI | GitHub Actions — lint, typecheck, test matrix | core-ci |
| Release | npm Trusted Publisher, bumpp, release workflow | core-release |
| Git Hooks | simple-git-hooks, lint-staged, pre-commit | core-git-hooks |
Features
| Topic | Description | Reference |
|---|---|---|
| Exports Snapshot | Per-package export snapshot tests (vitest-package-exports, runIf(IS_READY)) | features-exports-snapshot |
| Add Package | Step-by-step adding a new workspace package | features-add-package |
Best Practices
| Topic | Description | Reference |
|---|---|---|
| Monorepo | Catalogs, workspace deps, release, build order | best-practices-monorepo |
Related skills
setup-matt-pocock-skillsmattpocock905KConfigure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.hyperframes-cliheygen-com714KUse the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, timeline, history, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers loimplementmattpocock627KImplement a piece of work based on a spec or set of tickets.ask-mattmattpocock626KAsk which skill or flow fits your situation. A router over the skills in this repo.
