a2a docsquickstart

Quickstart

90-second path from nothing to a deployed agent.

Install the CLI

pip install a2a-pack
a2a --help

Sign up

a2a signup --email you@example.com --password ...
a2a whoami

Stores credentials at ~/.a2a/credentials.json. Default API is https://api.a2acloud.io — override with A2A_API_URL or --api.

Scaffold

a2a init research-agent
cd research-agent

You get:

research-agent/
├── agent.py            # one A2AAgent subclass + one @skill method
├── a2a.yaml            # name, version, entrypoint
└── requirements.txt

Run locally

a2a card                  # print the Card JSON the platform will see
a2a run --entrypoint agent:ResearchAgent

Deploy

a2a deploy

Behind the scenes the CP:

  • tarballs your source
  • pushes it to a gitea repo it manages for you
  • triggers a Gitea Actions build (Dockerfile FROM a2a-pack-base)
  • pushes the image to the cluster registry
  • bumps deploy/20-deployment.yaml, ArgoCD reconciles
  • returns the public URL when it's live

Standard output:

shipped
  agent:   research-agent
  version: 0.1.0
  status:  building
  url:     https://research-agent.a2acloud.io
waiting for https://research-agent.a2acloud.io ...
live: https://research-agent.a2acloud.io

What you got

  • Public URL with TLS
  • /healthz, /.well-known/agent-card, /invoke/{skill} (SSE-capable)
  • Auto-derived JSON Schema input validation per skill (pydantic TypeAdapter, additionalProperties: false)
  • MCP-compatible exposure
  • Discoverable from any other agent on the platform via discover_agent + call_agent (HMAC-signed grant)

Next