worktree について
worktree は、ブランチ単位の作業セッションを分離する Git worktree 管理スキルです。一覧表示、作成、削除、整理に対応し、パスや作業ツリーの状態を確認して人の承認を求めます。
主な機能
- 01Git worktree の作成と一覧表示
- 02worktree の削除とメタデータ整理
- 03squash マージ済みブランチの整理
- 04worktree を .agents/worktree/ 配下に限定
- 05ディスク変更前の承認要求
活用シーン
- 01ブランチ作業の分離
- 02稼働中の worktree とブランチの確認
- 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:事前確認と競合の監査
- 作成の場合:
git worktree listを確認し、ブランチ名やディレクトリの競合がないことを検証します。 - 削除の場合:対象の
<path>内でgit status --porcelainを確認します。変更がある場合は直ちに停止し、未コミットのファイルを報告します。 - 一覧表示の場合:
git worktree listを実行して有効な worktree を提示し、直ちにターンを終了します。
フェーズ 2:ステージングと承認ゲート
- 計画した worktree の変更を Canonical Changeset 形式でステージングします。
- ステージングの概要を提示し、人間による承認のために直ちにターンを終了します。
フェーズ 3:アトミックな実行と引き継ぎ
- 承認後、必要な操作を実行します。
- 作成:
git worktree add <path> -b <branch> <base_ref> - 削除:
git worktree remove <path> && git worktree prune - 整理:
bash scripts/prune-squashed.sh <target_branch>
- 作成:
- 操作の完了を報告し、IDE で移動できるようにワークスペースの絶対パスを提示します。
コメント
Markdown 対応