mcpField
A
acceptance-pipeline-catalog

acceptance-pipeline-catalog

github.com/pproencaテスト・品質218132 回インストール11 週間前に更新
リポジトリ

acceptance-pipeline-catalog について

acceptance-pipeline-catalogは、GherkinからJSON IR、受け入れテスト生成、ミューテーションテストまでのパイプラインを構築するための言語非依存の仕様スキルです。パーサーやランナーなどの実装・検証に取り組む開発者向けです。

主な機能

  1. 0114カテゴリにわたるパイプライン規則
  2. 02GherkinパーサーとJSON IRの要件
  3. 03受け入れテスト生成とランタイムの指針
  4. 04ミューテーション規則と結果分類
  5. 05実行、レポート、適合性の指針

活用シーン

  1. 01Gherkinからテストへのパイプライン設計
  2. 02例データを対象とするミューテーションテストの実装
  3. 03パーサー、ジェネレーター、ランナーの障害調査
  4. 04適合性要件に基づくパイプラインの確認

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill acceptance-pipeline-catalog

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

同梱ファイル

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

gotchas.md
metadata.json
references/
_sections.md
conform-checklist.md
exec-parallelism.md
exec-timeout.md
exec-work-directory.md
exec-workflow.md
gen-command-interface.md
gen-requirements.md
handler-matching.md
handler-unsupported.md
handler-value-handling.md
handler-world-state.md
ir-example-object.md
ir-feature-object.md
ir-scenario-object.md
ir-step-object.md
layout-commands.md
layout-required-paths.md
layout-scripts.md
mut-command-interface.md
mut-deep-copy.md
mut-identity.md
mut-scope.md
parser-background.md
parser-command-interface.md
parser-examples-tables.md
parser-feature-declaration.md
parser-general-rules.md

詳細

Robert C. Martin の受け入れパイプラインのベストプラクティス

移植可能な受け入れテストパイプラインの言語非依存仕様です。Gherkin のフィーチャーファイルから JSON IR、生成された受け入れテスト、ミューテーションテストまでを扱います。Robert C. Martin の Acceptance Pipeline Specification に基づいています。影響度順に優先順位付けされた 14 カテゴリー、約 50 のルールが含まれています。

適用する場面

以下の場合に、これらのルールを参照してください。

  • JSON IR を出力する Gherkin パーサーを構築する場合
  • JSON IR から受け入れテストを生成する機能を実装する場合
  • シナリオを展開してステップを振り分ける受け入れテストランタイムを作成する場合
  • 受け入れテストのサンプル値に対するミューテーションテストを実装する場合
  • 新しいプロジェクトでパイプライン全体(パーサー、ジェネレーター、ランナー、ミューテーター)をセットアップする場合
  • パイプラインの失敗(解析エラー、生成の問題、ミューテーションの分類)をデバッグする場合

パイプラインの概要

パイプラインには 2 つのモードがあります。

通常の受け入れテスト実行:

feature file -> gherkin parser -> JSON IR -> acceptance generator -> generated tests -> test runner

ミューテーション実行:

feature file -> gherkin parser -> base JSON IR -> mutator (one changed IR per mutation)
  -> generator (tests per mutation) -> test runner (evaluate each) -> mutation report

通常の実行では、プロジェクトがフィーチャーを満たしていることを確認します。ミューテーション実行では、サンプルデータが変更されたときにテストが失敗するほど十分に強力かどうかを検証します。

優先度別のルールカテゴリー

優先度カテゴリー影響度プレフィックスルール数
1パーサー重大parser-9
2JSON IR重大ir-4
3ジェネレーター重大gen-2
4ランタイム高rt-3
5ステップハンドラー高handler-4
6テストランナー高runner-2
7ミューテーターのコア高mut-4
8値のミューテーションルール高val-10
9結果の分類高result-2
10適合性高conform-1
11エージェントのセットアップ高setup-1
12ミューテーションの実行中exec-4
13レポート中report-3
14プロジェクトのレイアウト中layout-3

クイックリファレンス

1. パーサー(重大)
2. JSON IR(重大)
3. ジェネレーター(重大)
4. ランタイム(高)
5. ステップハンドラー(HIGH)
  • handler-matching - キーワードではなく、完全一致するテキスト値で照合します
  • handler-world-state - シナリオを実行するたびに、ワールド/状態を新しく用意します
  • handler-value-handling - 値を取得して解析し、欠落または不正な形式の場合は失敗させます
  • handler-unsupported - サポートされていないステップテキストではテストを失敗させます
6. テストランナー(HIGH)
  • runner-interface - テストランナーアダプターの入出力コントラクト
  • runner-classification - 3 種類に分類します:失敗、成功、インフラストラクチャエラー
7. ミューテーターのコア(HIGH)
8. 値の変更ルール(HIGH)
  • val-rule-order - 8 つのルールを優先順位順に適用します
  • val-comma-list - カンマ区切りリストの変更
  • val-boolean - true/false の切り替え
  • val-null - null/nil/none を揺らぎのある文字列に変換
  • val-integer - 整数に疑似乱数の差分を加えます
  • val-float - 浮動小数点数に疑似乱数の差分を加えます
  • val-datetime - ISO-8601 の日付/時刻をシフトします
  • val-duration - 構文を保ったまま期間をシフトします
  • val-string-dither - 文字単位で文字列を編集します
  • val-determinism - 固定入力に対して決定論的な疑似乱数を使用します
9. 結果の分類(HIGH)
10. 適合性(HIGH)
11. エージェントのセットアップ(HIGH)
12. 変更の実行(MEDIUM)
13. レポート(MEDIUM)
14. プロジェクト構成(MEDIUM)

使い方

詳細な仕様要件とその理由については、個々のリファレンスファイルをお読みください。

  • 構築するコンポーネントに関連するカテゴリから始めてください
  • 各ルールファイルは独立しており、WHY の説明、仕様要件、例を記載しています
  • 新しいプロジェクトをセットアップする場合は、まず setup-checklist をお読みください
  • 検証には conform-checklist を使用してください
  • 既知の問題点については、gotchas.md を確認してください

参照ファイル

ファイル説明
metadata.jsonバージョンと参照情報
gotchas.md既知の失敗しやすい箇所(追記のみ)
references/プレフィックス別に整理されたすべてのルールファイル

コメント