Automic VaultAutomic Vault

brew

Install api-linter with Homebrew, Nix

Linter for APIs defined in protocol buffers. Version 2.3.1 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install api-linter

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#api-linter

nixpkgs package indexes · pkgs/by-name/ap/api-linter/package.nix · source: api.github.com

overview

Package summary

Linter for APIs defined in protocol buffers

Commands and aliases

  • api-linter

history

Project history and usage

Google API Linter is a Go command-line linter for APIs defined in protocol buffers. It checks protobuf API surfaces against Google's API Improvement Proposals, making Google's API design guidance enforceable in local development and CI.

Project history

The public GitHub repository was created in 2019 under googleapis. The README and official documentation frame the tool as a companion to Google's AIP guidance: it can identify common mistakes in API surfaces, offer fixes where possible, and document individual lint rules.

The project explicitly does not follow strict semantic versioning. Its README explains that new or corrected lint rules can be breaking for users because previously clean files may begin reporting findings, so release numbers reflect the linter's core interface rather than a pure compatibility promise.

Adoption history

api-linter is most naturally adopted by teams designing protobuf APIs in the Google style. The README documents installation with Go and notes a Google-internal released binary for internal source control users, while the batch input shows Homebrew and Nix packaging for external command-line installation.

How it is used

The basic invocation is api-linter followed by one or more proto files. It supports proto import paths, descriptor sets, rule listing, structured output formats such as YAML, JSON, GitHub, and summary, and a set-exit-status flag for CI enforcement.

Configuration is supplied explicitly through the --config flag or inline proto comments. The official configuration docs show JSON and YAML config examples that enable or disable rules by included or excluded path, but they do not document a default config-file path, so no config-file-location is recorded here.

Why package nerds care

For package-manager users, api-linter is a compact example of policy-as-CLI: it packages a large body of API-design convention into a reproducible binary. It matters to protobuf-heavy shops because it can be pinned, run in presubmit checks, and upgraded deliberately when new lint rules land.

Timeline

  • 2019: Public googleapis/api-linter repository created.
  • 2025: Version 2.0.0 released, marking a major core-interface version.
  • 2026: Versions 2.1, 2.2, and 2.3 continued rule and interface evolution.

Related projects

  • The linter is tied to API Improvement Proposals at aip.dev and to Protocol Buffers API definitions. It is adjacent to protobuf compilers, buf-based linting workflows, and API governance tooling.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
api-lintercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.3.1
manager updated
local dataok
upstreamcurrent
latest detectedv2.3.1

https://github.com/googleapis/api-linter

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:api-linter
Version2.3.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/api-linter
Homepagehttps://linter.aip.dev/
Repositoryhttps://github.com/googleapis/api-linter
Upstream docshttps://github.com/googleapis/api-linter#readme
LicenseApache-2.0
Source archivehttps://github.com/googleapis/api-linter/archive/refs/tags/v2.3.1.tar.gz
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameapi-linter
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

api-linter

nix profile install nixpkgs#api-linter
  • normalized package name match
  • Matched by: API Linter
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ap/api-linter/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment