mcpField
R
recursive-worktree

recursive-worktree

github.com/try-works開発13668 回インストール14 週間前に更新
リポジトリ

recursive-worktree について

recursive-worktreeは、recursive-modeの開始時に機能ブランチの作業ツリーを分離して用意するスキルです。後続フェーズの前に、環境構築、ベースラインテスト、ブランチの安全性を確認して記録します。

主な機能

  1. 01分離した機能作業ツリーの作成
  2. 02作業ツリーの除外設定を確認
  3. 03環境構築とベースラインテスト
  4. 04ブランチと正規化差分基準の記録
  5. 05作業ツリー内のルーター状態確認

活用シーン

  1. 01Phase 1前のリポジトリ準備
  2. 02メインブランチからの変更分離
  3. 03テストの基準状態の記録

インストール

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

$npx skills add https://github.com/try-works/recursive-mode --skill recursive-worktree

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

同梱ファイルagents/openai.yaml

詳細

recursive-worktree

目的

再帰モードの実行開始時にこのスキルを使用し、Phase 1 以降の作業を始める前に隔離されたワークツリーをセットアップします。

全体の標準ワークフローは引き続き /.recursive/RECURSIVE.md に記載されています。このスキルでは、00-worktree.md のワークツリー隔離に関する規律のみを扱います。

厳守事項

以下が完了するまで、再帰モードのフェーズ作業に進まないでください。

  1. 機能ブランチのワークツリーが存在すること。
  2. ワークツリーのディレクトリがリポジトリ内にある場合、git-ignore されていること。
  3. プロジェクトのセットアップが完了していること。
  4. クリーンなテスト状態、または明示的に了承されたベースラインのテスト状態が記録されていること。

デフォルトの場所の優先順位

以下の順で選択してください。

  1. 既存の .worktrees/
  2. 既存の worktrees/
  3. リポジトリの指示に記載された場所の設定
  4. ユーザーに確認する
  5. デフォルトで .worktrees/ を使用する

グローバルな代替場所:

  • ~/.config/recursive-mode/worktrees/<project-name>/

メインブランチの保護

現在のブランチが main または master の場合、デフォルトでは機能ブランチにワークツリーを作成してください。

git worktree add .worktrees/<run-id> -b recursive/<run-id>
cd .worktrees/<run-id>

ユーザーがメインブランチでの作業を明示的に希望する場合は、その例外を 00-worktree.md に記録してください。

Phase 0 の最低限のチェックリスト

00-worktree.md には以下を含める必要があります。

  • 選択したワークツリーの場所
  • git-ignore の確認
  • ブランチ名とワークツリーのパス
  • 実行したセットアップコマンド
  • ベースラインのテストコマンドと結果
  • Baseline type、Baseline reference、Comparison reference、Normalized baseline、Normalized comparison、Normalized diff command を含む正規化差分の基準フィールド
  • 後続のフェーズをワークツリーから実行することを明記した注記
  • スキャフォールドに必要な ## TODO 見出し

推奨コマンド

ブランチを確認します。

git branch --show-current

ignore 状態を確認します。

git check-ignore -q .worktrees || git check-ignore -q worktrees

ワークツリーを作成します。

git worktree add .worktrees/<run-id> -b recursive/<run-id>

セットアップのガイダンス

リポジトリに適したセットアップコマンドを実行してください。

  • Node.js:npm install
  • Rust:cargo build
  • Python:pip install -r requirements.txt またはプロジェクト固有のインストールコマンド
  • Go:go mod download
  • Maven:mvn compile -q
  • Gradle:./gradlew compileJava
  • .NET:dotnet restore

続いて、プロジェクトに適したベースラインのテストコマンドを実行し、その結果を 00-worktree.md に記録してください。

ワークツリー内のルーター状態

委任またはルーティングされた作業を隔離されたワークツリーから実行する前に、同じワークツリー内のルーターファイルを確認してください。

test -f .recursive/config/recursive-router.json
test -f .recursive/config/recursive-router-discovered.json
Test-Path .recursive/config/recursive-router.json
Test-Path .recursive/config/recursive-router-discovered.json

コントローラー/ソースリポジトリにルーターポリシーまたは検出インベントリが設定されていて、ワークツリーにそれがない場合は、ルーティングされたロールを解決または呼び出す前に、両方のファイルをワークツリーに同期してください。ワークツリーのポリシーに対するユーザーの編集は保持し、バインディングを変更する場合は、手動編集より recursive-router-configure を優先してください。

recursive-router-discovered.json はローカルの検出状態であり、追跡対象外の場合があります。新しいワークツリーに存在しないのは想定どおりですが、古い情報に基づいて外部ロールを解決するのは安全ではありません。ワークツリーから python ./.recursive/scripts/recursive-router-probe.py --repo-root . --json を実行して更新するか、それが意図したポリシーの基準である場合は、現在のインベントリをコントローラー/ソースリポジトリからコピーしてください。

ルーティングされた作業を受け入れる前に、ルーターポリシーのパス、検出パス、検証/プローブコマンド、および結果としてのルート決定を 00-worktree.md または委任アクションの記録に記載してください。

出力要件

成果物を次の場所に書き込んでください。

  • /.recursive/run/<run-id>/00-worktree.md

機能ブランチには次の名前を使用してください。

  • recursive/<run-id>

ルーティングに関する注意

このスキルで、ワークツリーのセットアップ、ベースラインの検証、またはブランチの安全性を検証するためにレビューを委任したり、その他のルーティング対象の外部モデルを使用したりする場合は、その CLI/モデルを選択する直前に次を読み直してください。

  • /.recursive/config/recursive-router.json
  • /.recursive/config/recursive-router-discovered.json

ハードコードしたレビュアーモデルを使用するのではなく、ルーティングされたポリシーまたは明示的なフォールバックに従ってください。

統合

  • 現状分析と計画の前に、このスキルを実行してください。
  • フェーズ 0 がロック検証に合格したら、ワークツリーのコンテキストから実行を続けてください。
  • STATE.md、DECISIONS.md、メモリの更新を含む後続のフェーズは、マージ時まで同じ機能ブランチで進めてください。

コメント