mcpField

API Contract Until Match

おすすめ手動実行
コード品質最大 10 ラウンド

API Contract Until Match について

API の実装を公開済みの契約に合わせ続けるためのループです。各ラウンドで契約テストを実行し、失敗内容をもとに実装を修正して、テストが通るか上限に達するまで再テストします。

主な機能

  1. 01契約テストスイートの終了コードで判定
  2. 02手動トリガーで開始時期を選べる
  3. 03最大 10 ラウンドで無限の再試行を防止
  4. 04Cursor に対応

活用シーン

  1. 01エンドポイント変更後も契約に沿っているか確認したいとき
  2. 02既存の実装を新しい版の契約に合わせたいとき
  3. 03マージ前に契約テストの通過を確認したいとき
目標
API の実装が公開済みの契約に一致し、npm run test:contract が通ること。
終了条件
契約テストスイートが終了コード 0 で終わったら停止します。10 ラウンドを終えても失敗する場合も停止します。
各ラウンドの間に実行
npm run test:contract

起動プロンプト

Cursor に貼り付けて実行すると、終了条件を満たすまでエージェントが以下の手順を繰り返します。

prompt.md
「API Contract Until Match」ループを開始します。
目標:API の実装が公開済みの契約に一致し、npm run test:contract が通ること。
最大ラウンド数:10。
ステップ 1:契約テストを実行 — npm run test:contract を実行し、終了コードと失敗したケースを記録します。終了コードが 0 なら目標達成です。 `npm run test:contract`
ステップ 2:失敗原因を分析 — 失敗の出力を公開済みの契約と照らし、レスポンス構造、ステータスコード、パラメータ処理のどこが異なるかを判断します。
ステップ 3:実装を修正 — 契約と食い違う部分だけを実装側で直し、契約自体は変更しません。その後、次のラウンドで再びテストを実行します。
各ラウンドの間に実行:`npm run test:contract`
終了条件:契約テストスイートが終了コード 0 で終わったら停止します。10 ラウンドを終えても失敗する場合も停止します。

手順

各ラウンドは順番に実行され、終了条件を満たさなければ次のラウンドへ進みます(最大 10 ラウンド)。

01
契約テストを実行

npm run test:contract を実行し、終了コードと失敗したケースを記録します。終了コードが 0 なら目標達成です。

$npm run test:contract
02
失敗原因を分析

失敗の出力を公開済みの契約と照らし、レスポンス構造、ステータスコード、パラメータ処理のどこが異なるかを判断します。

03
実装を修正

契約と食い違う部分だけを実装側で直し、契約自体は変更しません。その後、次のラウンドで再びテストを実行します。

未達 → 次のラウンド条件を満たせば終了

対応エージェント

この Loop をそのまま実行できるコーディングエージェントです。

Cursor
Claude Code

コメント