Google API Linter
Google API Linter checks API surfaces defined in Protocol Buffers against Google API standards set out in API Improvement Proposals.
What Google API Linter is
Google API Linter checks API surfaces defined in Protocol Buffers against Google API standards set out in API Improvement Proposals. When possible, it suggests corrections for common mistakes and inconsistencies. Rules are organized by AIP block: core and client library rules are enabled by default, while Cloud rules are initially disabled. Users can configure rules with command-line flags, a configuration file, or comments in proto files. The command-line tool outputs YAML by default and also supports JSON, GitHub output, and a summary table. It is self-hosted and installed with Go into the local Go binary directory. The software and its documentation are free and licensed under Apache 2.0. The project accepts contributions, including new lint rules, and each rule must correspond to an AIP that mandates the behavior. Coverage is not exhaustive: some guidance cannot be represented as lint rules, and some guidance that could be encoded may not yet have a corresponding rule. The project does not follow semantic versioning because added or corrected rules can cause previously clean files to report problems.
Good
- Free and licensed under Apache 2.0
- Supports YAML, JSON, GitHub, and table output
- Rules can be configured in several ways
- Can suggest fixes for common inconsistencies
Watch out
- Some AIP guidance cannot be expressed as lint rules
- Some expressible guidance may not yet have a rule
- Project does not follow semantic versioning
Who it suits
Google API Linter suits developers working on APIs defined in Protocol Buffers who want to check them against Google API standards and configure applicable rules.
Verdict
Google API Linter offers configurable checks for protocol buffer APIs and several output formats. Its documented coverage limits and rule changes are worth considering when adopting it.
Plans and prices
From Google API Linter's own pricing page, checked 4 Oct 2001.
| Plan | Price | What it gives you |
|---|---|---|
| Apache 2.0 open-source software | Free | No paid plans stated |
The facts
Each one read from Google API Linter's own pages, with the date it was checked.
What it does
- Configuration
- Rules can be configured with CLI flags, a configuration file, or comments in proto files.checked 4 Oct 2001
- Contributions
- The project accepts contributions, and its contributing guide identifies writing a new lint rule as a common contribution.checked 4 Oct 2001
- Corrections
- When able, the linter suggests fixes for common mistakes and inconsistencies.checked 4 Oct 2001
- Coverage limit
- The documentation says some AIP guidance cannot be expressed as lint rules, and some expressible rules may not yet be written.checked 4 Oct 2001
- Installation
- The documentation instructs users to install the CLI with Go install into the local Go binary directory.checked 4 Oct 2001
- Intended users
- The tool is for developers working with APIs defined in protocol buffers and API standards.checked 4 Oct 2001
- License
- The software and its documentation are licensed under Apache 2.0.checked 4 Oct 2001
- Output formats
- The CLI supports YAML, JSON, GitHub, and summary table output, with YAML as the default.checked 4 Oct 2001
- Purpose
- The linter checks protocol buffer API surfaces for compliance with Google API standards documented in API Improvement Proposals.checked 4 Oct 2001
- Rule groups
- Rules are grouped by AIP block, with core and client library rules enabled by default and Cloud rules disabled by default.checked 4 Oct 2001
- Rule requirements
- Each linter rule must correspond to an AIP that mandates the behavior.checked 4 Oct 2001
- Support
- The project documentation links to GitHub to file an issue and view the source repository.checked 4 Oct 2001
- Versioning
- The project says it does not follow semantic versioning because adding or correcting rules can make previously clean files report problems.checked 4 Oct 2001
Alternatives to Google API Linter
- 1

Karate
Free planOpen sourceAPIExtensionLinuxmacOS8.1From $8.33 a month - 2
ATA API Governance
Free planWebAPIExtensionLinux7.7From $0.88 a month - 3

Postman
Free planWebExtensionLinuxmacOS7.5From $9 a month - 4
oasdiff
Free planWebAPILinuxmacOS7.2From $100 a month - 5

Routebase
Free planWebAPILinuxmacOS7.1From $9 a month - 6
SwaggerHub
Free planWebSelf-hosted7.0From $61.67 a month
