关于 monorepo-management
用于构建和管理多包单体仓库的 Skill,涵盖构建效率、依赖管理和部署协调。提供 npm workspaces、Lerna、Turborepo 和 Nx 的配置与工作流指南。
主要功能
- 01工作区与目录结构指南
- 02跨包依赖管理
- 03Lerna、Turborepo 和 Nx 配置
- 04CI/CD 与构建缓存指南
- 05包版本管理
适用场景
- 01组织多包项目
- 02在多个服务间共享库
- 03管理工作区依赖
- 04仅构建受更改影响的包
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill monorepo-management安装后在 Claude Code 中输入/monorepo-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/cicd-for-monorepo.mdlerna-commands.mdmonorepo-directory-structure.mdnpm-workspaces-configuration.mdturborepo-commands.mdversion-management-across-packages.mdworkspace-dependencies.mdscripts/validate-pipeline.shtemplates/pipeline.yaml详细介绍
Monorepo 管理
目录
概述
建立可扩展的 Monorepo 结构,以支持多个相互依赖的包,同时保持构建效率、依赖管理和部署协调。
适用场景
- 多包项目
- 多个服务间的共享库
- 微服务架构
- 基于插件的系统
- 多应用平台(Web + 移动端)
- 工作区依赖管理
- 规模化团队开发
快速开始
最小可运行示例:
{
"name": "monorepo-root",
"version": "1.0.0",
"private": true,
"workspaces": ["packages/*", "apps/*"],
"devDependencies": {
"lerna": "^7.0.0",
"turbo": "^1.10.0"
},
"scripts": {
"lint": "npm run lint -r",
"test": "npm run test -r",
"build": "npm run build -r",
"clean": "npm run clean -r"
}
}
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Npm Workspaces 配置 | Npm Workspaces 配置、Lerna 配置、Turborepo 配置、Nx Workspace 配置 |
| Monorepo 目录结构 | Monorepo 目录结构 |
| 工作区依赖 | 工作区依赖 |
| Lerna 命令 | Lerna 命令 |
| Turborepo 命令 | Turborepo 命令 |
| Monorepo 的 CI/CD | Monorepo 的 CI/CD |
| 跨包版本管理 | 跨包版本管理 |
最佳实践
✅ 应该
- 使用工作区协议管理依赖
- 使用共享的 tsconfig 以保持一致性
- 在 CI/CD 中缓存构建产物
- 在 CI 中筛选包,避免不必要的构建
- 提升常用依赖
- 记录工作区结构
- 使用一致的版本策略
- 在整个工作区中配置提交前钩子
- 测试跨包依赖
- 在适当情况下独立管理包版本
❌ 不应该
- 创建循环依赖
- 为工作区包使用硬编码版本
- 只修改一个包时仍构建所有包
- 忘记更新锁文件
- 忽视工作区边界
- 创建紧密耦合的包
- 跳过依赖管理
- 为不同的包使用不同的工具
评论
支持 Markdown