mcpField
W
worktree

worktree

github.com/venhdevエージェントワークフロー1134 回インストール今日更新
リポジトリ

worktree について

worktree は、ブランチ単位の作業セッションを分離する Git worktree 管理スキルです。一覧表示、作成、削除、整理に対応し、パスや作業ツリーの状態を確認して人の承認を求めます。

主な機能

  1. 01Git worktree の作成と一覧表示
  2. 02worktree の削除とメタデータ整理
  3. 03squash マージ済みブランチの整理
  4. 04worktree を .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 — 分離セッション&ブランチエンジン

運用上の不変条件

  • パスの分離:ブランチの編集、シェルコマンド、テストの実行はすべて .agents/worktree/<branch> 内に厳密に限定します。worktree セッションからルートリポジトリのファイルを変更することは禁止します。
  • 未コミット変更の確認:worktree を削除する前に git status --porcelain で作業ツリーがクリーンであることを確認します。未コミットの変更を含む worktree の削除は禁止します。
  • 変更前の承認ゲート:worktree の作成または削除を Canonical Changeset 形式でステージングし、ターンを直ちに終了します。人間による明示的な承認なしに、ディスク上で 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 を使って、スカッシュマージ済みのブランチを安全に整理します。

Canonical Output Contract

# 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 の変更を Canonical Changeset 形式でステージングします。
  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 で移動できるようにワークスペースの絶対パスを提示します。

コメント