
arch-tsdown-monorepo
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.
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.
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 |
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