gRPC CLI vs protoc-gen-doc
gRPC CLI
grpc.github.ioprotoc-gen-doc
github.comSide by side
| Figure | gRPC CLI | protoc-gen-doc |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 8.1 (#5) | 7.9 (#13) |
| License | The gRPC repository identifies its license as Apache-2.0. | The software is distributed under the MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its terms. |
| Purpose | gRPC CLI is a command-line tool included in the gRPC repository for interacting with gRPC servers. | protoc-gen-doc is a documentation generator plugin for the Google Protocol Buffers compiler. |
Plans
In their own words
gRPC CLI
gRPC CLI is a free, open-source command-line tool in the gRPC repository for inspecting services and calling remote methods. It can send unary RPCs, attach metadata to requests, display metadata received from a server, and handle common server authentication. With server reflection, it can list services and methods; when reflection is unavailable, local proto files can supply service definitions and request or response types. Requests can be read in proto text or wire form. Responses can be displayed as text or written to a file in wire form. Streaming RPC support is described as a desired capability, not part of the documented core functionality. The tool runs on Linux, macOS, and Windows, but must be built from repository source. The documented process uses CMake and the `make grpc_cli` build target. Its documentation describes the tool as not yet up to par in user-friendliness and says grpcurl is better maintained in its current state. The gRPC repository identifies its license as Apache-2.0.
protoc-gen-doc
protoc-gen-doc is a documentation generator plugin for the Google Protocol Buffers compiler. It turns comments in .proto files into HTML, JSON, DocBook, or Markdown documentation, covering files, messages, fields, services and methods, enums and values, and extensions. It supports proto2 and proto3, including both in the same context. You can exclude files with path patterns and omit comments marked with the @exclude prefix. The plugin runs through protoc with the --doc_out and --doc_opt options; its source_relative flag places generated output in the same relative directory as the input. For customization, users can supply a Go template or use a stylesheet.css file to change HTML appearance. Installation options include Go, prebuilt releases, a Docker image, and a Maven Central package. It runs on Linux, macOS, and Windows and is self-hosted. The project is free under the MIT License, which allows use, modification, distribution, sublicensing, and sale under its terms. The license provides the software as is, without warranty.