简介
Turborepo 是一个已通过 GitHub 仓库验证的现代 AI / 开发者工具,来源 vercel/turborepo,当前星标快照 30,369,许可证 MIT。适合:多个 package 的 lint、test、build 在本地和 CI 重复浪费时间的 JS / TS monorepo。兼容:package manager、turbo.json、Next.js、pnpm/npm/yarn workspace、Vercel Remote Cache。装机时间:10 minutes。当你需要的是可重复落地路径,而不是一次性 shell 片段时,用它。
操作模式
适配检查
| 问题 | 实用答案 |
|---|---|
| 安装什么? | 来自 vercel/turborepo 的 turbo |
| 第一条命令? | npx turbo run build test lint |
| 如何证明可用? | npx turbo run build test lint --cache-dir=.turbo |
| 小范围试点多久? | 小仓库或 sandbox 约 10 minutes |
接入循环
- 先在一次性分支或 sandbox 项目里跑。
- 记录 before / after 输出,让 reviewer 看见实际影响。
- 加最小的 CI 或本地检查,防止同类问题回归。
- 在仓库文档里写清 owner、升级命令和回滚命令。
推荐用法
在 turbo.json 里声明任务依赖,然后让每个 package 暴露一致脚本名。只有任务边界稳定,缓存才真正有收益。
风险边界
不要用缓存掩盖 flaky tests。信任远程缓存前,先复现一次干净的 no-cache CI。
推广检查表
- 进入 CI 前固定包版本或 release 版本。
- 凭据放进环境变量或平台 secret store。
- 指定一个 owner 负责升级和 breaking change 分流。
- 文档里写 API 或安装路径前,重新核验 GitHub 仓库。
FAQ
Q: 能直接上生产吗?
A: 仓库已验证存在:https://github.com/vercel/turborepo,GitHub 星标 30,369。第一次上线仍建议控制试点,先验证安装、回滚和 CI 行为。
Q: 为什么不用普通脚本? A: 价值在可重复:有命名包、文档化命令、源仓库和可被团队 review 的最小验证路径。
Q: 第一步应该量什么? A: 先量装机时间是否接近 10 minutes,它改了多少文件或任务,以及 CI 命令是否能在本地抓到同类问题。