mcpField
O
openapi-to-application-code

openapi-to-application-code

github.com/github開発40.5k9.5k 回インストール今日更新
リポジトリ

openapi-to-application-code について

OpenAPI 仕様からアプリケーション一式を生成する開発スキルです。仕様の分析からレイヤー設計、コードやテストの生成、関連ドキュメントと設定の作成までを扱います。

主な機能

  1. 01エンドポイント、スキーマ、セキュリティの分析
  2. 02プロジェクト構成、コントローラー、サービスの生成
  3. 03モデル、データアクセス層、設定の作成
  4. 04テスト、ドキュメント、リクエスト例の追加

活用シーン

  1. 01OpenAPI 仕様からアプリケーションの土台を作成
  2. 02API 定義に基づくコントローラーとモデルの生成
  3. 03テスト、セットアップ手順、リクエスト例の追加

インストール

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

$npx skills add https://github.com/github/awesome-copilot --skill openapi-to-application-code

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

詳細

OpenAPI 仕様からアプリケーションを生成する

あなたの目標は、OpenAPI 仕様から、使用中のフレームワークの規約とベストプラクティスに従って、完全に動作するアプリケーションを生成することです。

入力要件

  1. OpenAPI 仕様: 次のいずれかを提供してください:

    • OpenAPI 仕様への URL(例: https://api.example.com/openapi.json)
    • OpenAPI 仕様へのローカルファイルパス
    • OpenAPI 仕様の完全な内容を直接貼り付け
  2. プロジェクトの詳細(仕様に含まれていない場合):

    • プロジェクト名と説明
    • 対象フレームワークとバージョン
    • パッケージ/名前空間の命名規則
    • 認証方式(OpenAPI で指定されていない場合)

生成プロセス

ステップ 1: OpenAPI 仕様を分析する
  • OpenAPI 仕様の完全性と正確性を検証します
  • すべてのエンドポイント、HTTP メソッド、リクエスト/レスポンススキーマを特定します
  • 認証要件とセキュリティスキームを抽出します
  • データモデルの関連性と制約を確認します
  • あいまいな点や不完全な定義に印を付けます
ステップ 2: アプリケーションアーキテクチャを設計する
  • フレームワークに適したディレクトリ構造を計画します
  • リソースまたはドメインごとにコントローラー/ハンドラーのグループ化を特定します
  • ビジネスロジックのためのサービス層の構成を設計します
  • データモデルとエンティティの関連性を計画します
  • 構成と初期化の戦略を設計します
ステップ 3: アプリケーションコードを生成する
  • ビルド/パッケージ構成ファイルを含むプロジェクト構造を作成します
  • OpenAPI スキーマからモデル/DTO を生成します
  • ルートマッピングを含むコントローラー/ハンドラーを生成します
  • ビジネスロジックを含むサービス層を生成します
  • 該当する場合はリポジトリ/データアクセス層を生成します
  • エラー処理、バリデーション、ロギングを追加します
  • 構成と起動コードを生成します
ステップ 4: 補助ファイルを追加する
  • サービスとコントローラーに適した単体テストを生成します
  • セットアップと実行手順を含む README を作成します
  • .gitignore と環境構成のテンプレートを追加します
  • API ドキュメントファイルを生成します
  • リクエスト例/統合テストを作成します

出力構造

生成されるアプリケーションには次が含まれます:

project-name/
├── README.md                      # Setup and usage instructions
├── [build-config]                 # Framework-specific build files (pom.xml, build.gradle, package.json, etc.)
├── src/
│   ├── main/
│   │   ├── [language]/
│   │   │   ├── controllers/       # HTTP endpoint handlers
│   │   │   ├── services/          # Business logic
│   │   │   ├── models/            # Data models and DTOs
│   │   │   ├── repositories/      # Data access (if applicable)
│   │   │   └── config/            # Application configuration
│   │   └── resources/             # Configuration files
│   └── test/
│       ├── [language]/
│       │   ├── controllers/       # Controller tests
│       │   └── services/          # Service tests
│       └── resources/             # Test configuration
├── .gitignore
├── .env.example                   # Environment variables template
└── docker-compose.yml             # Optional: Docker setup (if applicable)

適用されるベストプラクティス

  • フレームワークの規約: フレームワーク固有の命名、構造、パターンに従います
  • 関心の分離: コントローラー、サービス、リポジトリによる明確なレイヤー化
  • エラー処理: 意味のある応答を伴う包括的なエラー処理
  • バリデーション: 全体にわたる入力バリデーションとスキーマバリデーション
  • ロギング: デバッグと監視のための構造化ロギング
  • テスト: サービスとコントローラーの単体テスト
  • ドキュメント: インラインコードドキュメントとセットアップ手順
  • セキュリティ: OpenAPI 仕様に基づく認証/認可の実装
  • スケーラビリティ: 成長と保守を支える設計パターン

次のステップ

生成後:

  1. 生成されたコード構造を確認し、必要に応じてカスタマイズします
  2. フレームワークの要件に従って依存関係をインストールします
  3. 環境変数とデータベース接続を構成します
  4. テストを実行して生成されたコードを検証します
  5. 開発サーバーを起動します
  6. 提供された例を使用してエンドポイントをテストします

必要に応じて尋ねるべき質問

  • アプリケーションにデータベース/ORM のセットアップを含めるべきですか、それともインメモリ/モックデータだけでよいですか?
  • コンテナ化のための Docker 構成が必要ですか?
  • 認証は JWT、OAuth2、API キー、ベーシック認証のどれにすべきですか?
  • 統合テストが必要ですか、それとも単体テストだけでよいですか?
  • 特定のデータベース技術の希望はありますか?
  • API にページネーション、フィルタリング、ソートの例を含めるべきですか?

コメント