【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仕様の変更が即座にフロントエンドのコンパイルエラーとして検知され、実行時バグの発生を物理的に防ぐ。
- Rust側の構造体(Structs)を唯一の真実(SSoT)とし、
- サードパーティ向け公式SDK:
- Python, Go, Node.js向けのクライアントライブラリを
openapi-generator-cliによって自動生成し、公式パッケージレジストリ(npm, PyPI等)へ自動パブリッシュする機構を構築する。
- Python, Go, Node.js向けのクライアントライブラリを
3. DevRel体験を最大化するサンドボックス環境
- モックAPIサーバー(Prism):
- 外部開発者が本番データに触れることなくAPIの挙動を即座に試せるよう、OpenAPI定義から動的にモック応答を返すサーバー(Prism等)を常に稼働させる。
- Time-to-First-Call (TTFC) 5分以内:
- 開発者がAPI Keyを発行してから、最初のAPI Call(
Hello Worldまたはデータのモック取得)を成功させるまでの時間を「5分以内」に収めるユースケースを定義し、圧倒的な開発者体験(DevRel)を提供する。
- 開発者がAPI Keyを発行してから、最初のAPI Call(