SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 10-16 08:48

技能介绍

用途:在开始需要与当前工作区隔离的功能开发,或执行实施计划前,确保存在一个独立的 Git 工作区。核心原则是先检测现有隔离,优先使用平台原生工具,最后才回退到 git 手动创建。

主要能力与流程:

  • 第 0 步检测现有隔离:通过 git rev-parse --git-dir 与 --git-common-dir 判断是否已在链接工作区中;需先用 git rev-parse --show-superproject-working-tree 排除子模块误判。若已在隔离工作区则跳过创建,并报告分支状态(在分支上或 detached HEAD)。若不在,需先征得用户同意再创建(已声明偏好则直接沿用)。
  • 第 1 步创建隔离工作区:优先使用原生工具(如 EnterWorktree、WorktreeCreate、/worktree 命令或 --worktree 标志),避免用 git worktree add 造成平台无法管理的状态。无原生工具时才用 git worktree add 回退。
  • 目录优先级:用户声明 > 项目内 .worktrees/ > worktrees/ > 全局 ~/.config/superpowers/worktrees/$project(兼容旧路径)> 默认项目根目录 .worktrees/。项目内目录必须先用 git check-ignore -q 验证已被忽略,否则加入 .gitignore 并提交。
  • 第 3 步项目初始化:按 package.json、Cargo.toml、requirements.txt、pyproject.toml、go.mod 自动执行 npm install、cargo build、pip install -r、poetry install 或 go mod download。
  • 第 4 步验证干净基线:运行项目相应测试命令(npm test / cargo test / pytest / go test ./...)。测试通过则报告就绪;失败则报告并询问是否继续。

限制与注意事项:沙箱阻止创建时回退到当前目录工作;无依赖清单文件则跳过安装;不得在已隔离时重复创建,不得跳过忽略验证与基线测试,测试失败时需获得明确许可才能继续。开始时应声明正在使用该技能。