Build the whole interface on UI SDK.
UISet is the components, kits, templates and themes for Vercel’s UI SDK. UI SDK handles keyboard, focus, screen readers and agents; UISet adds how it looks, the big components real apps need, and whole pages. Install any piece with the shadcn CLI.
pnpm dlx shadcn@latest add superzero11/uiset/uisetThe same live form in every skin. Tab through it: keyboard, focus and screen reader behavior never change.
UI SDK gives you behavior. UISet gives you everything else.
UI SDK moved the hard part of UI into reusable behaviors: arrow keys, focus, selection, popups, drag and drop, and the ARIA that goes with them, plus a bridge that lets agents work the controls. It ships its components unstyled, and it leaves the large ones to you. That’s where UISet starts.
UISet
- Looks
- five skins, a theme generator, sound and haptics
- 55 styled components
- and 16 app parts
- 12 kits
- chat, rich text, data grid, charts, scheduler and more
- 10 page templates
- to start from
- Web Components
- for Vue, Svelte, Solid and HTML
- A skill and llms.txt
- for coding agents
UI SDK
- Behaviors
- keyboard, focus, selection, popups, drag and drop
- 55 components
- unstyled
- Agent bridge
- and WebMCP
- Five frameworks
- React, Vue, Svelte, Solid, Web Components
Everything a product needs, in one set
Pick what you need; each item installs on its own and brings only what it uses. You never mix in a second UI library.
- 55 + 16ComponentsEvery UI SDK component, styled, plus the app frame and data display parts: sidebar layout, page header, cards, badges, stats, alerts.
- 12KitsThe big pieces apps need and UI SDK leaves to you: chat, rich text, a data grid, charts, a board, a scheduler, a canvas, an IDE, a terminal.
- 10TemplatesWhole pages to start from: auth, dashboard, settings, admin, inbox, chat app, project board, calendar, pricing, IDE.
- 5ThemesFive skins you can switch live and nest, and a generator that turns one color into a complete, checked theme.
Kits you’d otherwise build yourself
These are the real components, running. Each is keyboard-first, readable by screen readers and agents, and styled by the skin around it.
Simulated assistant. Every part is a real component: markdown, code, reasoning, tool calls, sources, tasks, versions, attachments, commands and mentions.
pnpm dlx shadcn@latest add superzero11/uiset/chat superzero11/uiset/chat-composerAll 12 kits, including the board, canvas, IDE, mobile patterns, terminal and the Studio synth.
Agents can use it, not just look at it
Every control is named for UI SDK’s agent bridge, so an agent reads the page as data and works the controls directly, with no screenshots. Risky steps wait for a person in the Agent Console, and every change can be undone.
Across 3 tasks on UISet's kits, agents using the bridge made 40% fewer tool calls, read 79% less text and finished 40% sooner than agents using browser tools, and every run of both finished its task (medians of 3 runs each).
- Tool calls
- −40%
- Text read
- −79%
- Time
- −40%
Five skins, one set of components
A skin is pure CSS: colors, type, edges, sound and motion. Keyboard, focus, screen reader and agent behavior stay the same in every one, and each is checked for contrast in every component. Skins nest, so one page can mix them, and the generator makes your own.
Base
Takes your shadcn theme, or builds one from a single key color.
Blueprint
A technical drawing: cyanotype paper, linework and hatching.
Studio
A synth rack: gunmetal panels, rubber pads and amber lamps.
Phosphor
A green-screen terminal: intensity, inverse video, scan lines.
Ink
E-paper: ink on grey, dotted greys, a reading serif, no motion.
Tested like the infrastructure it is
A UI library is only as good as its worst state. These run on every change.
- Accessibility
- Every component, kit and template is checked with axe in every skin and theme: text contrast, control edges, names and roles.
- Keyboard
- Each kit is driven by keyboard in its tests: moving cards, editing cells, drawing events, writing rich text.
- Agents
- Each kit has a test where an agent reads it and acts through UI SDK’s bridge, by the names people see.
- Mutation tests
- Each new behavior is broken on purpose to prove a test notices, then restored.
- Installs
- Every item is installed on its own and all together into a fresh app, then type-checked and built.
- The rest
- Right-to-left, Windows high contrast, reduced motion, phone widths, and React and web versions side by side.
Start in three steps
Add the root
It brings the tokens, the skins and the sound, into your project’s components folder.
pnpm dlx shadcn@latest add superzero11/uiset/uisetWrap your app
Every UISet and UI SDK component inside takes the skin. With a shadcn theme on the page, the base skin uses it.
app.tsx import { UISet } from "@/components/ui/uiset" export function App() { return <UISet skin="base">{/* your app */}</UISet> }Add what you need
Components, kits or a whole page, each with one command.
pnpm dlx shadcn@latest add superzero11/uiset/button superzero11/uiset/field superzero11/uiset/data-grid
Installation covers manual setup, fonts and Web Components.
React, or anything that renders HTML
Every kit and template also ships as Web Components with the same styles and behavior, for Vue, Svelte, Solid, Angular and plain HTML.
import { RichTextEditor } from "@/components/ui/rich-text"
import { UISet } from "@/components/ui/uiset"
<UISet skin="ink">
<RichTextEditor label="Release notes" defaultValue="## Release 2.4" />
</UISet>
Questions
Where it’s going
UISet grows with UI SDK. What’s next, in the open:
- More skins
- Cockpit (guarded switches and gauges), Paper (cards and tape) and Print (brutalist type), each with its own sound.
- Framework guides
- Step-by-step setups for Vue, Svelte, Solid and Angular with the Web Components build.
- More templates
- Onboarding, a settings console wired for agents, and a docs site.
- Following UI SDK
- UISet tracks UI SDK’s releases, and reports the issues it finds upstream, until UI SDK 1.0.