bmad-loop-setup について
プロジェクトへの bmad-loop モジュールのインストール、設定、アップグレードを行うスキルです。Python のオーケストレーターを導入し、コーディング CLI のフックと同梱スキルを登録して、ポリシーを初期化し、準備状況を検証します。
主な機能
- 01オーケストレーターの導入・更新
- 02選択したコーディング CLI のフック登録
- 03同梱 bmad-loop スキルの導入
- 04プロジェクトポリシーと gitignore の作成
- 05プロジェクト準備状況の検証
活用シーン
- 01プロジェクトでの bmad-loop のセットアップ
- 02オーケストレーター更新後のスキル再配置
- 03複数のコーディング CLI の登録
- 04セットアップ要件と準備状況の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thecontstruct/ bmad-loop --skill bmad-loop-setupインストール後、Claude Code で/bmad-loop-setupを入力して読み込まれたか確認します。
同梱ファイルassets/module-help.csvassets/module.yaml
詳細
モジュールのセットアップ
概要
プロジェクトに bmad-loop モジュールをインストールし、設定し、アップグレードします。
このモジュールは特殊です。自動化スキルに加えて、ループを実際に実行する Python プログラムである bmad-loop オーケストレーターツールに依存しており、公開 Git リポジトリの bmad-loop パッケージとしてインストールされます。スキルは単独では何もしません。
_bmad/ の登録を担うのは BMAD インストーラーであり、このスキルではありません。 BMAD インストーラー(npx bmad-method install)を通じて bmad-loop をインストールすると、インストーラーはスキルを _bmad/bmad-loop/ に配置し、そのモジュール専用の設定ファイルとヘルプファイルを書き込み、モジュールを _bmad/_config/(マニフェスト、スキルマニフェスト、ファイルマニフェスト)に登録し、/bmad-help カタログを再構築します。実行のたびに中央の _bmad/config.toml を再生成するため、インストーラー以外のものがそこに書き込んではいけません。
そのため、このスキルの役割は、インストーラーが構造上実行できない部分です。
- オーケストレーターツールをインストールまたはアップグレードします(インストーラーがコピーするのはスキルディレクトリのみであり、Python パッケージは扱えません)。
bmad-loop initを実行して CLI ごとのフックを登録し、同梱スキルを配置し、.bmad-loop/policy.tomlと gitignore エントリを書き込みます。bmad-loop validateで事前チェックを行い、ユーザーにロールごとのアダプター設定を案内します。
また、_bmad/bmad-loop/module-help.csv というファイルを更新し、BMAD インストーラーを通さずツールを直接インストールしたプロジェクトでも、モジュールのヘルプ項目が登録されるようにします。_bmad/ 以下のその他のファイルは書き込みも削除もしません。
モジュールの識別情報(名前、コード、バージョン)は ./assets/module.yaml に記載されています。
{project-root} は BMAD 設定の 値 ではリテラルトークンです。そこでは置き換えないでください。ただし、以下のコマンドにおけるファイルシステムパスの_引数_は対象外です。これらは実際のパスなので、実行前に {project-root} を実際のプロジェクトルートに置き換えてください。
有効化時
- モジュールのメタデータ(
codeフィールドがモジュール識別子です)を確認するため、./assets/module.yamlを読み込みます。 {project-root}/_bmad/が存在するか確認します。存在しない場合、このプロジェクトには BMAD がインストールされていないことを伝え、自動化スキルは BMAD のインストールを前提としていることを説明します。それでもセットアップでオーケストレーターツールをインストールできます。{project-root}/_bmad/bmad-loop/が存在するか確認します。存在する場合、このモジュールは BMAD インストーラーによってインストールされ、すでに登録されています。存在しない場合、モジュールは BMAD に登録されていないこと、またnpx bmad-method installで bmad-loop を選択してインストールすると、/bmad-helpに追加されることをユーザーに伝えます。これをセットアップの条件にはせず、どちらの場合も続行してください。
新規インストールかアップグレードかを判断します。 この判断に基づいて、ツールをアップグレードするか、プロジェクトごとのスキルを更新するかを決めます。次のいずれかに該当する場合は、アップグレードとして扱います。
- ユーザーが引数でアップグレードを指定した場合(
upgrade、update、upgrade tool and skillsなど)。 - オーケストレーターツールが uv の下にすでにインストールされている場合。
uv tool listを実行し、bmad-loopの項目を探します。bmad-loop --versionを単独で実行しても、十分な根拠にはなりません。ソースチェックアウトや無関係な仮想環境によって実行できている可能性があるためです。手順 1 を参照してください。
それ以外は新規インストールです。続行する前に、判断内容をユーザーに伝えてください。例:「既存の bmad-loop インストールが見つかりました。アップグレードを実行します(ツール+スキル)」または「既存のインストールは見つかりませんでした。新規セットアップを実行します」。
ユーザーが引数(例:accept all defaults、--headless、upgrade)を指定した場合は、それに従い、対話形式のプロンプトを省略します。その場合も、最後に確認内容をすべて表示してください。
ヘルプエントリーを登録する
このモジュールのヘルプエントリーを更新します。このスキルが _bmad/ の下に書き込むファイルはこれだけで、BMAD インストーラー自体が配置するものとまったく同じです。そのため、インストーラーでセットアップ済みのプロジェクトでは何も変更されず、再実行しても安全です。
mkdir -p "{project-root}/_bmad/bmad-loop"
cp ./assets/module-help.csv "{project-root}/_bmad/bmad-loop/module-help.csv"
/bmad-help は、_bmad/<module>/module-help.csv をすべて基に BMAD インストーラーが再構築する、組み立て済みのカタログ _bmad/_config/bmad-help.csv を読み込みます。そのため、BMAD インストーラーを一度も実行していないプロジェクトでは、これらのエントリーは次回のインストーラー実行時に表示されるようになります。すぐには表示されません。ヘルプシステムが更新されたと主張するのではなく、確認ステップでそのことを明確に伝えてください。
{project-root}/_bmad/ が存在しない場合は、このステップを完全にスキップしてください。
オーケストレーターツールをインストールする
オーケストレーターは、選択したアダプターを通じて新しいコーディング CLI セッションを起動し、開発パスでは bmad-build-auto(上流の開発プリミティブ。名称変更前のリリースでは bmad-dev-auto)を実行します。続いて、done になった仕様に対して再度実行し、フォローアップのレビューパスを行います。また、bmad-loop-sweep を実行し、フックのシグナルを監視して、成果物を検証します。したがって、インストールはセットアップの一部であり、任意の追加項目ではありません。
Git からインストールする理由: BMAD インストーラーはスキルディレクトリのみをプロジェクトにコピーし、隣接するファイルは含めないため、ツールをスキルフォルダーに同梱できません。正式なソースは https://github.com/bmad-code-org/bmad-loop です。(ただし逆の場合は成り立ちます。ツールのホイールにはスキルが同梱されているため、
bmad-loop initを実行すると、プロジェクトのスキルツリーにスキルが自動的に配置されます。ステップ 3 を参照してください。)
ユーザーから明示的にスキップするよう依頼された場合(例:skills only/--no-tool)を除き、今すぐインストールまたはアップグレードして、ブートストラップしてください。実行前に {project-root} を実際のプロジェクトパスに解決してください。
-
PATH 上にすでにあるものを確認する:
bmad-loop --versionを実行します。ここでバージョンが表示されても、このプロジェクトのセットアップが完了していることを意味するわけではありません。現在の環境で何らかのbmad-loopをインポートできることを示しているだけです。これを信頼する前に、uv tool listを実行してbmad-loopを探してください。見つからない場合(PATH 上のコピーがソースチェックアウトまたは無関係な仮想環境由来の場合)は、アクティブな環境がクリーンなインストールを上書きしており、プロジェクトがそのチェックアウトに依存することになるとユーザーに警告してください。ユーザーが明示的に断らない限り、プロジェクトが偶発的な開発環境に依存しないよう、以下の正式なソースからインストールまたはアップグレードしてください。 -
Git リポジトリからインストールまたはアップグレードする(
[tui]エクストラによって Textual ダッシュボードがインストールされ、bmad-loop tuiが使えるようになります)。uv tool installは uv 独自の管理環境にbmad-loopをインストールするため、PEP 668 による外部管理環境の競合は発生せず、--user、有効化した仮想環境、--break-system-packagesも不要です。-
新規インストール(uv 管理の
bmad-loopがない場合):uv tool install "bmad-loop[tui] @ git+https://github.com/bmad-code-org/bmad-loop.git"再現性を高めるためにリリースタグを固定するには、Git URL の末尾に
@v<X.Y.Z>を追加してください。 -
アップグレード(uv がすでに
bmad-loopを管理している場合):-
差分を報告できるよう、最初に現在のバージョンを記録します:
bmad-loop --version。 -
デフォルトでは
main(または現在固定されているタグ)を使用します:uv tool upgrade bmad-loop --reinstallGit ソースの場合は
--reinstallが必須です。通常のuv tool upgradeではキャッシュされたコミットが再利用され、新しいコードが取得されません。次に、再現性のためリリースタグを固定するかどうかを提案してください。ユーザーが特定のバージョンを希望する場合は、次のコマンドで切り替えます:uv tool install --force "bmad-loop[tui] @ git+https://github.com/bmad-code-org/bmad-loop.git@v<X.Y.Z>" -
bmad-loop --versionを再実行し、確認ステップで報告するため、変更前 → 変更後を記録します。
-
-
-
プロジェクトをブートストラップする — コーディング CLI フック、同梱の
bmad-loop-*スキル、.bmad-loop/policy.tomlテンプレート、および gitignore エントリーをインストールします(繰り返し実行しても安全です)。 まず、オーケストレーターで操作するコーディング CLIを決めます。サポートされているアダプターはclaude(デフォルト)、codex、gemini、copilot、antigravity(Google のagy)です。フックは CLI ごとに登録されるため、この選択は重要です。開発/レビュー/トリアージに使う予定の CLI はすべて登録してください。ユーザーに確認します(セットアップ引数で既に指定されている場合(例:cli: claude, codex)、またはデフォルトを選択済みの場合を除きます。その場合はclaudeのみをデフォルトにします)。「オーケストレーターで操作するコーディング CLI はどれですか?
claude、codex、gemini、copilot、antigravityから選んでください。複数選択できます。[claude]」選択した CLI ごとに
--cli <name>を 1 つ指定して、コマンドを組み立てます(このフラグは繰り返し指定できます)。アップグレード時は--force-skillsを追加してください。これにより、プロジェクトごとのスキルのコピーが確実に更新されます。この指定がないと、initは既存のスキルディレクトリをすべてスキップするため、アップグレードしたツールに対して古いスキルがプロジェクトに残ります。新規インストール時は省略してください。# fresh install, claude only (default) bmad-loop init --project "{project-root}" --cli claude # fresh install, multiple, e.g. claude + codex + gemini bmad-loop init --project "{project-root}" --cli claude --cli codex --cli gemini # upgrade — refresh the bundled skills in place bmad-loop init --project "{project-root}" --cli claude --force-skills名前は
claude、codex、gemini、copilot、antigravityのいずれかと完全に一致する必要があります。未知のプロファイルを指定すると、initはエラーを返し、有効な名前を一覧表示します。initは CLI ごとに初回のみ必要な注意事項を表示します(例:bmad-loop runの前にプロジェクトでclaudeを一度起動し、ワークスペースの信頼とフックの承認ダイアログに応答します。起動されたセッションでは初回のダイアログに応答できません)。これらの注意事項をユーザーに伝えてください。スキルは自動的にインストールされます。
initは、選択した CLI ごとに、同梱のbmad-loop-*スキルを適切なディレクトリに配置します。claudeの場合は.claude/skills/、codex/gemini/copilot/antigravityの場合は.agents/skills/です。新規インストール時は既存のスキルディレクトリをそのまま残します。アップグレード時は--force-skillsにより、アップグレードしたツールに同梱されているコピーで上書きします(この手順をスキップしてスキルを自分で管理する場合は--no-skillsを使用してください)。注:
--force-skillsはbmad-loop-setup自体も上書きします(同じバンドルに含まれています)。これは想定どおりの安全な動作です。新たに配置されたセットアップスキルは次回の呼び出しから有効になり、_bmad/custom/*.tomlのオーバーライド(スキルディレクトリ名をキーとする)は変更されません。 -
事前確認 — 設定、sprint-status、git、tmux、コーディング CLI を検証します。
bmad-loop validate --project "{project-root}"プロジェクトの準備が完全に整っていない場合(例:まだ
sprint-status.yamlがない、またはbmad-sprint-planningが実行されていない場合)、validateはゼロ以外の終了コードを返します。新規プロジェクトではこれは想定どおりです。インストールの失敗としてではなく、準備状況のチェックリストとして、検出結果をユーザーに伝えてください。 -
役割ごとのアダプター設定をユーザーに案内します。 手順 3 の
--cliは、各 CLI の フック を登録するだけです。各ステージを実際に実行する CLI は、initがテンプレートから作成する{project-root}/.bmad-loop/policy.tomlで設定します。[adapter] name(デフォルトはclaude)はすべてのステージに適用されます。省略可能な[adapter.dev]、[adapter.review]、[adapter.triage]テーブルでは、個々のステージを上書きできます(それぞれ独自のname、model、effort、extra_argsを指定します)。したがって、開発にclaude、レビューにcodexを使うなど、複数 CLI を組み合わせる構成では、フックを登録する(手順 3)だけでなく、policy.tomlで役割に応じた CLI を指定する必要があります。[adapter] name = "claude" # default for all stages [adapter.review] name = "codex" # review runs on codex insteadファイルの場所と、
policy.tomlに記載する CLI はすべて手順 3 で--cliを使って登録しておく必要があることをユーザーに伝えてください(後から追加する場合はbmad-loop init --cli <name>を再実行します)。CLI を 1 つしか使わない場合はpolicy.tomlを変更しないでください。デフォルト設定のままで問題ありません。
確認
報告内容:
- 新規インストール: インストールされた
bmad-loop --version、bmad-loop initによってフックが登録され、bmad-loop-*スキルがインストールされ、選択したコーディング CLI 用のポリシーと gitignore が書き込まれたこと(「claude、codex 用のフックとスキルをインストール」のように、それぞれの名前を列挙してください)。 - アップグレード: アップグレード前 → 後の
bmad-loop --version(例:「0.3.1 → 0.3.2 にアップグレード」または「0.3.2 のままで最新」)、および各 CLI ツリーで--force-skillsを使ってbmad-loop-*スキルを更新したこと(スキップではありません)。
また、次の内容も報告してください。
bmad-loop validateの事前チェック結果(合格、または未完了の項目を示した準備状況チェックリスト)。_bmad/bmad-loop/module-help.csvが更新されたこと。この実行前に_bmad/bmad-loop/が存在しなかった場合(つまり、BMAD インストーラーがモジュールをインストールしていなかった場合)は、次回 BMAD インストーラーの実行後にヘルプ項目が/bmad-helpに表示されること、およびnpx bmad-method installでモジュールをインストールすれば正しく登録されることを伝えてください。- このスキルは
_bmad/の下にほかのファイルを書き込んでいないこと。モジュールの登録、config.toml、ヘルプカタログは BMAD インストーラーが管理します。
次に、./assets/module.yaml の module_greeting をユーザーに表示してください。
結果
このセッションの残りの間は、ユーザーの設定済みの名前と言語を使用してください。BMAD の中央設定から、BMAD 独自のリゾルバー(4 層の TOML マージ。BMAD v6.10 以降と Python 3.11 以降が必要)を使って読み取ってください。
uv run "{project-root}/_bmad/scripts/resolve_config.py" --project-root "{project-root}" --key core
core テーブルから user_name と communication_language を取得してください。スクリプトが存在しないか、ゼロ以外のコードで終了した場合は、ユーザーに対して中立的な英語で話しかけてください。設定ファイルの書き込みや修復は行わないでください。