JsonUI
← Toolsjsonui-cliSix sub-CLIs under one install. jui is the orchestrator — the only binary you routinely type. It delegates to sjui / kjui / rjui for the three platform builders, to jsonui-test for the test runner, and to jsonui-doc for HTML documentation. As of 2026-05 jui also owns the swagger-driven Data Model pipeline (`jui g api` + `jui ls api-specs` / `ls api-models`). Everything reads the same jui.config.json, and every command is idempotent.~10 min read
The topologyOne install drops all six binaries under ~/.jsonui-cli/. PATH entries for sjui_tools/bin, kjui_tools/bin, rjui_tools/bin let you invoke the per-platform tools directly — handy for CI shards that only care about one platform. In day-to-day work you typically stay in jui: it owns the happy path (generate → build → verify → sync).
The jui orchestratorjui is the single entry point the agents, the MCP tools, and you all use. It resolves jui.config.json, determines which platforms the project targets, and routes each subcommand to the right builder(s). Most projects never need to call sjui / kjui / rjui directly — the orchestrator handles fan-out, including parallelism across platforms when a single build spans iOS, Android, and web.
jui cheat sheet
# Every workflow starts at jui. It reads jui.config.json and
# fans out to the right platform-specific builder.
 
jui init --project-name my-app \
--ios ios --android android --web web # scaffold fresh project
jui generate project --file X.spec.json # scaffold Layout + VM + hook
jui generate converter --from foo.component.json # scaffold custom-component converter (3 platforms)
jui generate converter --from foo.component.json \
--skip-existing # idempotent re-run (CI-safe)
jui build # regenerate all platforms
jui build --web-only # single-platform build
jui hotload listen # live-reload (iOS + Android)
jui verify --fail-on-diff # drift gate
jui sync_tool # pull latest from ~/.jsonui-cli
Sub-CLI catalogSix entries: the orchestrator + three platform builders + test runner + HTML doc generator. Each has its own --help worth reading at least once.
juiORCHESTRATOR
Top-level command. Subcommands: init / generate / build / verify / sync_tool. Reads jui.config.json to fan out to the right platform builder(s). Almost every day's work starts and ends here.
sjuiiOS
SwiftJsonUI builder. Generates SwiftUI + UIKit dual-mode Swift from Layout JSON. Owns the Dynamic mode asset pipeline that feeds hot reload on device. Can be invoked standalone for iOS-only CI shards.
kjuiAndroid
KotlinJsonUI builder. Generates Compose + XML Views dual-mode Kotlin from Layout JSON. Dynamic mode mirrors sjui's — same hot-reload contract, different runtime glue.
rjuiWeb
ReactJsonUI builder. Generates React + Tailwind code from Layout JSON — targeting Next.js by default, or any React-family framework via the web_framework adapter in rjui.config.json — invoked as part of `jui build --web-only` (or plain `jui build`). Powers this documentation site: the regenerated TSX is what Next.js HMR pushes into the open browser tab when you edit a JSON file.
jsonui-testTEST RUNNER
Executes tests/screens/*.test.json against a real running app — iOS simulator, Android emulator, or a headless browser. Every step is an action or an assertion, with the target element found by its `id`; tests are JSON, not code.
jsonui-docDOC GEN
Generates HTML documentation from screen / component specs and runs implementation contract checks (`jsonui-doc check`) that verify docs against real APIs and DBs. Used by /reference pages and anywhere a spec needs a human-readable companion view. Also powers doc_generate_* MCP tools. See /tools/doc for full reference.
Exit codes + CIEvery CLI returns 0 on success, non-zero on failure. jui build returns non-zero if any platform build fails. jui verify --fail-on-diff returns non-zero on drift — wire this into CI as the drift gate. jsonui-test returns non-zero if any test file fails. The standard set of failure modes (spec validation / schema drift / platform build error / test failure) each have distinct codes, documented in --help per command.
Keep reading
Agents for Claude / CodexThe nine agents that drive jui for you./tools/agents
jsonui-mcp-serverThe 45 typed MCP tools the agents call — many of them wrap jui commands; Group E adds API model discovery, Group F adds test tooling./tools/mcp