What is XCON?
XCON is an open-source UI document format built for the LLM era. It describes screens as structured data — not code — so they can be generated by LLMs, shared safely, and rendered without executing anything.
FAQ
Common questions about XCON, the viewer boundary, and syntax choices.
XCON is an open-source UI document format built for the LLM era. It describes screens as structured data — not code — so they can be generated by LLMs, shared safely, and rendered without executing anything.
XCON is for developers embedding UI in documentation, designers sharing specs without sending code, and anyone building or reviewing LLM-generated interfaces.
Yes. The viewer boundary blocks all script execution, event handlers, backend calls, and raw HTML injection by design. You can open an XCON document from anyone — safely.
MDX executes JavaScript — it's designed for trusted authors only. XCON doesn't execute anything. The viewer-only boundary is enforced at the format level, not as an option you can turn off.
Yes. Any LLM that can generate SKETCH or JSON can produce XCON documents. SKETCH syntax is especially well-suited for LLM generation — its indentation-based structure is close to the YAML and Markdown patterns LLMs already know well.
No. The name is an homage to JSON, but XCON is a viewer-oriented UI document format with four syntax representations: JSON, XML, TAGLESS, and SKETCH. All four parse into the same object model.
Each syntax serves a different role. LLMs generate SKETCH. APIs consume JSON. Tools edit XML. TAGLESS handles transport edge cases. You don't need to use all four — pick what fits your workflow.
UI authoring often needs comments, design-time metadata, namespace-style extension, and round-trip editing. XML handles all of these naturally.
TAGLESS is a symbolic transport syntax that reduces delimiter conflicts when XCON documents are embedded inside other formats — such as prompts, JSON strings, or custom protocols.
Yes. Drop a fenced xcon block anywhere in your Markdown. The @xcon-viewer/markdown-it and @xcon-viewer/remark packages render it inline alongside the rest of your content.
No. Public XCON documents describe renderable UI structure and data only. Scripts, event handlers, backend calls, and business logic are outside the public viewer boundary.
This is an early release. The core parser, viewer, and CLI are stable, but the spec is still evolving. Bug reports and feedback are welcome — they directly shape the format.