メインコンテンツまでスキップ

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

更新フロー

  1. .protoファイルを編集
  2. make proto/lintでチェック
  3. make proto/genでコード生成
  4. 生成コードをコミット

関連ドキュメント