用途:在开始需要与当前工作区隔离的功能开发、或执行实现计划之前,先检测是否已处于隔离工作区,再创建隔离工作区,并完成项目初始化与基线测试验证。核心原则:先检测现有隔离,再用原生工具,最后才回退到 git。开始时需声明“I'm using the using-git-worktrees skill to set up an isolated workspace.”。
主要能力与用法:
- 检测现有隔离(Step 0)。用 GIT_DIR、GIT_COMMON 与当前分支判断是否已在链接 worktree;注意子模块中 GIT_DIR != GIT_COMMON 也成立,需用 git rev-parse --show-superproject-working-tree 排除子模块。若已在 worktree 则跳到 Step 2,不再新建;若在普通仓库,且用户未给出偏好,须先征得同意再创建。
- 创建工作区(Step 1)。优先使用原生 worktree 工具(如 EnterWorktree、WorktreeCreate、/worktree、--worktree),由原生工具处理目录、分支与清理;仅当没有原生工具时回退到 git worktree add "$path" -b "$BRANCH_NAME"。目录选择优先级:用户明确偏好 > 项目本地已有目录(.worktrees 优先于 worktrees)> 默认项目根下的 .worktrees/。创建前必须用 git check-ignore -q 验证目录已被忽略,否则加入 .gitignore 并提交。若因沙箱权限失败,则告知用户并在当前目录就地工作。
- 项目初始化(Step 2)。自动检测并运行:package.json 时 npm install;Cargo.toml 时 cargo build;requirements.txt 时 pip install -r requirements.txt;pyproject.toml 时 poetry install;go.mod 时 go mod download。
- 验证干净基线(Step 3)。运行项目对应测试(如 npm test、cargo test、pytest、go test ./...);失败则报告并询问是否继续或排查,通过则报告就绪。
适用场景:需要与当前分支隔离的功能开发或实现计划执行。
限制与缺失:未提供具体平台原生工具名称、版本兼容性与额外配置;创建目录的完整分支命名规则、清理流程细节及更多命令示例暂未提供。资料明确要求不得用 git worktree add 绕过原生工具,否则会产生工具无法管理的幽灵状态。