用途:在开始需要与当前工作区隔离的功能开发前,或执行实施计划前,创建隔离的 git worktree。核心原则是系统化的目录选择加安全校验,以获得可靠的隔离。使用时会声明正在使用该技能设置隔离工作区。
目录选择:按优先级依次检查现有目录 .worktrees(首选,隐藏)和 worktrees(备选),两者都存在时使用 .worktrees;再检查 CLAUDE.md 中是否有 worktree 目录偏好(grep -i "worktree.*director" CLAUDE.md),有则直接使用;都没有则询问用户,选项为项目内隐藏目录 .worktrees/ 或全局位置 ~/.config/petropowers/worktrees/<project-name>/。
安全校验:对项目内目录(.worktrees 或 worktrees),创建前必须用 git check-ignore -q 等命令确认目录已被忽略(尊重本地、全局和系统 gitignore);若未被忽略,则添加到 .gitignore、提交该变更后再创建。原因在于防止意外把 worktree 内容提交到仓库。全局目录位于项目之外,无需校验 gitignore。
创建步骤:检测项目名(git rev-parse --show-toplevel 的 basename);按位置确定完整路径;用 git worktree add "$path" -b "$BRANCH_NAME" 新建分支并创建 worktree,再 cd 进入;自动检测并运行项目设置(package.json 用 npm install,Cargo.toml 用 cargo build,requirements.txt 用 pip install -r,pyproject.toml 用 poetry install,go.mod 用 go mod download);运行测试确认干净基线(如 npm test、cargo test、pytest、go test ./...),测试失败则报告并询问是否继续或调查,通过则报告就绪;最后报告路径、测试结果与可实施的功能名。
常见错误:跳过忽略校验会导致 worktree 内容被跟踪、污染 git status;假设目录位置会造成不一致;在测试失败时继续会无法区分新 bug 与既有问题;硬编码设置命令在不同工具的项目上会失效。
限制:仅涉及 git worktree 的创建与准备流程,未提供具体平台支持、收费、价格或效果等信息。