mcpField
B
bmad-testarch-framework

bmad-testarch-framework

github.com/bmad-code-orgテスト・品質112195 回インストール1 日前に更新
リポジトリ

bmad-testarch-framework について

bmad-testarch-frameworkは、テストフレームワーク、CI/CD品質パイプライン、または両方を設定するスキルです。テストアーキテクトや開発チーム向けに、対象範囲を振り分け、作成・評価・検証・再開を行います。

主な機能

  1. 01テストフレームワークまたはCI/CDパイプラインの設定
  2. 02フィクスチャ、ヘルパー、フックの構成
  3. 03品質ゲートの設定
  4. 04フレームワーク、CI、または両方の範囲選択
  5. 05作成・評価・検証・再開への対応

活用シーン

  1. 01プロジェクトのテストフレームワーク構築
  2. 02CI/CD品質パイプラインの設定
  3. 03既存のテストフレームワークやCI設定の確認
  4. 04未完了の設定ワークフローの再開

インストール

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

$npx skills add https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise --skill bmad-testarch-framework

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

bmod.toml
checklist.md
customize.toml
instructions.md
ci/
azure-pipelines-template.yaml
checklist.md
github-actions-template.yaml
gitlab-ci-template.yaml
harness-pipeline-template.yaml
instructions.md
jenkins-pipeline-template.groovy
ci/resources/
ci-pipeline-progress.example.md
ci/steps-c/
step-01-preflight.md
step-01b-resume.md
step-02-generate-pipeline.md
step-03-configure-quality-gates.md
step-03b-render-evaluation-plans.md
step-04-validate-and-summary.md
ci/steps-e/
step-01-assess.md
step-02-apply-edit.md
ci/steps-v/
step-01-validate.md
resources/
framework-setup-progress.example.md
setup-parallel.md
setup-phase-completion.md
setup-routing.md
setup-run-progress.example.md
setup-state.md
resources/hooks/
tea-enforce.cjs
steps-c/
step-01-preflight.md
step-01b-resume.md

詳細

テストフレームワークと CI のセットアップ

目標: スタックの選定、フィクスチャ、ヘルパー、フック、品質ゲート、評価計画のレンダリングを含む、本番環境に対応したテストフレームワーク、CI/CD 品質パイプライン、またはその両方をセットアップします。

役割: あなたはマスターテストアーキテクトです。

与えられた名前、アイデンティティ、コミュニケーションスタイルを維持しながら、この役割の説明にある詳細を加えて作業を続けます。

規約

  • 裸のパス(例:instructions.md)はスキルのルートを基準に解決します。
  • {skill-root} は、このスキルがインストールされているディレクトリ(customize.toml がある場所)を指します。
  • {project-root} は、プロジェクトの作業ディレクトリから親ディレクトリをたどり、最初に見つかった _bmad/ を含むフォルダーを指します。
  • {tea-knowledge} は、このスキルと同じ場所にインストールされている bmod-tea スキルの knowledge/ フォルダーです:{skill-root}/../bmod-tea/knowledge。そこにある tea-index.csv には、各フラグメントの相対パスが記載されています。
  • {skill-name} は、スキルディレクトリのベース名を指します。
  • instructions.md、checklist.md、steps-c/、steps-e/、steps-v/ などの同階層にあるワークフローファイルとテンプレートは、{skill-root} を基準に解決します。

読み取り専用リクエストゲート

アクティベーションフックまたはプロジェクトへの書き込みを行う前に、{skill-root}/resources/setup-routing.md を読み込み、そのセクション 1 を実行します。これにより、スコープと不足しているフレームワークの提案を確定します。提案が拒否された場合は実行を停止します。CI アダプターから指定されたスコープと操作を維持します。

アクティベーション時

ステップ 1:ワークフローブロックを解決する

実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

スクリプトが失敗した場合は、以下の 3 つのファイルをベース → チーム → ユーザーの順に読み込み、リゾルバーと同じ構造マージルールを適用して、workflow ブロックを自分で解決します。

  1. {skill-root}/customize.toml — デフォルト
  2. {project-root}/_bmad/custom/{skill-name}.toml — チームによる上書き
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — 個人による上書き

存在しないファイルはスキップします。スカラー値は上書きし、テーブルはディープマージします。code または id をキーとするテーブルの配列では、一致するエントリーを置き換え、新しいエントリーを追加します。それ以外の配列はすべて追加します。

スコープに CI が含まれる場合は、CI フック、あいさつ、契約の凍結、ワーカーの起動より前に、resources/setup-routing.md のセクション 2 を通じて ci_workflow を解決します。明示的なプラットフォームの優先順位を判断できるよう、正規の workflow は別に保持します。この解決では設定のみを読み込みます。以下のアクティベーション段階で、該当するフックとファクトを実行します。

ステップ 2:先行ステップを実行する

スコープにフレームワークが含まれる場合は、{workflow.activation_steps_prepend} の各エントリーを順番に、{skill-root}/resources/setup-state.md のセクション 3 に従って実行します。CI のみの場合は、フレームワークの先行/後続フック、永続ファクト、完了フックをスキップします。スコープに CI が含まれる場合は、同じ永続的なプロトコルに従い、設定やあいさつの前に ci_workflow.activation_steps_prepend の各エントリーを実行します。リクエストゲートでは、このステップより前に現在の実行を復元し、そのジャーナルを永続化しています。各エントリーの開始マーカーは実行前に保存し、完了済みのエントリーはスキップします。結果が不確かな開始済みエントリーがある場合は停止します。

ステップ 3:永続ファクトを読み込む

スコープにフレームワークが含まれる場合は、{workflow.persistent_facts} のすべてのエントリーを、ワークフローの実行中に保持する基礎コンテキストとして扱います。スコープに CI が含まれる場合は、同じルールに従ってここで ci_workflow.persistent_facts を読み込みます。CI のみの場合は CI のファクトを読み込み、フレームワークのファクトはスキップします。file: で始まるエントリーは、{project-root} を基準に解決するパスまたはグロブです。これらを展開し、一致するすべてのファイルをパスの辞書順で読み込み、ファクトとして扱います。それ以外のエントリーはすべて、そのままファクトとして扱います。

Step 4: 設定を読み込む

uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core --key modules.tea を実行します。スクリプトが失敗した場合は、上記のマージルールに従い、{project-root}/_bmad/config.toml、{project-root}/_bmad/custom/config.toml、{project-root}/_bmad/custom/config.user.toml の順に自分でマージします。_bmad/config.toml が存在しない、または modules.tea テーブルがない場合は、TEA がセットアップされていないことをユーザーに伝え、まず bmad setup tea を実行するよう依頼して、停止します。

core と modules.tea の各キーは {<key>} として、また後続のステップでは config.<key> として使用できます。値の中にある {project-root} はプロジェクトルートに置き換えます。セットアップの回答は文字列です。"true" と "false" はブール値として読み取ります。

{tea-knowledge}/tea-index.csv が存在しない場合、TEA ナレッジベースはインストールされていません。ユーザーにその旨を伝え、npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmod-tea でインストールすることを提案します。ユーザーが同意した場合は実行し、インストールされるまで停止します。

Step 5: ユーザーに挨拶する

{communication_language} で {user_name} に挨拶します。

Step 6: 追加ステップを実行する

挨拶の後、適用される追加エントリーをそれぞれ、同じ個別の永続フックプロトコルで実行します。スコープに framework が含まれる場合は {workflow.activation_steps_append}、次にスコープに CI が含まれる場合は ci_workflow.activation_steps_append を実行します。各フェーズのエントリーが成功したら、そのフェーズを activation_completed に保存します。すべてのスコープおよび操作の Resume を通じて、完全なジャーナルとフック台帳を保持します。

アクティベーションは完了です。以下のワークフローを開始します。

ワークフローのアーキテクチャ

スキルのルートにある既存の framework ステップと ci/ 以下の CI ステップは、スコープと操作のルーティングを共有します。CI セットアップは bmad-testarch-framework に CI スコープを指定して選択します。

Create と Edit の CI フェーズでは ci/evaluation-ci-plan.json を検出し、{skill-root}/ci/steps-c/step-03b-render-evaluation-plans.md を通じてレンダリングします。Evaluate は、Create または Edit モードで CI スコープを指定して bmad-testarch-framework を呼び出します。

初期化シーケンス

{skill-root}/resources/setup-routing.md をすべて読み込みます。読み取り専用ゲートと正規アクティベーションの後、セクション 2〜4 を続けます。そのチェックポイント、カスタマイズ、完了に関するルールは、以下のすべてのステップに適用されます。正規アクティベーションやスコープに関する質問を繰り返してはいけません。

Framework フェーズ
  • C の場合: {skill-root}/steps-c/step-01-preflight.md を読み込みます
  • R の場合: ジャーナルの次の位置がない従来の Create チェックポイントの場合に限り、{skill-root}/steps-c/step-01b-resume.md を読み込みます。ジャーナルに基づく Resume では、保存済みの C/E/V の次のファイルまたはサブセクションに直接ディスパッチします。
  • V の場合: {skill-root}/steps-v/step-01-validate.md を読み込みます
  • E の場合: {skill-root}/steps-e/step-01-assess.md を読み込みます
CI フェーズ

CI の設定と適用されるアクティベーションフックは、上記のアクティベーション段階で処理済みです。{skill-root} は正規の framework ディレクトリに紐付けたままにします。フェーズの引き継ぎ時に CI のアクティベーションを再実行してはいけません。

  • C の場合: {skill-root}/ci/steps-c/step-01-preflight.md を読み込みます
  • R の場合: ジャーナルの次の位置がない従来の Create チェックポイントの場合に限り、{skill-root}/ci/steps-c/step-01b-resume.md を読み込みます。ジャーナルに基づく Resume では、保存済みの C/E/V の次のファイルまたはサブセクションに直接ディスパッチします。
  • V の場合: {skill-root}/ci/steps-v/step-01-validate.md を読み込みます
  • E の場合: {skill-root}/ci/steps-e/step-01-assess.md を読み込みます

両方のスコープを対象とする場合、コーディネーターは同じ操作と合意済みの契約のもとで、該当する framework フェーズと CI フェーズを実行します。並行生成の前に resources/setup-parallel.md を読み込みます。各フェーズの終了時には {skill-root}/resources/setup-phase-completion.md を読み込みます。要求されたすべてのフェーズが、操作ごとに定められた完了条件を満たした後に完了となります。

コメント