关于 arch-tsdown-monorepo
这项技能介绍一个用于 TypeScript 库的 pnpm monorepo 起始模板,采用 tsdown 构建并提供共享开发工具。文档涵盖工作区结构、测试、CI、包导出和发布实践。
主要功能
- 01使用 pnpm catalogs 和工作区依赖
- 02通过 tsdown 构建各个包
- 03共享 ESLint、Vitest 和 TypeScript 工具
- 04说明 CI 与发布工作流
- 05包含包导出快照和新增包指南
适用场景
- 01启动 TypeScript 库 monorepo
- 02向 pnpm 工作区添加包
- 03设置共享测试和类型检查
- 04准备基于 CI 的 npm 发布
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill arch-tsdown-monorepo安装后在 Claude Code 中输入/arch-tsdown-monorepo确认已加载。
包含的文件
除 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.md详细介绍
arch-tsdown-monorepo 是面向 TypeScript 库的 pnpm monorepo 起步模板(基于 hairyf/starter-monorepo)。每个包使用 tsdown 进行构建。它提供共享工具链(ESLint、Vitest、TypeScript)、用于版本管理的 pnpm catalog、工作区依赖,以及可选的 npm Trusted Publisher 用于基于 CI 的发布。
该技能基于 hairyf/starter-monorepo,生成于 2026-02-02。
推荐实践:
- 使用 pnpm catalog 管理 devDependency 版本;通过
catalog:cli、catalog:testing等引用。 - 包之间的依赖使用
workspace:*;先手动发布一次,然后使用 npm Trusted Publisher 进行 CI 发布。 - 在根目录使用
pnpm -r run ...运行 build/typecheck/test,并使用单一的 Vitest 配置配合 projects(根目录 + packages/*)。
核心参考
| 主题 | 描述 | 参考 |
|---|---|---|
| 概述 | Monorepo 的用途、结构、适用场景 | core-overview |
| 工作区 | pnpm workspace、catalog、workspace:* 依赖 | core-workspace |
| 包 | 包布局、导出、包之间的依赖 | core-packages |
| 包导出 | 双重导出(开发 vs 发布)、main/module/types、files、sideEffects | core-package-exports |
| tsdown(按包) | entry、dts、exports、publint | core-tsdown-per-package |
| 脚本 | 根目录和包的脚本 —— build、dev、typecheck、test、release | core-scripts |
| 测试 | Vitest projects —— 根目录 + packages/* | core-testing |
| 工具链 | ESLint、TypeScript、.gitignore、.vscode | core-tooling |
| CI | GitHub Actions —— lint、typecheck、测试矩阵 | core-ci |
| 发布 | npm Trusted Publisher、bumpp、发布工作流 | core-release |
| Git 钩子 | simple-git-hooks、lint-staged、pre-commit | core-git-hooks |
特性
| 主题 | 描述 | 参考 |
|---|---|---|
| 导出快照 | 按包的导出快照测试(vitest-package-exports、runIf(IS_READY)) | features-exports-snapshot |
| 添加包 | 逐步添加新的工作区包 | features-add-package |
最佳实践
| 主题 | 描述 | 参考 |
|---|---|---|
| Monorepo | Catalog、工作区依赖、发布、构建顺序 | best-practices-monorepo |
评论
支持 Markdown