TL;DR
Buf が開発した、Protocol Buffers の開発を楽にするための CLI ツール。コード生成、破壊的変更の検知、リンタ、フォーマッタなど、開発や保守に役立つ機能を持つ。
仕組み
protoc とは別の独自コンパイラを内蔵しており、protoc より高速に処理できる。設定は buf.yaml に書く。現在の設定ファイルの形式は v2 である。
例
Homebrew でインストールできる。
$ brew install bufbuild/buf/buf
$ buf --version
1.42.0主なコマンドは次のとおり。
buf config init:buf.yamlを生成する- buf generate: コードを生成する
- buf lint: リンタ
- buf format: フォーマッタ
- buf breaking: 破壊的変更を検知する
- buf curl: gRPC サーバにリクエストを送る。gRPCurl に近い