用途:在开始需要与当前工作区隔离的功能开发,或执行实现计划之前,创建隔离的 Git worktree 工作区。Git worktree 共享同一仓库,可同时处理多个分支而无需切换。核心原则是系统化目录选择加安全校验,等于可靠的隔离。开始时需声明正在使用该技能设置隔离工作区。
目录选择按优先级进行:先检查已有目录,依次执行 ls -d .worktrees 2>/dev/null 和 ls -d worktrees 2>/dev/null,若两者都存在则 .worktrees 优先;再检查 CLAUDE.md,执行 grep -i "worktree.*director" CLAUDE.md 2>/dev/null,若已指定偏好则直接使用;若都不存在则询问用户,在项目内隐藏目录 .worktrees/ 与全局位置 ~/worktrees/<project-name>/ 之间选择。
安全校验:对项目内目录,创建前必须确认其已被忽略,执行 git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null;若未被忽略,需向 .gitignore 添加相应行并提交,再继续创建,以防 worktree 内容被误提交。全局目录在项目之外,无需校验。
创建步骤:检测项目名 project=$(basename "$(git rev-parse --show-toplevel)");确定完整路径后执行 git worktree add "$path" -b "$BRANCH_NAME" 并 cd 进入;自动检测并运行项目初始化,如 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 ./...,测试失败则报告并询问是否继续或排查,通过则报告就绪;最后报告位置、测试结果与可开始实现的功能。
限制与红线:不得在未验证项目内目录被忽略时创建 worktree;不得跳过基线测试验证;不得在测试失败时未经询问继续;不得在目录位置不明确时自行假设;不得跳过 CLAUDE.md 检查。始终遵循已有目录优先于 CLAUDE.md 优先于询问的顺序。