API Contract Until Match
おすすめ手動実行コード品質最大 10 ラウンド
API Contract Until Match について
API の実装を公開済みの契約に合わせ続けるためのループです。各ラウンドで契約テストを実行し、失敗内容をもとに実装を修正して、テストが通るか上限に達するまで再テストします。
主な機能
- 01契約テストスイートの終了コードで判定
- 02手動トリガーで開始時期を選べる
- 03最大 10 ラウンドで無限の再試行を防止
- 04Cursor に対応
活用シーン
- 01エンドポイント変更後も契約に沿っているか確認したいとき
- 02既存の実装を新しい版の契約に合わせたいとき
- 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:contract02
失敗原因を分析
失敗の出力を公開済みの契約と照らし、レスポンス構造、ステータスコード、パラメータ処理のどこが異なるかを判断します。
03
実装を修正
契約と食い違う部分だけを実装側で直し、契約自体は変更しません。その後、次のラウンドで再びテストを実行します。
未達 → 次のラウンド条件を満たせば終了
対応エージェント
この Loop をそのまま実行できるコーディングエージェントです。
Cursor
Claude Code
コメント
Markdown 対応