Deploy a React app with your agent.
a2a-pack scaffolds a Vite/React frontend that reads the agent's generated contract, lists inferred skills, shows input schemas, and invokes the hosted runtime. Deploy once; get /app, A2A, MCP, auth, files, receipts together.
a2a init chart-agent --frontend react
cd chart-agent
a2a dev
# in another terminal
cd frontend
npm install
npm run devContract-aware
UI reads skill names, scopes, input/output schemas, endpoint URLs from the runtime.
Auth inherits
Private agent → private app. Browser calls use the user session, not platform secrets.
One deploy
Control plane builds the frontend bundle, copies it into the agent image, serves from the A2A runtime.
The manifest is tiny
Frontend block tells deploy where the app lives, how to build, where dist lands, where to mount. Runtime generates config and skill metadata automatically.
frontend:
path: frontend
build: npm run build
dist: dist
mount: /app
auth: inheritfrom typing import Literal
from a2a_pack import A2AAgent, NoAuth, RunContext, skill
class ChartAgent(A2AAgent):
name = "chart-agent"
auth_model = NoAuth
@skill(description="Render a chart from a CSV file.")
async def render_chart(
self,
ctx: RunContext[NoAuth],
dataset: str,
chart_type: Literal["bar", "line"] = "bar",
) -> dict:
return {"dataset": dataset, "chart_type": chart_type}Skills become UI contract
Type hints and @skill metadata become JSON Schema. The generated React starter uses those schemas to build a working skill runner. Replace the runner with a focused production workflow.
- Skill names and descriptions come from decorators.
- Input and output schemas come from Python types.
- Scopes and runtime policy travel with the contract.
What the deployed service exposes
The packed React app
Identity, endpoints, auth mode, inferred skill schemas
Browser helper for calling the agent
Skill contract for custom frontends
Skill invocation API
Local or platform user session metadata
Best use cases
Internal ops tools
Upload, run workflow, review output, approve, export artifacts.
Data and chart agents
Give business users controls instead of raw JSON calls.
Research workspaces
Sources, drafts, run history, generated reports in one place.
Marketplace agents
Let buyers open a real app experience before wiring API or MCP calls.