Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

【Core SSoT】Developer-First OpenAPI & SDK Generation Rules(API・SDK自動生成絶対仕様書)

⚠️ THE GENERATIVE SSoT: DEVREL & ECOSYSTEM EXPANSION 本ドキュメントは、外部エコシステム(葬儀社、信託銀行、生命保険会社)を巻き込み、プラットフォームを急速に拡大させるためのAPI定義とSDK生成自動化プロセスを定義する。手動による型定義を「罪」と見なす。

1. Schema-Driven Development (API-First 戦略の徹底)

APIは「Rustの実装コードから後追いで生成する」のではなく、「API定義(OpenAPI 3.1)を設計し、そこからRustのコードと各種SDKを自動生成する」スキーマ駆動開発を採用する。

  • 絶対的バージョニング: URLパス(例: /api/v1/)による厳格なバージョニング。破壊的変更(Breaking Changes)はメジャーバージョンアップ時のみ許容され、既存のサードパーティ統合を決して破壊してはならない。
  • ドキュメントの自動ホスティング: OpenAPI定義ファイル(YAML/JSON)から、Redoc または Swagger UI をCI上で自動生成し、developer.moshimonohanashi.com 等で常時公開する。外部開発者がゼロコンフィグで仕様を理解し、テストできる状態を維持する。

2. 工数を極小化するSDK自動生成ワークフロー

「フロントエンドや外部開発者が手作業で型を定義する」という無駄な工数とヒューマンエラーを撲滅する。

  • TypeShare と OpenAPI Generator の極限活用:
    • Rust側の構造体(Structs)を唯一の真実(SSoT)とし、typeshare クレートを用いて、TypeScript (Web用) および Dart (Flutter用) の型定義をCI/CDパイプライン上で毎コミット自動生成する。
    • これにより、API仕様の変更が即座にフロントエンドのコンパイルエラーとして検知され、実行時バグの発生を物理的に防ぐ。
  • サードパーティ向け公式SDK:
    • Python, Go, Node.js向けのクライアントライブラリを openapi-generator-cli によって自動生成し、公式パッケージレジストリ(npm, PyPI等)へ自動パブリッシュする機構を構築する。

3. DevRel体験を最大化するサンドボックス環境

  • モックAPIサーバー(Prism):
    • 外部開発者が本番データに触れることなくAPIの挙動を即座に試せるよう、OpenAPI定義から動的にモック応答を返すサーバー(Prism等)を常に稼働させる。
  • Time-to-First-Call (TTFC) 5分以内:
    • 開発者がAPI Keyを発行してから、最初のAPI Call(Hello World またはデータのモック取得)を成功させるまでの時間を「5分以内」に収めるユースケースを定義し、圧倒的な開発者体験(DevRel)を提供する。