SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 11-02 00:33

技能介绍

该技能围绕 Git worktrees 提供系统化的隔离工作区创建流程,核心原则是“系统化目录选择 + 安全验证 = 可靠隔离”。它会在开始时声明正在使用该技能。

使用方式:首先按优先级选择目录:检查项目内是否存在 .worktrees(首选隐藏目录)或 worktrees;若存在则使用,两者同时存在时 .worktrees 优先。然后检查 CLAUDE.md 中是否有 worktree 目录偏好,有则直接采用。若都没有,则询问用户选择项目本地隐藏目录 .worktrees 或全局位置 ~/.config/rubypowers/worktrees/<项目名>/。

安全验证:对于项目本地目录,必须通过 git check-ignore 确认已被忽略;若未忽略,则添加对应行到 .gitignore 并提交,然后继续创建,以防止工作区内容被误提交。全局目录无需 .gitignore 验证。

创建步骤:先检测项目名,然后使用 git worktree add "$path" -b "$BRANCH_NAME" 创建带新分支的工作区并进入。接着自动检测项目类型并运行相应设置:Ruby on Rails 执行 bundle install;Rails + SQLite 项目会委托 using-sqlite-worktrees 技能从主工作区填充开发数据库,随后运行 bin/rails db:test:prepare;Node.js 执行 npm install;Rust 执行 cargo build;Python 按 requirements.txt 或 pyproject.toml 安装;Go 执行 go mod download。

基线验证:运行项目对应测试命令(如 bin/rails test、npm test、cargo test、pytest、go test ./...)。若测试失败,报告失败并询问是否继续或排查;若通过,则报告工作区路径、测试通过数量及准备就绪。

适用场景:开始需要与当前工作区隔离的功能开发,或在执行实现计划前准备干净环境。该技能被 brainstorming(设计批准后)、subagent-driven-development 和 executing-plans 等流程要求使用,并与 finishing-a-development-branch(清理)和 using-sqlite-worktrees(Rails + SQLite 委托)配合。

限制与注意事项:禁止跳过忽略验证、跳过基线测试、在测试失败时未经询问继续、在目录不明确时自行假设或跳过 CLAUDE.md 检查。若 using-sqlite-worktrees 失败,应停止设置、跳过测试并报告“DB setup incomplete”。