SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 10-16 07:22

技能介绍

用途:在开始与当前工作区隔离的功能开发,或在执行实现计划之前,确保存在一个隔离的工作区。核心原则是先检测现有隔离,再优先使用平台原生工具,最后才回退到手动 git worktree,绝不与 harness 对抗。

主要能力与使用方式:

  1. 步骤0检测现有隔离。通过 git rev-parse --git-dir 与 --git-common-dir 判断是否已在 linked worktree;用 git rev-parse --show-superproject-working-tree 排除 submodule 误判。若已在隔离区则跳过创建;若在普通仓库,先确认用户是否有 worktree 偏好,无偏好则先征求同意。
  2. 步骤1创建隔离区。首选原生工具(如 EnterWorktree、WorktreeCreate、/worktree 或 --worktree 标志);仅在无原生工具时回退到 git worktree add。目录优先级为明确 instructions > 项目本地 .worktrees/ 或 worktrees/ > 默认 .worktrees/,两者同时存在时 .worktrees/ 优先。项目本地目录创建前必须用 git check-ignore 验证已忽略,未忽略则加入 .gitignore 并提交。
  3. 步骤2项目设置。自动检测并运行 npm install、cargo build、pip install、poetry install、go mod download 等。
  4. 步骤3验证基线干净。运行对应测试命令(如 npm test、cargo test、pytest、go test ./...),失败则报告并询问,通过则报告就绪。

适用场景:需要隔离工作区的技能,如 brainstorming(阶段4)、subagent-driven-development、executing-plans,以及工作完成后用 finishing-a-development-branch 清理。

限制与注意:不使用原生工具却直接用 git worktree add 会产生 harness 无法管理的“幻影状态”;沙盒权限错误时回退原地工作;基线测试失败需获明确许可再继续;无 package.json/Cargo.toml 等则跳过依赖安装。