Turborepo 构建缓存
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/turborepo-caching。
技能介绍
问题背景
Monorepo 里包与任务一多,本地和 CI 上的重复构建会拖慢反馈;缓存键配错还会导致「明明没改代码却一直 miss」。Turborepo 用任务图和可声明的 inputs/outputs 做增量构建,但 turbo.json、远程缓存和 CI 过滤若没对齐,团队很难稳定复现「只构建受影响包」的行为。
技能在做什么
本技能围绕 Turborepo 缓存 的生产级用法,而不是泛泛介绍 monorepo 工具。它会帮你先厘清目标、约束和输入,再按最佳实践落地并给出可验证步骤;细节示例指向 resources/implementation-playbook.md。
核心概念包括:
- 流水线字段:
dependsOn(前置任务)、cache、outputs、inputs、persistent(如 dev server) - 配置模板:根级
turbo.json、包级 pipeline、Vercel 远程缓存、自托管远程缓存、过滤与范围限定、高级 pipeline、根package.json协作 - 调试缓存未命中 与 最佳实践(显式
inputs、workspace 协议、CI 过滤、缓存构建产物而非源码等)
适用边界
- 不适用:任务与 Turborepo 缓存无关,或需要本技能范围外的其他领域/工具时。
- 该做:启用远程缓存、在 CI 中过滤受影响包、用 workspace 协议(如
"@myorg/ui": "workspace:*")。 - 不该做:缓存开发服务器(应对
persistent: true)、在 env 里塞密钥、忽略dependsOn、过度过滤导致漏依赖。
使用场景
- 新建 Turborepo monorepo 时,需要把各包的 `turbo.json` pipeline 与 `dependsOn` 一次性配齐
- CI 里每次全量构建太慢,要在流水线里启用远程缓存并只构建受 filter 影响的包
- 从 Lerna/Nx 等工具迁到 Turborepo,需要对照现有任务图重写缓存 inputs 与 outputs
- 本地与 CI 缓存行为不一致,需要按文档步骤排查 cache miss 并调整 env 与 inputs
适合人员
- 维护公司前端 monorepo、需要在 MR 里把构建时间压到可接受范围的平台工程师
- 负责自托管或 Vercel 远程缓存接入,要在团队内统一本地与 CI 缓存键的 DevOps
- 从其他 monorepo 方案接手 Turborepo 仓库、要重写 pipeline 而不破坏包依赖顺序的 Tech Lead
- 调试「改了无关文件却整库重建」问题、需要理解 `inputs`/`outputs` 与 workspace 协议的资深开发者