About arch-tsdown-monorepo
A skill describing a pnpm monorepo starter for TypeScript libraries, with tsdown builds and shared development tooling. It documents workspace structure, testing, CI, package exports, and release practices.
Key features
- 01Uses pnpm catalogs and workspace dependencies
- 02Builds packages with tsdown
- 03Shares ESLint, Vitest, and TypeScript tooling
- 04Documents CI and release workflows
- 05Includes package export snapshots and add-package guidance
Use cases
- 01Starting a TypeScript library monorepo
- 02Adding packages to a pnpm workspace
- 03Setting up shared tests and type checks
- 04Preparing CI-based npm releases
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ hairyf/ skills --skill arch-tsdown-monorepoAfter installing, type/arch-tsdown-monorepoin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
GENERATION.mdassets/ci.ymlrelease.ymlreferences/best-practices-monorepo.mdcore-ci.mdcore-git-hooks.mdcore-overview.mdcore-package-exports.mdcore-packages.mdcore-release.mdcore-scripts.mdcore-testing.mdcore-tooling.mdcore-tsdown-per-package.mdcore-workspace.mdfeatures-add-package.mdfeatures-exports-snapshot.mdDetails
From the project READMEarch-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 |