DesignMD
DesignMD — The system that themes itself
Live preview
Use this system
Three ways to drop DesignMD into your workflow.
Save the file for your tool — your agent then generates UI in DesignMD, automatically.
CLAUDE.mdRepo root — Claude Code reads it automatically.
.cursor/rules/designmd.mdcProject rule — applied to every generation.
.windsurfrulesRepo root — Cascade reads it automatically.
.github/copilot-instructions.mdRepo-wide custom instructions for Copilot.
The system
Brand & Voice
Precise, calm, and quietly confident. DesignMD is a tool for builders, so the voice is direct and jargon-light — it explains, it never hypes. The interface recedes so the content (the design systems themselves) is the hero.
Layout & Grid
A 12-column grid with a 1120px max content width and generous whitespace. Catalog and previews lead; chrome is minimal. Sticky action bars keep export controls within reach without crowding the canvas.
Components
Buttons
Primary actions use color.brand.primary with color.brand.onBrand text,
radius.md, and weight.medium. Secondary actions are bordered and quiet.
Cards
Entry cards sit on surface.raised with a 1px border.default, radius.lg,
and shadow.sm, lifting to shadow.md on hover.
Motion
Tactile and purposeful. Staggered card reveals, smooth preview/raw toggles, and
editor value nudges — all at or below motion.duration.base with the standard
easing. Everything is disabled under prefers-reduced-motion.
Accessibility
WCAG 2.2 AA is the floor. Body text clears 4.5:1 on every surface, focus rings are always visible, and the editor is fully keyboard-navigable.
Do & Don't
- Theme the entire app from these tokens — never hardcode a hex value.
- Keep motion functional; if it doesn't aid comprehension, remove it.
- Don't introduce a color that isn't derivable from the token set.
- Don't let chrome compete with the catalog for attention.
Tokens
Color (14)
Tokens
Export
One source of truth, five formats — copy or download any of them.
---$schema: https://designmd.in/schema/v1.jsonid: designmdname: DesignMDtitle: DesignMD — The system that themes itselfversion: 1.0.0category: developer-toolstags: [clean, modern, indigo, dark-mode, dogfood]author: designmdlicense: CC-BY-4.0updatedAt: 2026-06-19colorMode: [light, dark]tokens: color: brand: primary: { value: "oklch(0.55 0.20 275)", type: color } secondary: { value: "oklch(0.68 0.15 200)", type: color } onBrand: { value: "oklch(0.99 0 0)", type: color } text: primary: { value: "oklch(0.24 0.03 275)", type: color } muted: { value: "oklch(0.46 0.03 275)", type: color } link: { value: "{color.brand.primary}", type: color } surface: base: { value: "oklch(0.99 0.004 275)", type: color } raised: { value: "oklch(0.975 0.006 275)", type: color } sunken: { value: "oklch(0.955 0.008 275)", type: color } border: default: { value: "oklch(0.91 0.01 275)", type: color } state: success: { value: "oklch(0.52 0.15 150)", type: color } danger: { value: "oklch(0.52 0.20 25)", type: color } warning: { value: "oklch(0.55 0.13 75)", type: color } info: { value: "oklch(0.52 0.13 245)", type: color } typography: family: sans: { value: "Inter, system-ui, sans-serif", type: fontFamily } mono: { value: "JetBrains Mono, ui-monospace, monospace", type: fontFamily } scale: xs: { value: "0.75rem", type: dimension } sm: { value: "0.875rem", type: dimension } base: { value: "1rem", type: dimension } lg: { value: "1.25rem", type: dimension } xl: { value: "1.5rem", type: dimension } "2xl": { value: "2rem", type: dimension } "3xl": { value: "3rem", type: dimension } "4xl": { value: "4rem", type: dimension } weight: regular: { value: 400, type: fontWeight } medium: { value: 500, type: fontWeight } semibold: { value: 600, type: fontWeight } bold: { value: 700, type: fontWeight } leading: tight: { value: 1.15, type: number } normal: { value: 1.6, type: number } tracking: tight: { value: "-0.02em", type: dimension } spacing: base: { value: "0.25rem", type: dimension } radius: sm: { value: "0.375rem", type: dimension } md: { value: "0.625rem", type: dimension } lg: { value: "1rem", type: dimension } full: { value: "9999px", type: dimension } shadow: sm: { value: "0 1px 2px oklch(0 0 0 / 0.06)", type: shadow } md: { value: "0 6px 20px oklch(0 0 0 / 0.08)", type: shadow } lg: { value: "0 16px 40px oklch(0 0 0 / 0.12)", type: shadow } motion: duration: fast: { value: "150ms", type: duration } base: { value: "240ms", type: duration } slow: { value: "400ms", type: duration } easing: standard: { value: "cubic-bezier(0.4, 0, 0.2, 1)", type: cubicBezier } emphasized: { value: "cubic-bezier(0.2, 0, 0, 1)", type: cubicBezier } breakpoint: sm: { value: "640px", type: dimension } md: { value: "768px", type: dimension } lg: { value: "1024px", type: dimension } xl: { value: "1280px", type: dimension } zIndex: dropdown: { value: 1000, type: number } sticky: { value: 1100, type: number } modal: { value: 1300, type: number } toast: { value: 1500, type: number } iconography: style: { value: "outline, 1.75px stroke, rounded joins", type: descriptor } imagery: style: { value: "token-derived gradients, abstract grids, no stock photography", type: descriptor }---# DesignMD Design System## Brand & VoicePrecise, calm, and quietly confident. DesignMD is a tool for builders, so thevoice is direct and jargon-light — it explains, it never hypes. The interfacerecedes so the content (the design systems themselves) is the hero.## Layout & GridA 12-column grid with a 1120px max content width and generous whitespace.Catalog and previews lead; chrome is minimal. Sticky action bars keep exportcontrols within reach without crowding the canvas.## Components### ButtonsPrimary actions use `color.brand.primary` with `color.brand.onBrand` text,`radius.md`, and `weight.medium`. Secondary actions are bordered and quiet.### CardsEntry cards sit on `surface.raised` with a 1px `border.default`, `radius.lg`,and `shadow.sm`, lifting to `shadow.md` on hover.## MotionTactile and purposeful. Staggered card reveals, smooth preview/raw toggles, andeditor value nudges — all at or below `motion.duration.base` with the standardeasing. Everything is disabled under `prefers-reduced-motion`.## AccessibilityWCAG 2.2 AA is the floor. Body text clears 4.5:1 on every surface, focus ringsare always visible, and the editor is fully keyboard-navigable.## Do & Don't- Theme the entire app from these tokens — never hardcode a hex value.- Keep motion functional; if it doesn't aid comprehension, remove it.- Don't introduce a color that isn't derivable from the token set.- Don't let chrome compete with the catalog for attention.