shapes hand-1 Design System Builder

Tailwind-compatible · scaffold CSS generator

Ship your design system

This generator produces your design-system scaffold CSS — semantic colour scales, fluid type, Markdown styles, breakout layout and a Tailwind bridge — from three steps, exported as a single bunx command.

Design your command

$ bunx @threejjjs/dsb --theme="…"

One command, copied from the bar below.

Engine compiles

OKLCH scales · readable pairs · eight files.

theme/ lands in cwd

theme/
├── root.css
├── fonts.css
├── base.css
├── typography.css
├── markdown.css
├── layout.css
├── tw-bridge.css
└── index.css

Font assignments

Fluid type scale

Live sizes from your theme — fluid between 360–1280px viewports, no breakpoints.

h1 · 34→64px

Fluid display

w 400
h2 · 29→45px

Scales with viewport

w 400
h3 · 24→32px

No breakpoints needed

w 400
h4 · 20→23px

One clamp per level

h5 · 17→18px
Small but proportionate
p · 15→17px

The quick brown fox jumps over the lazy dog.

w 400
blockquote · 20→24px

Simplicity is the soul of efficiency.

Preset themes

Swatch Step Level 3

Surfaces

Base Page background Family
Alt Cards, code blocks, tables Family
Glass Frosted surface + alpha Family

Content

Prose Paragraphs, headings Family
Muted Diminished text Family
Inverse Inverse text colour Family

Emphasis

Accent Links, buttons, controls Family
Pop Badges, callouts, standouts Family
Twist Pop rotated +55°, tweakable ±15

Traffic

Stop Errors, destructive Family
Warning Caution, pending Family
OK Success, confirmed Family

Measure

full viewport
breakout
content
Content width
70
Reading measure. Use ch for ~60–75 character lines; % scales with the container.
Breakout width
6
Extra width each side of content. % keeps breakouts distinct at any viewport.

Breakout elements

Route plain Markdown structures to a track — no wrapper divs needed.

Blockquote
Table
Code block
Images
Callouts
Rules

Markdown preview

Tailwind bridge included

Ships tw-bridge.css: every semantic variable re-exposed as a Tailwind v4 theme token, so components and page layouts use utilities instead of raw values — your springboard for distributing the system further. Hand-edit it after generation; toggle inclusion with the Tailwind bridge checkbox in the command bar below.

<div class="bg-base-50 text-prose-800">
  Page canvas
</div>
<div class="bg-twist-light font-primary">
  Signature moment
</div>
<p class="text-traffic-stop-on-callout">
  State-aware text
</p>

Components

coming soon

bunx @threejjjs/dsb --theme="eJyrVipLLSrOzM9TsjLUUUrOzy3Iz0vNKylWsqqurQUAmuMKlg"