Design system
Define visual intent once. Compile it into deterministic tokens. Keep native source components.
FelicityUI can adopt a project design language without becoming a theme runtime.
designs.md human / agent intent
felicity.design.json validated machine config
↓
design compiler no LLM
↓
semantic tokens CSS / Swift / Kotlin
↓
registry components native source you own
Two files
designs.md is philosophy: personality, density, avoid rules. Agents read it. Components do not parse it. It is not CSS.
felicity.design.json is versioned, Zod-validated, and sufficient to regenerate tokens. A build must be reproducible from this file alone.
Commands
npx felicityui init --platform react
npx felicityui design init --preset technical
npx felicityui design build
npx felicityui add button --platform react
init without --design still works. A custom design system is optional.
Presets: felicity, minimal, technical, editorial.
What this does not do
- No FelicityUI React runtime package
- No LLM during
design build - No database or accounts
- No cross-compiler from React to SwiftUI or Compose
- No new catalog stubs (Card, Tabs, Badge, Field, Select)
Try the live editor: a prompt plus at least one option. Groq writes designs.md; preview appears only after that document exists. OpenAI and Anthropic stay off. felicityui design build never calls an LLM.