Monorepo 架构师
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/monorepo-architect。
技能介绍
什么时候会用到它
多仓库(polyrepo)里重复拷贝工具链、版本漂移和跨项目改依赖,往往把 CI 时间拖长;团队扩大后,「改一个包要跑全量构建」也会变成常态。本技能面向从零搭 monorepo、从 polyrepo 迁移、共享库抽取和依赖图 / 受影响构建这类工程问题,而不是泛泛的「写点脚本」。
技能如何帮你推进
它把 monorepo 当成「工作区结构 + 构建系统 + 依赖边界」三件事一起设计,核心能力包括:
- 工具选型:在
Nx、Turborepo、Bazel、Lerna之间按规模与约束做取舍 - 工作区与项目结构:项目边界、命名约定、库与应用分层
- 构建缓存:本地与远程缓存策略,以及 CI 上的远程缓存接入
- 依赖与变更检测:依赖图管理、受影响 / 变更检测,减少无效 CI 任务
- 任务编排:并行化与流水线落地
推荐工作流大致是:评估代码库与团队结构 → 选工具 → 设计工作区 → 配置缓存与 affected 检测 → 落地任务流水线 → 在 CI 配远程缓存 → 把约定写进文档(边界、所有权、依赖规则)。详细示例见资料中的 resources/implementation-playbook.md。
适用边界
任务与 monorepo 架构无关,或需要本范围外的其他领域 / 工具时,不应硬套本技能。使用时宜先明确目标、约束与输入,再按步骤验证(构建是否命中缓存、affected 是否准确、共享库是否边界清晰)。
使用场景
- 公司多个前端应用重复配置 ESLint 与打包脚本,需要抽成共享包并统一工作区结构
- CI 在任意 PR 上全量构建二十余个包,希望通过 affected 检测只跑变更相关任务
- 计划从十余个独立 Git 仓库合并为一个仓库,需要选型 Nx 或 Turborepo 并设计迁移步骤
- 多个微前端或 Node 服务共用内部 SDK,需要在 monorepo 里用标签约束谁可以依赖谁
适合人员
- 负责前端平台化、要在单仓里托管多应用与共享组件库的技术负责人
- 维护 polyrepo 的 DevOps,希望接入远程构建缓存并缩短主干流水线时间
- 架构师评估 Bazel 与 Nx 在大型 TypeScript 代码库上的构建与缓存方案
- 从多仓库刚合并代码的工程师,需要按 playbook 配置工作区、任务编排与 CI 约定