Components
uidu's design system as a shadcn registry — the theme and the components uidu itself uses, installed into your app with one command.
The registry at https://developers.uidu.org/r serves uidu's tokens and components, generated from uidu's own source. Install them with the shadcn CLI: you get the files in your project, to read and change.
Install everything
The kit installs the theme and every component, which is what an app framed inside uidu needs to look like the page around it:
npx shadcn@latest add https://developers.uidu.org/r/kit.jsonAdd the registry once
Add the @uidu namespace to your components.json, then add components by name:
{
"registries": {
"@uidu": "https://developers.uidu.org/r/{name}.json"
}
}npx shadcn@latest add @uidu/theme @uidu/button @uidu/fieldThe custom-app template ships with the registry configured and the kit installed.
What's in it
| Item | Type |
|---|---|
theme | uidu's tokens, light and dark: the neutral palette, the teal accent, success / warning / info and a 0.5rem radius. |
kit | The theme plus every component below. |
alert, alert-dialog, avatar, badge, button, button-group, calendar, card, checkbox, dialog, dropdown-menu, empty, field, input, input-group, item, kbd, label, popover, progress, radio-group, scroll-area, select, separator, sheet, skeleton, sonner, spinner, switch, table, tabs, textarea, toggle, tooltip | Components |
The registry is regenerated whenever uidu changes a token or one of these components, so pull updates with npx shadcn@latest add @uidu/<name> --overwrite.
Data components
The components that render uidu data — PageBlocks, BlockRenderer, RichText, DynamicForm — ship in @uidu/react, not in the registry.
App bridge
How a custom app talks to the uidu page that frames it — UiduAppProvider and useUiduApp, connect(), trusted origins, the protocol, and fromBridge.
AI agents
Set up Claude Code, Cursor, Codex or any coding agent to build on uidu — skills, the Claude Code plugin, Markdown docs and a CLI that speaks JSON.