⬡ FRAMEWERK
Integrations

A2UI

How Framewerk relates to A2UI — concept mapping only; the exporter is planned, not shipped.

View as Markdown

A2UI

Status: planned. There is no A2UI exporter today. This page is a concept-mapping table so you can see where the two formats meet before the exporter exists. There are no install instructions because there is nothing to install.

Framewerk is opinionated; A2UI is a UI-exchange format aimed at agents and assistants. The relationship is export — post-1.0 — not a conversion layer in the other direction.

Concept mapping

A2UI conceptFramewerk equivalent
Root application treescreens[] with a layout tree
Widget / component catalog~40 built-in node types (text, button, input, …) plus user components
Widget propsNode layout props and type-specific props
Data binding to a modelstateVars + $state / expressions in showWhen
Actions / tool callsaction strings: navigate, back, setState, toggleState, scrollTo, openUrl
Navigation / intentsflows[] and navigate(screenId)
Styling / themingstyles[] tokens and rules; brands[] for identity
Localizationcontent registry: $c() labels, $f() fixtures

The same screen, both shapes

Framewerk (what you write today):

A Framewerk screen
phone
SPEC.JSON
RENDERED OUTPUTFRAMEWERK RENDERER
Sign in
you@example.com
Continue
Edit the JSON to update the rendered screen.Edits stay in this preview

The same screen expressed as A2UI-shaped JSON (illustrative, not a shipped export):

{
  "version": "0.1",
  "layout": {
    "type": "column",
    "children": [
      { "type": "text", "value": "Sign in", "style": "heading" },
      { "type": "input", "label": "Email", "placeholder": "you@example.com", "bind": "email" },
      { "type": "button", "label": "Continue", "onTap": { "type": "submit" } }
    ]
  }
}

The mapping is one-to-one for layout and controls. What Framewerk has that A2UI does not model is the full document: flows, styles with tokens, devices, and a validator. What A2UI has that Framewerk does not is a schema-agnostic contract with external tool calls — Framewerk's action grammar is deliberately six verbs.

When the exporter ships

It will lower a Framewerk document to A2UI for a target that only speaks A2UI. Until then: no install, no CLI, no claim of support. Follow the project changelog for the status flip.