npx create-sigil-app@latest

An Agent-First
Design System.

One token file controls every color, font, radius, and animation. Agents and humans edit the same surface.

sigil.tokens.md0/13
Colors
primary: oklch(0.55 0.12 275)
success: oklch(0.60 0.15 145)
accent: oklch(0.60 0.16 250)
surface: oklch(0.16 0 0)
Borders
border: oklch(0.20 0.01 260)
border-style: solid
Radius
radius-md: 8px
radius-sm: 0
radius-full: 9999px
Motion
duration-slow: 600ms
Typography
font-display: "IBM Plex Sans"
font-body: "Inter"
Shadows
shadow-md: 0 4px 12px
usagelive
12.4k
preset
May 2026
ARR$7.52m+67%
stagingv2.4
useuap
requests / minp99 12ms
team
S
L
G
spacing16px
radius8px
token scaffold to production UI

Browse the full component system.

Start with blueprint-level primitives, then drop in finished components that already inherit the active preset.

Component

Live
/ Architecture

Four layers. One editable surface.

Tokens define every visual primitive. Presets bundle them into complete identities. Components consume them via CSS variables. Pages compose components. You only ever edit the token layer.

010304
Layer modelstack/all
00

FULL STACK

Four layers with a single rule: visual decisions flow in one direction. Edit the bottom, and everything above updates.

01

Each layer has one job. Tokens define. Presets bundle. Components consume. Pages compose.

02

Select a layer to isolate it and see what it contains.

03

Changes flow upward — edit a token and every layer above inherits it automatically.

current surface
TOKENS519 configurable fields
PRESETS44 curated + custom
COMPONENTS350+ token-driven
PAGES17 production templates
/ Token System

Edit one file. Everything recompiles.

sigil.tokens.md compiles to 519 CSS custom properties. Every component reads them. Change a value, and 350+ components update — no manual edits across files.

sigil.tokens.mdsource
## Colorscompiling
primary: oklch(0.7 0.15 280)
surface: oklch(0.17 0.01 260)
border: oklch(0.25 0.02 260)
## Typography
font-display: "PP Mori"
font-mono: "Berkeley Mono"
heading-weight: 600
## Spacing
base: 4px
section-py: 96px
card-padding: 24px
## Radius
radius-sm: 4px
radius-md: 8px
radius-lg: 12px
compileToCss()
:root {
--s-primary: oklch(0.7 0.15 280);
--s-surface: oklch(0.17 0.01 260);
--s-border: oklch(0.25 0.02 260);
}
300+ varsinstant
tintcomponents

Runtime Panel

propagated103
1/4
LIVE TOKEN EDITOR

Every line in sigil.tokens.md maps to a CSS variable. Edit a value and see the component update live.

SIGIL.TOKENS.MDscroll + click
<!-- sigil.tokens.md: click any token line -->
## Colors
## Typography
## Radius
## Spacing
## Borders
## Shadows
## Motion
## Layout
TOKEN VISUALIZER--s-primary
primary: oklch(0.66 0.18 275)
Accent fills, CTA states, focus rings, and diagram highlights.
CSS variable
--s-primary
visualizer
color
Live Token Previewactive
--s-primary
Accent fills, CTA states, focus rings, and diagram highlights.
TOKEN VISUALIZATION LIBRARY
/ Under the Hood

Radix primitives. Token-driven styling. One import.

Each component bundles the behavior primitive, animation engine, and token bindings it needs. Select one to see what ships inside.

component blueprintlibraries in use
New
01Radix UI
radix
02
sound
03
tokens
04
clsx
05tailwind-merge
tw-merge
libraries attached

Every library listed here ships automatically when you use this component. No extra imports.

Behavior
selected libraryRadix UI

Radix UI

radix

Accessible primitives — focus management, keyboard nav, ARIA patterns

radix-ui.com
Radix UIRadix UI
Behavior
Sigil Sound
Sound
Token System
Design
clsx
Core
tailwind-mergetailwind-merge
Core
HOW TOKENS FLOW INTO COMPONENTS

Every visual property resolves to one named token. No hardcoded values — components read CSS variables directly.

component blueprintvar(--s-*) in use
New
01source token
02compiled var
03component class
token consumption

Each visual decision resolves to one named token, then every component reads the same CSS variable.

color
selected tokenoklch(0.7 0.15 280)

Fill

--s-primary

Button background, active rails, focus accents.

Fill--s-primary
color
Foreground--s-primary-contrast
contrast
Corners--s-radius-md
shape
Type--s-font-mono
typography
Motion--s-duration-fast
motion
Depth--s-shadow-sm
elevation
/ Presets

Same components. Completely different identity.

Each of the 46 presets rewrites all 519 tokens at once — colors, fonts, spacing, radius, motion, everything. Not a theme toggle. A different design language.

Sigil / sigil
DocsPresetsLab
Design system
One token file.
Every component.
519 tokens control your entire visual identity.
Get Started
Browse
519
Tokens
46
Presets
1
Agent
sigil
noir
forge
cipher
arc
flux
Active preset
primary
#9b99e8
radius
8px
background
#0f0f14
border
#2a2a3a
One command
$ sigil preset sigil
COMPARE ALL PRESETS
Preset Asigil
Build faster.Token-driven design system
Preset Bcrux
Build faster.Token-driven design system
Preset A
Preset B
YOUR OWN PRESETThese are curated examples. Run sigil preset create to build a custom preset with your brand colors, fonts, and radius — then edit sigil.tokens.md for full control.
START FROM A PRESET
$ sigil preset noir

46 curated bundles. One command writes the token layer.

CREATE YOUR OWN
$ sigil preset create

Pick a base, set brand colors and fonts, and a custom preset is generated.

EDIT TOKENS DIRECTLY
## Colors
primary: oklch(0.65 0.2 150)

Open sigil.tokens.md and change any of 519 fields. Your file is the source of truth.

/ CLI

Set up, switch presets, audit, and validate — from the terminal.

One CLI to scaffold projects, swap visual identities, generate docs, bridge existing systems, and verify everything works.

$ npx create-sigil-app
Bootstrap a new app
Scaffolds token CSS, base preset, components, and agent instructions.
$ sigil init
Install into existing app
Detects your stack and wires Sigil in.
$ sigil add <names>
Add components
Copies token-bound components into your project.
$ sigil preset <name>
Switch visual identity
46 presets change all 519 tokens at once.
$ sigil inspire <url>
Extract tokens from a reference
Pulls colors from any URL, drafts OKLCH tokens, generates a preset and preview page.
$ sigil docs
Generate library docs
Writes project docs and llms.txt from your config.
$ sigil adapter <name>
Bridge existing systems
CSS bridge so shadcn, Bootstrap, or Material variables inherit your tokens.
$ sigil diff
Review design changes
Token-level changes before you commit.
$ sigil doctor
Validate the install
Checks config, tokens, CSS import, components, and preset health.
/ 3D Components

Projected UI without leaving CSS.

Isometric scenes, prisms, exploded boxes, tilt cards, and depth stacks all inherit the active token system.

interactive component terrainmove cursor
live
Newv2
cursor-weighted tilt field
01Database Cylinder
Databasetoken tables
02Exploded Faces
F
03Projected Boxes
18px
28px
38px
48px
/ Demos

17 templates. Real sites, real presets.

SaaS landing pages, dashboards, e-commerce, portfolios, dev docs — each built with a different preset to show how the same components produce different products.

/ Quick Start

Get started in 30 seconds.

One command creates the token file, installs the CSS variable pipeline, drops in starter components, and writes the agent instructions your project needs.

00:30target setup
519token fields
200+token-driven components
installer tracelive output
create-sigil-app
sigil.tokens.md519 token system
app/sigil.cssCSS variables
.sigil/AGENTS.mdagent instructions
components/ui/*token-bound UI
01 / 00-08s

Scaffold

08s
$ npx create-sigil-app@latest

Detects your framework, package manager, Tailwind setup, and where token CSS should land.

02 / 08-18s

Pick a system

18s
$ sigil preset sigil

Start from one of 46 presets or let the installer recommend one from your product type.

03 / 18-30s

Ship components

30s
$ sigil add button card input

Components already read var(--s-*), so agents can change the system without touching React.

ready for agents

The generated project tells humans and AI the same rule: edit tokens, not component styling.

Start building.

350+ components. 46 presets. 519 tokens. One file controls everything — start building in 30 seconds.

Studiodefault
Presets
primary
secondary
background
surface
text
border
accent
success
warning
error
info
display
body
mono
heading wt
600
heading trk
-0.025em
base size
16px
page margin
24px
section pad
64px
card pad
24px
grid gap
24px
stack gap
12px
global
8px
button
8px
card
12px
input
6px
border w
1px
style
card border
card shadow
btn shadow
glow
spring
Type
Duration
0.20
Bounce
1.00
easing
cubic-bezier(0.16, 1, 0.3, 1)
fast
150ms
normal
200ms
slow
300ms
hover scale
1.02
press scale
0.98
hover lift
-1px
stagger
50ms
weight
transform
hover
active scale
0.98
min-width
0px
letter sp
0.000em
icon gap
8px
shadow
hover
border
shadow
padding
24px
title size
1px
title wt
desc size
0.875px
aspect
outline
height
36px
focus ring
2px
focus ring
h1 size
2.25px
h2 size
1.875px
h3 size
1.5px
h4 size
1.25px
weight
tracking
-0.020em
leading
1.20
pattern
pattern α
0.03
noise
gradient
grad angle
180°
height
50px
blur
12px
border
padding
24px
item gap
24px
min-height
600px
padding Y
80px
content-max
680px
layout
title size
56px
desc size
18px
padding Y
64px
max-width
600px
layout
title size
36px
padding Y
48px
columns
4
gap
36px
content-max
1200px
rail-gap
24px
grid-cell
50px
cross-stroke
1.5px
navbar-h
50px
bento-gap
16px
grid lines
dots
cell borders
cell bg
Gutter
Margin
content
hero
navbar
rail visible
enabled