Workspace and architecture hub for native A2UI generative interfaces.
GenUI is a native Swift workspace for generative user interfaces. Agents produce declarative A2UI messages, clients validate them against an allowed catalog, and SwiftUI renders the resulting surfaces without executing agent-generated code.
This repository is the architecture and workspace hub. Product code remains in independent repositories pinned here as Git submodules. The offline component Playground is a root-owned developer tool so it can exercise several packages together without creating another release dependency.
GenUI is experimental software. The renderer and local demos work, while the hosted gateway still lacks production authentication, rate limiting, and session-resume guarantees.
apps/genui-ios — native iOS clientapps/genui-macos — native macOS workspace, migrated from genui-demoapps/genui-playground — offline component gallery with macOS and iOS hostspackages/genui-kit — A2UI state, binding, and SwiftUI rendererpackages/genui-components-swift — shared design system and component catalogspackages/genui-agent-client-swift — cloud agent client SDKpackages/genui-bridge-swift — transitional local tool-call bridgeprotocol/genui-agent-protocol — versioned client/backend contractbackend/genui-agent-runtime-ts — provider-independent agent runtimebackend/genui-cloudflare-agent — Cloudflare deployment and durable sessionsgenui-bridge-swift remains in the workspace while its validation and A2UI
tooling responsibilities move to the cloud runtime. It can be removed after
the macOS application no longer depends on it.
Clone the complete workspace in one command:
git clone --recurse-submodules https://github.com/kiliczsh/genui.git cd genui
For an existing clone:
git submodule sync --recursive git submodule update --init --recursive
The required GenUI dependencies are public. A complete recursive clone can be performed over anonymous HTTPS; private credentials are only needed for maintainer-only operations.
Initialize the workspace and build the API-key-free Playground:
make bootstrap make playground-build
Open apps/genui-playground/GenUIPlaygroundMobileApp.xcodeproj, select the
shared MobileApp scheme, and run it on an iOS simulator. The gallery is
fixture-driven and does not connect to an agent or network service.
Useful workspace commands:
make help make status make backend-check make apps-build make check
Start the local Cloudflare gateway with:
make dev
Provider configuration remains in the gateway's ignored .dev.vars file; use
the checked-in .dev.vars.example as the template. Ollama and llama.cpp can be
used without a hosted OpenAI API key when their models support tool calling.
Each submodule has its own history and remote. Commit and push changes inside the child repository first, then commit the updated submodule pointer in this repository.
cd packages/genui-kit git switch main git pull cd ../.. git add packages/genui-kit git commit -m "Update genui-kit"
The root repository owns the workspace Makefile, concise cross-repository guidance, and the Playground. It does not copy source code from the independent application, package, protocol, or backend repositories.
The repository layout and initial submodule links are established. Core package builds, native application builds, deterministic runtime smoke checks, and the offline Playground are working. Open-source licensing, anonymous dependency resolution, release tags, and production gateway safeguards are still in progress.