mcpField
W
worktree

worktree

github.com/venhdevAgent 工作流1134 次安装今天更新
代码仓库

关于 worktree

worktree 是用于隔离分支工作会话的 Git worktree 管理技能,支持查看、创建、删除和清理 worktree,并设有路径、工作区洁净度及人工授权保护。

主要功能

  1. 01创建和查看 Git worktree
  2. 02删除 worktree 并清理元数据
  3. 03清理已 squash 合并的分支
  4. 04将 worktree 限定在 .agents/worktree/
  5. 05磁盘变更前要求授权

适用场景

  1. 01隔离分支上的工作
  2. 02查看活动 worktree 和分支
  3. 03安全删除洁净的 worktree

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/venhdev/zenforge --skill worktree

安装后在 Claude Code 中输入/worktree确认已加载。

附带文件scripts/prune-squashed.sh

详细介绍

worktree — 隔离会话与分支引擎

操作不变量

  • 路径隔离:所有分支编辑、Shell 命令和测试执行都必须严格限制在 .agents/worktree/<branch> 内;禁止在 worktree 会话中修改根仓库文件。
  • 脏工作树拦截:删除 worktree 前,通过 git status --porcelain 检查工作树是否干净;禁止删除包含未提交修改的 worktree。
  • 变更前置审批关卡:以规范变更集格式暂存 worktree 的创建或移除操作,并立即停止当前轮次;未经人工明确授权,禁止在磁盘上执行 worktree 变更。

领域规则

1. 命名与存储约定
  • <branch>:严格采用 <type>/<slug> 格式(feat/、fix/、refactor/、chore/、test/)。
  • <path>:专用路径,必须位于 .agents/worktree/<branch> 下。
  • 隐私保障:根目录的 .gitignore 必须包含 .agents/worktree/。
2. 支持的 Worktree 操作
  • [CREATE]:在目标路径创建并检出新的 worktree 分支。
  • [DELETE]:移除 worktree 目录并清理 Git 管理元数据。
  • [LIST]:检查活动 worktree 及其关联分支。
  • [PRUNE]:通过 scripts/prune-squashed.sh 安全清理已 squash 合并的分支。

规范输出约定

# Changeset: Git Worktree <Action>

`-- .agents/worktree/<branch>/
    `-- [<ACTION>] <Worktree operation summary>.

Summary: 1 worktree affected (<branch>).

执行协议

阶段 1:预检与冲突审计
  1. 对于创建操作:检查 git worktree list,并确认不存在分支或目录冲突。
  2. 对于删除操作:在目标 <path> 内检查 git status --porcelain。如果工作树有未提交修改,立即停止并报告未提交的文件。
  3. 对于列表操作:运行 git worktree list 并列出活动 worktree,随后立即停止当前轮次。
阶段 2:暂存与授权关卡
  1. 以规范变更集格式暂存计划中的 worktree 修改。
  2. 呈现暂存摘要,并立即停止当前轮次以等待人工授权。
阶段 3:原子执行与交接
  1. 获得批准后,执行所需操作:
    • 创建:git worktree add <path> -b <branch> <base_ref>
    • 删除:git worktree remove <path> && git worktree prune
    • 清理:bash scripts/prune-squashed.sh <target_branch>
  2. 报告操作已完成,并提供绝对工作区路径以便在 IDE 中导航。

评论

支持 Markdown