SuperAPI AI 工具集

turborepo

通用与其它

查看项目

更新于 10-15 23:31

技能介绍

用途:Turborepo 是 JavaScript/TypeScript monorepo 的构建系统,会缓存任务输出,并依据依赖图并行运行任务。本技能用于指导 turbo.json 配置、任务流水线、缓存、过滤与 CI 集成。

主要能力与规则:任务应定义在各包的 package.json 中,并在根 turbo.json 注册;根 package.json 只通过 turbo run <task> 委派,不应把任务逻辑放在根目录,否则会破坏并行化。写入代码或 CI 的命令应使用 turbo run,如 turbo run build --affected;简写 turbo <task> 仅用于人工或智能体在终端一次性输入。

常用配置:dependsOn 中 ^build 表示先构建依赖包,build(无 ^)表示先运行同包任务,pkg#task 指定某包任务。产出文件的任务需配置 outputs,如 Next.js 用 [".next/", "!.next/cache/"],Vite/Rollup 与 tsc 常用 ["dist/**"]。环境变量需列入 env 才会参与哈希;.env 文件变化需加入 inputs。

过滤与 CI:--affected 用于只运行变更包及其依赖方,可用 --affected-base 指定基线分支;--filter 支持按包名、目录、依赖或依赖方过滤。CI 可参考 GitHub Actions、Vercel 与远程缓存配置,turbo-ignore 可跳过无变更构建。

限制与注意:不要用 --parallel 绕过依赖图;不要用 && 串联 turbo 任务;避免在根 turbo.json 堆叠大量 package#task 覆盖,优先使用各包的 Package Configurations;inputs 中不要用 ../ 越出包目录,应使用 $TURBO_ROOT$;根目录 .env 属反模式,应放在需要的包内。资料未提供具体收费、价格与平台支持信息。