OpenAPI仕様からBookings APIを実装する
Devin に YAML 仕様を渡すだけで、既存のコードベースのパターンに沿った実装済みの Express ルートハンドラー、Prisma モデル、Zod バリデーション、Supertest を用いた統合テスト一式を生成できます。(任意)既存の API パターンを確認する
Devin に使用する OpenAPI 仕様書を指定する
まず、仕様がどこにあり、どのリソースを実装すべきかをDevinに伝えます。DevinはYAML内のすべてのパス、スキーマ、エラー定義を読み取り、既存のExpressルートと突き合わせて、自動的に既存の規約に沿うようにします。Devinが扱う仕様の一例を以下に示します。これは、bookingsリソース向けの標準的なOpenAPI 3.0仕様です。もしまだ仕様をリポジトリにコミットしていない場合は、セッションに直接貼り付けるか、開始時に YAML/JSON ファイルを添付してください。
Devin は既存の Express パターンに対応します
最も効果的なのは、コードベース内のよく実装されたリソースを参照させることです。Devin はそのコードを解析し、フォルダ構成、命名規則、ミドルウェアのチェーン、エラー処理を再現するため、新しいエンドポイントも同じ開発者が実装したかのように見えるようになります。たとえば Devin は Devin は OpenAPI のコンポーネント定義から直接 Zod スキーマも生成するため、リクエストの検証は常に仕様と同期した状態に保たれます。リポジトリのセットアップにテスト用データベースの設定と必要な環境変数を含めておき、Devin がローカルでテストスイート全体を実行できるようにしてください。API に認証情報(database URL、JWT secret など)が必要な場合は、セッションを開始する前にそれらをSecretsとして登録するか、セッション中にチャットで渡してください。
src/api/v2/users/router.ts を読み込み、それに対応する bookings 用の router を生成します。Devin はテスト済みの PR を作成して提出します
Devin は仕様書を読み、既存コードを解析し、各エンドポイントを OpenAPI 仕様と Express コードベースの慣習の両方に沿うように実装します。典型的な PR は次のようになります。Devin は PR を作成する前に Supertest のテストスイートを実行します。
仕様でカバーされていない部分を反復的に改善する
The OpenAPI spec defines the contract but rarely captures business rules, authorization logic, or performance requirements. Use follow-up prompts to fill in the gaps:
Devin Review を使って PR をレビューする
Devin が PR を作成したら、実装内容をレビューするために Devin Review を使用します。Devin Review は、エラー処理の抜けやレスポンス形式の不整合、仕様と一致していないエンドポイントなどの問題を検出できます。Devin Review が問題を検出した場合は、Autofix を使って Devin に自動的に修正させることができます。Autofix はフォローアップセッションを開き、修正を適用し、各変更点を手動で説明することなく更新されたコミットをプッシュします。
