このリポジトリは Meline の API スキーマを管理するための protobuf ファイルを格納したリポジトリです。
このリポジトリの main ブランチに変更があると、自動的に GitHub Actions によって web / server にビルド要求が dispatch され、型更新PRが作成されることで、API スキーマの変更を自動的に反映し型安全な開発を実現します。
Node.js 環境が必要です。 また、protobuf-gen ライブラリとして protoc-gen-openapiv2 を利用しているため、そのインストールが必要です。
Go環境がある場合はとても簡単です。
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
npm install -g pnpm
google/api/annotations.proto
等を利用できるようにするためbuild前に依存関係の更新をしてください。
pnpm update:proto
また、protobuf-gen ライブラリとして protoc-gen-openapiv2 と protoc-gen-go が必要です。 を利用しているため、そのインストールが必要です。
Go環境がある場合はとても簡単です。
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
pnpm build
これで proto フォルダに定義された protocol buffer の定義から、protoc-gen-openapiv2 によってOpenAPI v2 の定義が生成ます。
さらにそれをswagger-cliによってバンドルし、docs
フォルダに静的HTMLアセットとして出力します。
pnpm serve
することで、http://localhost:3000
にビルドしたAPIスキーマのドキュメントが表示されます。
pnpm update:proto