mcpField
M
monorepo-management

monorepo-management

github.com/aj-geddes开发375448 次安装35 周前更新
代码仓库

关于 monorepo-management

用于构建和管理多包单体仓库的 Skill,涵盖构建效率、依赖管理和部署协调。提供 npm workspaces、Lerna、Turborepo 和 Nx 的配置与工作流指南。

主要功能

  1. 01工作区与目录结构指南
  2. 02跨包依赖管理
  3. 03Lerna、Turborepo 和 Nx 配置
  4. 04CI/CD 与构建缓存指南
  5. 05包版本管理

适用场景

  1. 01组织多包项目
  2. 02在多个服务间共享库
  3. 03管理工作区依赖
  4. 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.md
lerna-commands.md
monorepo-directory-structure.md
npm-workspaces-configuration.md
turborepo-commands.md
version-management-across-packages.md
workspace-dependencies.md
scripts/
validate-pipeline.sh
templates/
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/CDMonorepo 的 CI/CD
跨包版本管理跨包版本管理

最佳实践

✅ 应该
  • 使用工作区协议管理依赖
  • 使用共享的 tsconfig 以保持一致性
  • 在 CI/CD 中缓存构建产物
  • 在 CI 中筛选包,避免不必要的构建
  • 提升常用依赖
  • 记录工作区结构
  • 使用一致的版本策略
  • 在整个工作区中配置提交前钩子
  • 测试跨包依赖
  • 在适当情况下独立管理包版本
❌ 不应该
  • 创建循环依赖
  • 为工作区包使用硬编码版本
  • 只修改一个包时仍构建所有包
  • 忘记更新锁文件
  • 忽视工作区边界
  • 创建紧密耦合的包
  • 跳过依赖管理
  • 为不同的包使用不同的工具

评论

支持 Markdown