SuperAPI AI 工具集

using-git-worktrees

通用与其它

查看项目

更新于 10-16 01:49

技能介绍

用途:在开始需要与当前工作区隔离的功能开发(feature work)或执行实施计划前,创建隔离的 Git worktree,使多个分支可同时工作而无需切换。核心原则是“系统性目录选择 + 安全验证 = 可靠隔离”,开始时需声明“I'm using the using-git-worktrees skill to set up an isolated workspace.”

主要能力:

  1. 目录选择按优先级:先检查已存在的 .worktrees(首选,隐藏)或 worktrees;若两者都存在,.worktrees 优先。若找到则直接使用。
  2. 若未找到,检查 CLAUDE.md:grep -i "worktree.*director" CLAUDE.md 2>/dev/null,若指定偏好则无需询问直接使用。
  3. 若均无,则询问用户在 .worktrees/(项目本地、隐藏)与 ~/.config/superpowers/worktrees/<project-name>/(全局位置)之间选择。

安全验证:对项目本地目录(.worktrees 或 worktrees),创建前必须验证已被忽略:git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null。若未被忽略,按“立即修复损坏之处”原则向 .gitignore 添加相应行、提交改动,然后继续创建。全局目录无需 .gitignore 验证。

创建步骤:检测项目名 project=$(basename "$(git rev-parse --show-toplevel)");按位置确定路径并执行 git worktree add "$path" -b "$BRANCH_NAME",随后 cd "$path";自动检测项目并运行安装:有 package.json 则 npm install,有 Cargo.toml 则 cargo build,有 requirements.txt 则 pip install -r requirements.txt,有 pyproject.toml 则 poetry install,有 go.mod 则 go mod download;运行测试确保干净基线(如 npm test、cargo test、pytest、go test ./...);若测试失败则报告失败并询问是否继续或调查,若通过则报告就绪;最后报告位置、测试通过与待实施功能。

适用场景:需要隔离工作区的功能开发、执行实施计划、子代理驱动开发等。与 finishing-a-development-branch 配合用于完成后清理;与 executing-plans 或 subagent-driven-development 配合。

限制与常见错误:不得跳过忽略验证、假设目录位置、在测试失败时未经许可继续、硬编码安装命令。目录优先级为已有 > CLAUDE.md > 询问;项目本地必须验证被忽略;自动检测并运行安装;验证干净测试基线。资料未提供其他平台或价格等信息。