Prototool aims to simplify working with Protobuf. It can be installed on Mac OS X or Linux through a variety of methods.
Prototool lets you:
- Handle installation of protoc and the import of all of the Well-Known Types behind the scenes in a platform-independent manner.
- Standardize building of your Protobuf files with a common configuration.
- Lint your Protobuf files with common linting rules according to Google' Style Guide, Uber's V1 Style Guide, Uber's V2 Style Guide, or your own set of configured lint rules.
- Format your Protobuf files in a consistent manner.
- Create Protobuf files from a template that passes lint, taking care of package naming for you.
- Generate stubs using any plugin based on a simple configuration file, including handling imports of all the Well-Known Types.
- Call gRPC endpoints with ease, taking care of the JSON to binary conversion for you.
- Check for breaking changes on a per-package basis, verifying that your API never breaks.
- Output errors and lint failures in a common file:line:column:message format, making integration with editors possible, Vim integration is provided out of the box.