The best way of working with Protocol Buffers.
Buf is a modern toolchain for Protocol Buffers that replaces manual `protoc` use with an integrated compiler, workspace management, formatting, linting, breaking-change detection, code generation, dependency management, and a client for the Buf Schema Registry. Built in Go, Buf handles the full developer workflow for Protobuf schemas—from local development through CI checks to publishing APIs on a registry—with features like deterministic parallel compilation, 40+ built-in lint rules, multi-category breaking-change detection, and support for both local and remote code-generation plugins. The project is maintained by Buf as an open-source tool and is distributed via Homebrew, Docker, and other package managers.