gpui-kit GitHub

Native desktop components for GPUI.

A design system, component library, semantic automation layer and visual test kit. Surfaces group with colour rather than lines, every word is replaceable, and every state is the state it claims to be.

Browse 105 components Read the contracts

76builders
29views
82verified scenes
164gate-checked images

Four rules that fail a build

These are not review comments. A change that breaks one does not land.

  1. No literal a reader reads. Text the library authors is named by a StringKey and read from the installed catalogue, so a host can replace any of it. Text the caller passes in is the host's, and shown verbatim.
  2. No hard-coded visual value. Colour, spacing, radius, type, motion and effect come from one token document through the theme.
  3. States are distinct and truthful. Loading, Empty, Unavailable, Error and Ready are five things. A refresh failure keeps the last verified value on screen. A host refusal is shown as a refusal, never as empty data. A disabled control does not install its handler at all.
  4. Anything actionable carries a stable semantic id, derived from business identity rather than list position.

Built for an agent as much as for a person

The API on this site is generated from the source and checked by the gate, so it cannot drift from the library. There is a llms.txt, a machine-readable index, and an MCP endpoint at /mcp that answers the same questions in one call.

cargo run -p xtask -- gate                    # fmt, check, test, clippy, tokens, strings, api
cargo run -p xtask -- scenes capture badge   # render what changed
cargo run -p xtask -- scenes check badge     # compare against the committed image