← All Articles
A2A CI/CD February 17, 2026

A2A Adds API Linter to CI: Protocol Quality Gets Automated

As the Agent-to-Agent Protocol matures past 1.0, Google adds automated proto file validation — a sign the spec is ready for enterprise implementation.

Author

Darrel
A2A specification contributor · Infrastructure automation

What Changed

The A2A repository now runs Google's API Linter on every pull request. Any proto file changes that violate Google's API design guidelines will fail CI before merge.

This sounds mundane — most mature APIs have automated linting. But for a protocol that just shipped 1.0 and is being implemented across the industry, it signals a transition from "experimental spec" to "production infrastructure."

What the Linter Catches

Google's API Linter enforces hundreds of rules from the API Improvement Proposals (AIP) guidelines. For A2A's proto files, this means:

The companion commit that adjusted ListTasksRequest.tenant field numbering shows the linter already catching issues.

Why This Matters

For Implementers

When you're building an A2A client or server, you want confidence that:

Automated linting provides that confidence in a way that human review cannot.

For the Ecosystem

A2A is designed for AI agents to communicate across organizational boundaries. Inconsistent proto definitions would cascade into incompatible implementations. The linter prevents this at the source.

Context: A2A 1.0 shipped in January. Within a month, the project has added a DeepLearning.AI course, HTTP caching guidance, and now automated spec validation. This is rapid maturation.

For Contributors

New contributors get immediate feedback on whether their proto changes meet guidelines. No more back-and-forth in code review about naming conventions — the CI catches it automatically.

Technical Details

The workflow adds a new CI job that runs on all PRs:

name: API Linter
on:
  pull_request:
    paths:
      - '**/*.proto'

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: googleapis/api-linter-action@v1
        with:
          args: --config .api-linter.yaml proto/**/*.proto

The configuration allows project-specific rule customization where A2A intentionally diverges from Google's internal conventions.

Related Changes

Today's A2A activity also includes several spec fixes from Yaroslav (@yarolegovich):

These are exactly the kind of refinements you'd expect as implementations hit edge cases — and exactly what the linter will help prevent in future changes.

What's Next

Expect continued polish as A2A moves toward 1.1. The llms-full.txt script update suggests the team is also thinking about how to make the spec more consumable by AI agents themselves — a nice bit of dogfooding.