Go to file
wrenj 53b3bc5ef7
Expand extension specification docs and unify URL (#246)
2025-12-09 07:32:49 -08:00
.gemini Move lit library to its final home (#204) 2025-12-05 10:37:44 +10:30
.github/workflows Add workflow to verify Python example builds (#245) 2025-12-09 06:35:08 -07:00
a2a_agents Expand extension specification docs and unify URL (#246) 2025-12-09 07:32:49 -08:00
docs docs: Update Landscape Architect Demo 2025-11-06 16:47:12 -05:00
editor Move lit library to its final home (#204) 2025-12-05 10:37:44 +10:30
renderers Move Angular code around (#238) 2025-12-08 17:54:33 +01:00
samples/client Updates made to allow Orchestrator UI to display which A2A Agent was in charge of putting together the reponse message. (#239) 2025-12-08 19:18:51 -05:00
specification Expand extension specification docs and unify URL (#246) 2025-12-09 07:32:49 -08:00
web Delete duplicate files from old folder structure (#229) 2025-12-05 15:16:42 -08:00
.gitignore Remove dev.nix. (#241) 2025-12-08 14:04:46 -05:00
CONTRIBUTING.md Fix Cross issues. (#30) 2025-10-17 17:45:32 -07:00
LICENSE Add license file with Apache 2 for now 2025-10-03 11:46:25 +09:30
README.md Move specification to v0.8 folder and centralize JSON schemas, specification docs, and associated eval (#115) 2025-11-12 09:39:06 +10:30
mkdocs.yaml docs: Update Homepage Styling and text (#105) 2025-11-05 10:23:43 -06:00
requirements-docs.txt Add icon enum values to specify allowed icons (#98) 2025-11-04 17:45:53 -08:00

README.md

A2UI (Agent to UI) Protocol

This repository contains the specification for the A2UI protocol, a JSONL-based, streaming UI protocol designed to be easily generated by Large Language Models (LLMs).

Project Overview

The A2UI protocol enables a server to stream a platform-agnostic, abstract UI definition to a client, which then renders it progressively using a native widget set. The core design principles are:

  • LLM-Friendly: The protocol uses a simple, declarative, and flat structure that is easy for LLMs to generate.
  • Progressive Rendering: The UI is streamed as a series of JSONL messages, allowing the client to render the UI as it arrives, improving perceived performance.
  • Platform-Agnostic: The protocol defines an abstract component tree, and the client is responsible for mapping these abstract components to its native widget implementations.
  • Separation of Concerns: The protocol separates the UI structure (components), the application state (data model), and the client-side widget rendering.

Repository Layout

The repository is structured as follows:

  • docs/: This directory contains general information about the A2UI protocol .
  • specification/: Contains formal specification documents and JSON schemas for the protocol.