mcpField
M
manage-worktrees

manage-worktrees

github.com/klausborges開発1110 回インストール1 週間前に更新
リポジトリ

manage-worktrees について

Git worktreeの必要性の判断から作成、クリーンアップまでを扱うスキルです。配置場所や入れ子を制限し、作業内容がリモートに保存されるかユーザーが免除するまで削除を待ちます。

主な機能

  1. 01現在のチェックアウトがworktreeか判定
  2. 02実行環境のネイティブ機能を優先
  3. 03`.worktrees/`配下にworktreeを作成
  4. 04ビルドやテスト用の依存関係を設定
  5. 05worktreeの削除と登録の整理

活用シーン

  1. 01並行するエージェント作業の分離
  2. 02使用中のチェックアウトと並行した作業
  3. 03マージ済みまたは放棄したブランチの整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/klausborges/workflow-skills --skill manage-worktrees

インストール後、Claude Code で/manage-worktreesを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlskill.toml

詳細

Worktree の管理

配置ルールは git-conventions スキルに従います。Worktree は任意です。分離が役立つ場合(並行するエージェント、使用中のチェックアウトと並行した作業など)に利用し、それ以外は現在の場所で作業します。

ワークフロー

  1. まず既存の分離環境を検出します。git rev-parse --git-dir と --git-common-dir の結果が異なり、git rev-parse --show-superproject-working-tree が何も出力しない場合は、すでに worktree 内にいます。その worktree を使い、作成は省略します。
  2. ハーネスにネイティブの worktree ツールがある場合は、そちらを優先します。配置とクリーンアップはツールが自動で管理します。
  3. 手動で代替する場合:.worktrees/ が無視対象であることを確認します(git check-ignore -q .worktrees/wt を実行します。無視対象でない場合は .gitignore に追加してコミットします)。その後、既存のブランチには git worktree add .worktrees/<flattened-branch> <branch> を実行し、新しいブランチを作成する場合は -b <branch> を追加します。
  4. ビルドやテストが必要な作業では、新しい worktree でリポジトリの依存関係のセットアップを実行します。
  5. ブランチがマージされたとき、または放棄されたときにクリーンアップします。git worktree remove <path> を実行してブランチを削除し、登録が壊れている場合は git worktree prune を実行します。判断に迷う場合は git worktree list で確認します。

ガードレール

  • worktree を別の worktree の中に作成しないでください。
  • worktree は .worktrees/ またはネイティブハーネスのホームディレクトリの下にのみ作成してください。プロジェクトのフォルダーには、通常の worktree と同階層のフォルダーを残さないでください。
  • ブランチの先端がリモートから到達可能になるか、ユーザーが不要であると認めるまで、削除は行わないでください。

出力

worktree のパスとブランチ、または git worktree list に基づいて実施したクリーンアップ。

コメント