Skip to content
FelicityUI

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.