Installation
Pick the path that matches what you have. Each one reads the same saved design system by its id.
Before you start
You need a saved design system and its id. If you don’t have one yet, make one at /generate and save it (see the quick start). The id is the last part of the Studio address, /s/<id>.
The React paths also need:
- Node 18 or newer
- React 18 or 19
- Tailwind CSS v4. The CLI stops if it finds Tailwind v3.
New React app
Start from an empty folder. The CLI makes a Vite, React and TypeScript app with Tailwind v4 and your system already in it.
Create the app
Run this where you keep your projects.
my-appis the folder it makes; it must be new or empty.Terminal npx uix-ui@latest new my-app <id>No saved system yet? Start from a free preset instead, with no id:
Terminal npx uix-ui@latest new my-app --theme terracotta-draftingWhat it does
It creates the Vite app, installs packages, adds Tailwind CSS and its Vite plugin, pulls your theme and tokens, adds the Button and Card components, and writes a sample
src/App.tsxthat uses them.Start it
Open the address it prints. Edit
src/App.tsxto build with your system.Terminal cd my-app npm run dev
Existing React app
For Vite, Next.js, Astro, Remix or any React app that already has Tailwind v4.
Pull your system
Run this in your project folder. Name the components you want after the id, or leave them out and add them later.
Terminal npx uix-ui@latest pull <id> button cardCheck what changed
It writes
components.json, the theme insrc/styles/uix.css, your tokens insrc/styles/tokens/, acn()helper insrc/lib/utils.tsand the components insrc/components/ui/. It also adds the theme import to your main CSS file and saves your id inuix.json. Without asrcfolder, files go in the project root.Use the components
Import them like any other component. Their colors, corners and fonts come from your system.
src/App.tsx import { Button } from "@/components/ui/button"; export default function App() { return <Button>Save</Button>; }Stay in sync
After you change the system in Studio, run this in the same folder. It does nothing if the version hasn’t changed.
Terminal npx uix-ui sync
Files you already have are kept. Add --overwrite to replace them. See the CLI reference for every command and option.
Any website
For plain HTML, WordPress, Webflow or any page where you can add a stylesheet. No build step.
Link the CSS
Paste this into the page’s
<head>.index.html <link rel="stylesheet" href="https://useuix.com/s/<id>.css">Use the variables
Every color, font, space and radius is a CSS variable. Use the semantic names, so dark mode works on its own.
styles.css .card { background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-6); }Done
The page picks up your changes when you save in Studio. Dark mode follows the visitor’s device, or set
data-theme="dark"on<html>. See Themes and dark mode.
Just the files
Run pull in a folder without a package.json and it writes plain files instead: uix/uix.css and your token JSON files in uix/. Link the CSS from any page:
npx uix-ui@latest pull <id><link rel="stylesheet" href="uix/uix.css">AI app builders
- Lovable, Bolt, v0: in Studio, open Use it → AI tools, press Copy prompt and paste it into the tool’s chat.
- Claude Code, Cursor and other agents: connect the MCP server, or add the AI Pack files to your repo.