Slipstream UI is the AI-first component system built for AI-assisted development. Every component ships a machine-readable spec, an MCP server that serves it, and a validator that keeps agents honest.
What makes Slipstream UI different?
Half your UI is written by models. Slipstream gives them something better than docs scraped from training data: a spec they can query, and a guardrail they can self-check against.
Every component ships a COMPONENT_MANIFEST: exact prop schema, defaults, anti-patterns, accessibility requirements, composition rules.
Agents validate generated JSX against the manifest before emitting — hallucinated props and missing requireds are caught, not shipped.
Install real source files through any shadcn-compatible CLI, or use packages. Your codebase, your rules.
No runtime lock-in. Bring any backend — Vercel AI SDK, LangGraph, or raw streams. Components render; you own state.
jest-axe suites on every component, aria-busy streaming states, polite completion announcements, reduced-motion variants.
One createTheme() call emits every CSS variable. Multi-token radius, dark mode, instant switching — no rebuilds.
Three steps, no fine-tuning, no prompt incantations.
Point Claude Code or Cursor at the Slipstream MCP server, or serve llms.txt and the /llm markdown routes.
The agent calls get_component_manifest and get_usage_examples — exact props, defaults, anti-patterns.
Before emitting, validate_usage checks the generated JSX against the manifest and corrects hallucinated props.
Default, Violet, and Zinc presets included. Switch below — this is live theming, not a screenshot.
One createTheme() call emits every CSS variable — components re-theme instantly, no rebuild. Each preset ships a dark variant that follows the site's .dark class.
Other libraries document for humans. Slipstream documents for both of you.
| Capability | Slipstream | shadcn/ui + AI Elements | assistant-ui | MUI |
|---|---|---|---|---|
| Distribution model | npm packages (ESM + CJS) | copy-in source via CLI | npm packages | npm packages |
| Components shipped | 73 (42 UI + 17 AI) | UI primitives + AI Elements | Chat surface + primitives | Broad UI set, no chat |
| Per-component machine-readable spec | ✅ all, with props, a11y and anti-patterns | 🟡 registry.json: files, deps, description | — | — |
| MCP server | ✅ 5 tools incl. validate_usage | 🟡 browse/search/install + install checklist | — | 🟡 agent skills (guidance, not a server) |
| Validates generated JSX against the spec | ✅ validate_usage | — | — | — |
| llms.txt | ✅ | ✅ | ✅ | — |
| Canonical markdown per component/page | ✅ /llm/*.md | 🟡 MDX in the repo | ✅ .md pages | — |
| AI chat components | ✅ 17 built-in | ✅ AI Elements (separate install) | ✅ core focus | — |
| State & transport | ✅ stateless, bring your own | ✅ components only | ✅ runtime adapters (AI SDK, LangGraph, ADK, custom) | n/a — no chat components |
| Styling | Tailwind + CSS variables | Tailwind + CSS variables | Tailwind | Emotion + theme object |
| Theme presets | 4 (Default, Dark, Violet, Zinc) | CSS-variable themes | CSS variables | theme object |
| Peer dependencies | react, react-dom | react | react | react, @emotion/react, @emotion/styled |
| License | MIT | MIT | MIT | MIT |
Reflects each project's public documentation and published packages as of November 2026 · ✅ provided · 🟡 partial or a different model · — not provided for this purpose
Complete, copy-paste patterns built entirely from Slipstream components.
Wire the MCP server into Claude Code or Cursor, run validate_usage before emit, or serve llms.txt and markdown routes — five tools, three consumption paths.
Ship the production chat surface — streaming markdown, stop-generation, citations, approvals — with stateless components, jest-axe coverage, and your own backend.
73 components · 73 machine-readable specs · zero hallucinated props.