Free & open source

Ship AI apps that look designed, not generated.

UIcockpit is a design system generator: dial in your design language — colour, type, shape and motion — preview it live, and export it as framework-neutral tokens + components you drop into any app and keep tweaking behind one link. Then hand it to your AI, and a checker keeps every new screen on it instead of drifting back to generic.

See how it works
Brand colour
$0
Forever free
100+
UI components
16
WCAG checks
7
Export formats
Where it fits

Not another component library.

A design system hands you someone else's taste, themed — a generator ships your own. Tailwind is how you style. shadcn is what you assemble. UIcockpit is the design language that makes it yours — the layer that owns how your app looks, and keeps it coherent as it (and your AI) grows.

You have Tailwind / CSShow you write styles.UIcockpit is the decisions those styles encode — the layer above.
You have shadcn / Radix — the components.UIcockpit is the design language that makes any component look like one product.
You have Figma / tokens — the design source.UIcockpit is that language, but executable, framework-neutral, and self-enforcing.
In your build loop

One language, three jobs.

UIcockpit isn't a one-time download — it's a layer in your build loop. Set the language once, let your AI apply it on every screen, and check that nothing drifts as the app grows.

How UIcockpit worksYour design language is configured once on the left; a pulse flows to a grid of components on the right, which all adopt the coherent style — including a new, previously unbuilt component — and a coherence check confirms it.AaYour design languageCONFIGURE ONCEEvery screen inherits itEVEN THE ONES YOU NEVER BUILT?Coherent · checked
Define

Make your taste decisions once in the configurator — colour, type, shape, density — and export framework-neutral --k-* tokens, the component recipes, and a machine-readable contract. Your whole design language, in one artefact.

Apply

Hand the kit to your AI — over MCP, a skill, or your rules file. It builds on-brand UI in one shot, composing real recipes instead of reaching for the same grey default.

Verify

Run npx uicockpit check --strict. It fails on a hardcoded hex, off-grid spacing, or the wrong token — so what the agent ships stays coherent, screen after screen.

Define → Apply → Verify — every time the UI changes.

Measured, not claimed

Does the contract actually keep AI on-system?

We had an AI agent build six UIs twice — once handed the kit, once on its own — and let uicockpit check --strict score the drift. No human grading; the verifier counts it.

5drift issues
with the kit
vs
127without it
25× less drift
Settings form030
Invoice table121
Pricing cards214
Stat header125
Alert stack012
Login card125
with kit without kit

Without the kit the agent drifts where the eye can’t catch it — 35 raw hex colours · 45 off-grid spacing · 26 off-scale type · 9 off-scale radii. With the kit, the few slips are all invented token names — which check flags on the spot, a one-line fix.

6 tasks · 12 agent builds · the harness + results are in the repo (bench/) — reproducible.

The opinion layer on top.

Component kits ship neutral primitives. UIcockpit ships the opinion on top — and an export your AI reads, so every generation stays on-brand.

Coherent, not generic

Every decision — colour, type, radius, density, motion — resolves into one opinionated system. Pick a Style and a brand colour; the engine derives a kit that looks designed, not defaulted.

Component recipes included

Every export ships with per-component CSS — buttons, inputs, dialogs, tabs, badges with full hover/focus/disabled state contracts. Not just tokens, the real recipe so AI tools generate components that actually match your system.

WCAG audit on every kit

16 contrast pairs tested against WCAG AA before you download — text on surfaces, buttons on fills, status colors on their tints. Pass count visible in the topbar. No more guessing whether your blue is accessible.

Charts that match the brand

A 6-color data-viz palette auto-derived from your primary, accent, and system colors. Drop into Recharts, Chart.js, Tremor — series colors that look like the rest of your app, not random rainbow defaults.

AI prompt, behavior-shaping

Paste one prompt into your AI tool's rules file (.cursorrules,CLAUDE.md, a system prompt) — and every generation respects your tokens, type, components, and motion automatically.

A kit you come back to

No accounts. Your whole setup lives in the link — share it, or reopen it later to tweak and re-export. The kit is a place you return to, not a one-time download.

Two ways to use it

Two doors. One loop.

Use it to make your own kit for your app — or to keep what your AI builds from drifting back to generic. Same design language, two jobs.

Make your own UI kit

Where UIcockpit sits next to the tools you already reach for.

UIcockpitTailwindshadcn / RadixMUIFigma tokens
Opinionated look out of the box
One brand → a whole system, auto-derived
Framework-neutral (React, Vue, Svelte, HTML)
Component recipes with state + a11y contracts
Machine-readable conformance contract
A checker that fails the build on drift
Agent-native (MCP + rules file)
Re-theme everything from one config

Yes Partial No

Keep your AI on-brand

The same screen, built by a fresh-context model — with the kit, and without it.

AI, on its ownAI + UIcockpit
Brand colourThe model’s median indigo — not yoursYour exact brand, every screen
A second screen, same sessionQuietly drifts — h1 at 26px here, 30px there; padding 32 vs 40Pixel-identical — zero raw values
A fresh chat next weekStarts over, re-guesses, drifts againReads the same contract, lands the same
Catches drift before you shipNothing doescheck fails the build
After twenty screensRecognisably similar, subtly inconsistentStill one product

Models have taste — what they don’t keep is your taste, across screens and sessions. That’s the part a contract and a checker hold.

Built to a standard

Anatomy of a UIcockpit component.

Every component is built the same way — so a developer coming from shadcn or Tailwind can trust it on sight. Here's what's under the hood, and exactly what you can rely on.

  • Real semantic HTML. Buttons, inputs, lists, links — keyboard-operable and screen-reader-named, never a clickable <div>.
  • Every state, covered. hover · focus-visible · active · disabled · loading — on every interactive part, not just the happy path.
  • ARIA done right. listbox, progressbar, tooltip, radiogroup, aria-current — the contracts assistive tech actually relies on.
  • Visible focus rings, AA contrast. 2px rings on every control; 16 contrast pairs tested to WCAG AA before you download.
  • 100% token-driven. No hardcoded hex or px — restyle the entire kit by changing one config.
  • Framework-neutral. Plain CSS recipes — drop into React, Vue, Svelte, or a static HTML page.
  • Benchmarked vs shadcn, Radix & Tailwind. Graded component-by-component — parity or better is the bar.
The same contract holds for all 100+ components — so the kit feels like one system, end to end.

Three steps. No spreadsheet.

Cockpit replaces the "pick 60 hex codes by hand" phase with one panel of decisions.

Pick a starting point

Choose a Style and a brand colour, or start from a single hex code and let the engine derive the rest of the system.

Tweak any decision live

Radius, density, motion, typography, fonts, button shape — every change re-renders a full component gallery and a live dashboard preview.

Export, ship, return

Hand off to your engineers or any AI coding tool in eight framework-neutral formats. Come back any time to tweak the kit and re-export.

Live kit · CDN

Link it once. Keep tweaking.

Host your kit behind one <link>. Come back, change a colour or bump the type, and every app on the live link restyles — no re-export, no redeploy.

Dev · liveProduction · pinned
Live now
<link rel="stylesheet"
      href="https://kit.uicockpit.com/a7f3c2.css">
Update your kit → every app on the Dev link updates along.

One link, whole kit

Tokens and component styles behind a single URL. Drop it in your<head> and your buttons just work — no build step.

Live or pinned

The Dev link auto-updates as you tweak. Pin a version for production so a later change can't surprise prod — you bump it deliberately.

No accounts, no lock-in

Ownership is a private edit link, not a login. Don't want the CDN? Eject to static files in one click — same kit, byte for byte.

Use it in your tool

Hand it to whatever you build with.

One kit, two tracks. Paste it into a web builder, or wire it into your coding agent with a CLI and an MCP server that keep it consistent.

Paste · no terminal

Web builders

One paste of the shadcn globals.css themes every component, plus a prompt that keeps new generations on-system.

v0 Lovable
Rules + check loop

Coding agents

A rules file, the kit, and the verifier. The agent builds — thenuicockpit check catches any drift back to generic.

Claude Code Cursor Windsurf Bolt Replit

CLI — generate → apply → check

npx uicockpit init <hash>
npx uicockpit check --strict

Pulls your kit (tokens + a machine-readable contract), then verifies the code conforms — the loop nobody else ships.

MCP server — native in your agent

{ "mcpServers": {
  "uicockpit": {
    "command": "npx",
    "args": ["-y", "uicockpit-mcp"]
  }
}}

install_kit · get_design_context ·check_conformance — your agent reads the system and verifies its own work, no copy-paste.

Stop shipping the generic AI look.
Start shipping yours.

Build a coherent, opinion-rich design system in under a minute — 100% free, no account.