Ship the UI.Before noon
Lerpa UI is a copy-paste React + Tailwind component system. 1179 components, 178 blocks, 6 themes — every token a CSS variable. shadcn-compatible registry. Framer Motion built in. Agent-ready. Hand it the command and it ships you a homepage.
One file.
You own it.
Every component a single, owned file written into src/ui/. No node_modules mystery. Read it, edit it, fork it. Rip out Lerpa UI in one PR — your code keeps working.
// src/ui/ShinyGlowButton.tsx — one file. yours. import { forwardRef } from 'react' import { motion } from 'framer-motion' export const ShinyGlowButton = forwardRef(({ variant = 'primary', children }, ref) => { const spring = useSpring({stiffness: 300, damping: 22}) return ( <motion.button ref={ref} data-variant={variant} style={{ scale: spring }} >{children}</motion.button> ) })
Springs ship with the component. Press, drag, transition — all useSpring. Framer Motion peer dep already in your tree.
Focus rings preserved. Touch, mouse, keyboard all flow through the same handler. Every component passes axe-core.
Tree-shaken. Tokens via CSS variables — --accent swaps live. Zero runtime CSS.
Browse by
category.
Sixteen folders, every component inside rendered real and interactive — including the new Charts & Data Viz set. Open one to see the whole shelf.
Click a theme.
The page obeys.
Themes are CSS variable files. Click any swatch — the entire page recolors in real time. Same tokens, different weather. Six shown here, more in Theme Studio.
↳ theme applied · 4 ms
↳ 1179 components re-tokened
✓ done.
Tell the agent.
It installs itself.
Lerpa UI ships a machine-readable spec at /llms.txt. Drop into Claude, Cursor, or v0 — describe what you want, the agent picks the right components, runs the CLI, writes the wiring code.
Five rules
the agent respects.
- R1Compose primitives over kitchen-sink wrappers
- R2Never add a dep outside the peer set
- R3Preserve focus rings and reduced-motion checks
- R4Change tokens via theme, not inline styles
- R5A11y a hard requirement, not a target
AIChatInterface + DocsCodeExampleSection for layout. Wiring magic-link to ./api/auth/email.ts.What people
ship with it.
A live git log of commits that touched lerpa in the last day. Real ship messages from real teams. See the full showcase →
It's 11:43.
Ship before
noon.
One command. 14 kB. Zero deps. Drawn to the millimetre, kept fast on purpose. The agent can pick your theme on the way out.