SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 10-16 02:36

技能介绍

用途:该技能用于在共享同一仓库的前提下创建隔离的工作区,使多个分支可以并行开发而无需频繁切换,强调“系统化目录选择 + 安全校验 = 可靠隔离”。

主要能力:

  1. 目录选择按优先级进行:先检查 .worktrees(隐藏,首选)是否存在,再检查 worktrees;若存在则使用,若两者都存在则优先 .worktrees。
  2. 检查 CLAUDE.md 中是否已有 worktree 目录偏好(grep -i "worktree.*director" CLAUDE.md),有则直接使用而不再询问。
  3. 若既无目录也无偏好,则询问用户选择 .worktrees/ 项目本地隐藏目录,或 ~/.config/claude/worktrees/<项目名>/ 全局位置。
  4. 安全校验:对项目本地目录必须先确认已被 git 忽略,使用 git check-ignore -q .worktrees 或 git check-ignore -q worktrees 检测;若未忽略,则添加到 .gitignore 并提交。
  5. 创建步骤:检测项目名、确定完整路径、用 git worktree add "$path" -b "$BRANCH_NAME" 创建并进入、自动检测并运行项目安装命令(如 npm install、cargo build、pip install -r requirements.txt、poetry install、go mod download),再运行项目对应测试(如 npm test、cargo test、pytest、go test ./...)验证干净基线,最后报告路径与测试通过情况。

使用方式:在开始工作时声明“正在使用 using-git-worktrees 技能设置隔离工作区”,按上述优先级执行。命令保持原样,避免硬编码设置命令,应从项目文件自动检测。

限制与注意:

  • 绝不在未验证目录已被忽略的情况下创建项目本地 worktree。
  • 绝不在工作区有未提交更改(dirty)时创建 worktree,应先 stash 或 commit。
  • 若基线测试失败,应报告并征询是否继续,而非直接推进。
  • 删除 worktree 前须检查未提交更改并获用户确认;删除后应执行 git worktree prune 清理陈旧元数据。
  • 全局目录因位于项目之外,无需 .gitignore 校验。
  • 该技能要求遵循记忆协议:开始前读 .claude/context/memory/learnings.md,完成后将新模式、问题、决策分别写入 memory 相应文件。

适用场景:需要隔离工作区并行开发分支、由头脑风暴阶段获批后进入实现、需要与 finishing-a-development-branch 或执行计划类技能配合时。

暂未提供关于收费、平台支持范围、具体性能指标等信息。