Protocol Buffers
Bazbiiシステムで使用するProtocol Buffersの定義と管理方針です。
概要
定義場所
packages/proto/bazbii/
生成コード
- Go:
packages/proto-gen-go/ - TypeScript:
packages/proto-gen-ts/
管理ツール
- buf: Protocol Buffersの管理とコード生成
サービス定義
認証サービス
auth/v1/user_provision.proto: ユーザープロビジョニング
投稿サービス
post/v1/user_post_command.proto: 投稿コマンド
フィードサービス
feed/v1/local_feed.proto: ローカルフィードfeed/v1/heatmap.proto: ヒートマップ
バージョニング方針
基本原則
- 追加のみ: 既存フィールドは削除しない
- 後方互換性: 既存のクライアントが動作し続けること
- reserved: 削除したフィールドはreservedで保護
破壊的変更時
- 新しいバージョンを作成(例:
v2) - 旧バージョンは段階的に廃止
コード生成
# Protocol Buffersからコード生成
make proto/gen
# リントチェック
make proto/lint
# 破壊的変更チェック
make proto/breaking
更新フロー
.protoファイルを編集make proto/lintでチェックmake proto/genでコード生成- 生成コードをコミット