用途:这是一个供 AI 在执行时读取的参考,目标是让 AI 在包含多个包的仓库中正确检测并导航 monorepo,避免把根目录当作唯一 package.json,或误在根上运行安装、测试、构建命令。
主要能力:检测常见 monorepo 标记,包括 pnpm-workspace.yaml、turbo.json、nx.json、lerna.json、含 workspaces 字段的 package.json、含 [workspace] 的 Cargo.toml、go.work,以及带 Poetry/uv 工作区配置的 pyproject.toml。检测到后进入 monorepo 模式并记录到工作流状态。
关键规则:操作前先确认目标包及其完整路径 packages/<name>/,使用作用域命令而非根命令,例如 pnpm --filter <name> test。跨包改动需协调:用 grep -r "@your-org/package-a" packages/ 找出所有使用方,在同一 PR 中更新并测试所有受影响包。依赖放置:单包使用放该包 package.json,两个及以上包共用放共享配置包或根 devDependencies,开发工具放根,工作区包在消费方以 workspace:* 声明。构建顺序应遵循依赖图,可查看 turbo.json 的 pipeline、nx graph、pnpm list --recursive --depth=0。测试与 CI 应作用域化,文中给出 turbo test --filter=[HEAD^1]、nx affected:test、pnpm --filter='...[HEAD^1]' test 等示例。
常见陷阱:node_modules 提升导致隐式依赖;TypeScript project references 需运行 tsc --build;Jest/Vitest 根配置可能不加载各包配置;CI 全量跑浪费资源;npm 7+ 和 pnpm 使用单一根 lockfile,不要提交各包 lockfile。
限制:资料未提供安装命令、收费价格、平台支持、效果数据与详细使用步骤,这些均暂未提供。该技能为 AI 消费的参考,偏操作规则而非用户界面工具。