arch-tsdown-monorepo

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
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/*).
arch-tsdown-monorepo 是一个适用于TypeScript库的pnpm monorepo启动模板(基于hairyf/starter-monorepo)。每个包使用tsdown进行构建。它提供共享工具链(ESLint、Vitest、TypeScript)、用于版本管理的pnpm catalogs工作区依赖,以及可选的npm Trusted Publisher用于基于CI的发布。
本模板基于hairyf/starter-monorepo生成,生成时间为2026-02-02。
推荐实践:
  • 使用pnpm catalogs管理devDependency版本;通过
    catalog:cli
    catalog:testing
    等方式引用。
  • 包间依赖使用
    workspace:*
    ;先手动发布一次,之后使用npm Trusted Publisher进行CI自动发布。
  • 在根目录通过
    pnpm -r run ...
    执行构建/类型检查/测试命令,使用单个包含根项目和所有packages/*的Vitest配置文件。

Core References

核心参考

TopicDescriptionReference
OverviewMonorepo purpose, structure, when to usecore-overview
Workspacepnpm workspace, catalogs, workspace:* depscore-workspace
PackagesPackage layout, exports, inter-package depscore-packages
Package ExportsDual exports (dev vs publish), main/module/types, files, sideEffectscore-package-exports
tsdown (per package)entry, dts, exports, publintcore-tsdown-per-package
ScriptsRoot and package scripts — build, dev, typecheck, test, releasecore-scripts
TestingVitest projects — root + packages/*core-testing
ToolingESLint, TypeScript, .gitignore, .vscodecore-tooling
CIGitHub Actions — lint, typecheck, test matrixcore-ci
Releasenpm Trusted Publisher, bumpp, release workflowcore-release
Git Hookssimple-git-hooks, lint-staged, pre-commitcore-git-hooks
主题描述参考链接
概述Monorepo的用途、结构、适用场景core-overview
工作区pnpm工作区、catalogs、workspace:*依赖core-workspace
包布局、导出配置、包间依赖core-packages
包导出双模式导出(开发 vs 发布)、main/module/types字段、文件配置、sideEffectscore-package-exports
tsdown(每个包)入口文件、dts、导出配置、publintcore-tsdown-per-package
脚本根目录和包级脚本 —— 构建、开发、类型检查、测试、发布core-scripts
测试Vitest项目配置 —— 根项目 + packages/*core-testing
工具链ESLint、TypeScript、.gitignore、.vscode配置core-tooling
CIGitHub Actions —— 代码检查、类型检查、测试矩阵core-ci
发布npm Trusted Publisher、bumpp、发布工作流core-release
Git钩子simple-git-hooks、lint-staged、pre-commitcore-git-hooks

Features

功能特性

TopicDescriptionReference
Exports SnapshotPer-package export snapshot tests (vitest-package-exports, runIf(IS_READY))features-exports-snapshot
Add PackageStep-by-step adding a new workspace packagefeatures-add-package
主题描述参考链接
导出快照每个包的导出快照测试(vitest-package-exports、runIf(IS_READY))features-exports-snapshot
添加包逐步添加新工作区包的指南features-add-package

Best Practices

最佳实践

TopicDescriptionReference
MonorepoCatalogs, workspace deps, release, build orderbest-practices-monorepo
主题描述参考链接
MonorepoCatalogs、工作区依赖、发布、构建顺序best-practices-monorepo