using-git-worktrees · Git 工作区隔离

开始功能开发前搭好隔离工作区的 skill:先检测是否已在隔离环境(worktree/submodule 会区分),已有则跳过创建;优先使用平台原生 worktree 工具,无原生工具时走 git worktree 手动创建。
目录选择有优先级(用户指定 → 项目内 .worktrees/ → 默认 .worktrees/),项目内目录创建前必须校验已加入 .gitignore。搭好后按语言自动安装依赖并跑基线测试,脏基线先报告再决定是否继续。
调用示例:在聊天框中说"开一个隔离工作区,我要开始做登录功能"。
产品详解
定位
using-git-worktrees 是功能开发前的环境隔离器:确保实施工作发生在独立工作区,保护当前分支不受改动污染。它只搭环境、验基线,不写业务代码。
核心能力
- 先检测再创建:Step 0 用 git 命令判断是否已在 linked worktree(同时排除 submodule 误判);已在隔离环境则直接跳过创建。
- 原生工具优先:有平台原生 worktree 工具(EnterWorktree / /worktree 等)用原生工具;没有才走 git worktree 手动创建,避免产生宿主看不见的幽灵状态。
- 目录优先级:用户明确指定 > 项目内
.worktrees/(隐藏优先)>worktrees/> 默认项目根.worktrees/。 - 安全校验:项目内目录创建前必须
git check-ignore确认已被忽略,否则先加.gitignore并提交——防止把整个 worktree 误提交进仓库。 - 自动项目搭建:按语言自动安装依赖(Node.js / Rust / Python / Go)。
- 基线测试:搭建后跑测试确保起点干净;失败先报告,由用户决定是否继续。
工作流程
- 检测现有隔离(Step 0):是否已在 linked worktree;是则跳过创建
- 创建隔离工作区:用户确认(已声明偏好则免)→ 原生工具优先 → git worktree fallback(含 .gitignore 校验)
- 项目搭建:按语言自动安装依赖
- 基线测试:验证干净起点,报告
Worktree ready at <路径> / Tests passing (<N> tests, 0 failures)
输入与输出
| 输入 | 说明 |
|---|---|
| 功能名/分支名 | 用于命名工作区与分支 |
| 工作区目录偏好 | 可选;未指定时按优先级自动选择 |
输出:隔离工作区路径 + 基线测试结论(测试数与失败数)+ ready 报告。
与相邻 skill 的区别
- executing-plans:本 skill 只负责搭好隔离环境、验好基线;executing-plans 在这套隔离环境里执行实施计划。
适用场景
- 开始新功能开发前隔离当前工作区
- 执行实施计划前准备干净环境
- 需要并行开发多个分支时互不干扰
- 基线验证:确保后续测试失败可归因到自己的改动
使用前准备
- 无需 API key;需要 git 可用。
- 创建前会征求用户同意(已在指令中声明偏好则免)。
- 基线测试失败时先报告,由用户决定继续还是排查;沙箱拒绝创建时改用当前目录工作并说明。
using-git-worktrees 隶属于 Aiglade Skill 库。在 Aiglade 聊天框中用自然语言描述需求即可调用。