- Home
- API Governance Software
- Google API Linter
Google API Linter
What it is
Google API Linter is a self-hosted command-line tool for checking protocol buffer API surfaces against standards documented in Google API Improvement Proposals. It can suggest corrections for common mistakes and inconsistencies. Rules are organized by AIP block, with core and client library rules enabled by default and Cloud rules disabled by default. Developers can configure checks with command-line flags, a configuration file, or comments in proto files. The CLI outputs YAML by default and also supports JSON, GitHub output, and a summary table. Documentation instructs users to install the tool with Go into the local Go binary directory. Coverage has boundaries: some AIP guidance cannot be represented as lint rules, and some expressible guidance may not yet have a rule. Every rule must correspond to an AIP that mandates the behavior. The software and documentation use Apache 2.0 licensing, and contributions such as new rules are accepted. The project does not follow semantic versioning because rule changes can expose new problems.
For and against
For
- Free Apache 2.0 open-source software
- Checks protocol buffer API surfaces
- Suggests fixes when possible
- Supports YAML, JSON, GitHub, and table output
- Rules configurable through flags, files, or comments
Against
- Some AIP guidance lacks lint rules
- Some possible rules may not yet exist
- Cloud rules are disabled by default
- Does not follow semantic versioning
The verdict
Google API Linter gives protocol-buffer API developers a configurable way to enforce applicable AIP requirements. Its rule coverage is intentionally incomplete, and changing rules can affect previously clean files.
Who it suits
This tool is for developers maintaining APIs defined in Protocol Buffers and aligning them with AIP requirements. It fits teams that want configurable linting in self-hosted or CI/CD workflows.
Plans and prices
Apache 2.0 open-source software
No paid plans stated
Read 4 Oct 2026 · linter.aip.dev
On the record
- Configuration
- Rules can be configured with CLI flags, a configuration file, or comments in proto files.linter.aip.dev · read 4 Oct 2026
- Contributions
- The project accepts contributions, and its contributing guide identifies writing a new lint rule as a common contribution.linter.aip.dev · read 4 Oct 2026
- Corrections
- When able, the linter suggests fixes for common mistakes and inconsistencies.linter.aip.dev · read 4 Oct 2026
- Coverage limit
- The documentation says some AIP guidance cannot be expressed as lint rules, and some expressible rules may not yet be written.linter.aip.dev · read 4 Oct 2026
- Installation
- The documentation instructs users to install the CLI with Go install into the local Go binary directory.linter.aip.dev · read 4 Oct 2026
- Intended users
- The tool is for developers working with APIs defined in protocol buffers and API standards.github.com · read 4 Oct 2026
- License
- The software and its documentation are licensed under Apache 2.0.linter.aip.dev · read 4 Oct 2026
- Output formats
- The CLI supports YAML, JSON, GitHub, and summary table output, with YAML as the default.linter.aip.dev · read 4 Oct 2026
- Purpose
- The linter checks protocol buffer API surfaces for compliance with Google API standards documented in API Improvement Proposals.linter.aip.dev · read 4 Oct 2026
- Rule groups
- Rules are grouped by AIP block, with core and client library rules enabled by default and Cloud rules disabled by default.linter.aip.dev · read 4 Oct 2026
- Rule requirements
- Each linter rule must correspond to an AIP that mandates the behavior.linter.aip.dev · read 4 Oct 2026
- Support
- The project documentation links to GitHub to file an issue and view the source repository.linter.aip.dev · read 4 Oct 2026
- Versioning
- The project says it does not follow semantic versioning because adding or correcting rules can make previously clean files report problems.github.com · read 4 Oct 2026