by Manavarya09
Extract any website's complete design system with one command. DTCG tokens, semantic+primitive+composite, MCP server for Claude Code/Cursor/Windsurf, multi-platform emitters (iOS SwiftUI, Android Compose, Flutter, WordPress), Tailwind v4, Figma variables, shadcn/ui, CSS health audit, WCAG remediation, Chrome extension. MIT, Playwright, Node 20+.
# Add to your Claude Code skills
git clone https://github.com/Manavarya09/design-extractdesignlang crawls any website with a headless browser, extracts every computed style from the live DOM, and generates 11+ output files — including an AI-optimized markdown file, visual HTML preview, Tailwind config, React theme, shadcn/ui theme, Figma variables, W3C design tokens, CSS custom properties, motion tokens, typed component anatomy stubs, and a brand voice summary.
But unlike every other tool out there, it also extracts layout patterns (grids, flexbox, containers), motion language (durations, easings, springs, scroll-linked animations), component anatomy (slots, variant × size × state matrices), brand voice (tone, CTA verbs, heading style), captures responsive behavior across 4 breakpoints, records interaction states (hover, focus, active), scores WCAG accessibility, lints your own token files, and lets you drift-check a codebase against a live site, visual-diff two URLs, compare multiple brands, or sync live sites to local tokens.
instant/xs/sm/md/lg/xl), easings classified into families (ease-out, spring-overshoot, steps), scroll-linked animation detection (animation-timeline, ), keyframe kind classification (slide / fade / reveal / rotate / scale / pulse), and a fingerprint — , , , , or .No comments yet. Be the first to share your thoughts!
view-timeline-namefeel*-anatomy.tsx file of typed React stubs you can wire into your design system.we→you / you-only / we-only / third-person), heading style (Title Case / Sentence case / all-lowercase), top CTA verbs, and a microcopy inventory. Feeds LLMs the voice, not just the paint.designlang lint — audit your own design-tokens.json (DTCG or flat) or variables.css for color sprawl, spacing-scale drift, radius/shadow bloat, and WCAG fg/bg contrast fails. Exits non-zero on errors — CI-ready.designlang drift — point at a live site, pass your local token file, and get a verdict: in-sync / minor-drift / notable-drift / major-drift. Integrates cleanly with the existing GitHub Action.designlang visual-diff — capture two URLs side-by-side and emit a single-file HTML report with component screenshots, file-size deltas, and changed color tokens. No heavy pixel-diff dependencies — runs in pure Node + Playwright.npx designlang https://stripe.com
Get everything at once:
npx designlang https://stripe.com --full
| File | What it is |
|------|------------|
| *-design-language.md | AI-optimized markdown — feed it to any LLM to recreate the design |
| *-preview.html | Visual report with swatches, type scale, shadows, a11y score |
| *-design-tokens.json | W3C Design Tokens format |
| *-tailwind.config.js | Drop-in Tailwind CSS theme |
| *-variables.css | CSS custom properties |
| *-figma-variables.json | Figma Variables import (with dark mode support) |
| *-theme.js | React/CSS-in-JS theme (Chakra, Stitches, Vanilla Extract) |
| *-shadcn-theme.css | shadcn/ui globals.css variables |
| *-motion-tokens.json | (v9) Motion tokens — durations, easings, springs, scroll-linked flag |
| *-anatomy.tsx | (v9) Typed React stubs for every detected component + variants |
| *-voice.json | (v9) Brand voice fingerprint — tone, CTA verbs, heading style |
The markdown output has 19 sections: Color Palette, Typography, Spacing, Border Radii, Box Shadows, CSS Custom Properties, Breakpoints, Transitions & Animations, Component Patterns (with full CSS snippets), Layout System, Responsive Design, Interaction States, Accessibility (WCAG 2.1), Gradients, Z-Index Map, SVG Icons, Font Files, Image Style Patterns, and Quick Start.
In v7 a companion *-mcp.json file is also written alongside the 8 outputs so that designlang mcp can serve regions, components, and health data from disk on later invocations. Opting into --platforms <csv> additively emits ios/, android/, flutter/, and/or wordpress-theme/ directories in the output folder, and --emit-agent-rules adds a .cursor/, .claude/, CLAUDE.md.fragment, and agents.md set.
# Use directly (no install needed)
npx designlang https://example.com
# Or install globally
npm install -g designlang
# As an agent skill (Claude Code, Cursor, Codex, 40+ agents)
npx skills add Manavarya09/design-extract
Most design extraction tools give you colors and fonts. That's it. designlang fills 5 market gaps that no other tool addresses:
Extracts the structural skeleton — grid column patterns, flex direction usage, container widths, gap values, and justify/align patterns.
Layout: 55 grids, 492 flex containers
Every other tool gives you the paint. designlang gives you the architecture.
Crawls the site at 4 viewports (mobile, tablet, desktop, wide) and maps exactly what changes:
designlang https://vercel.com --responsive
Responsive: 4 viewports, 3 breakpoint changes
375px → 768px: Nav visibility hidden → visible, Hamburger shown → hidden
768px → 1280px: Max grid columns 1 → 3, H1 size 32px → 48px
No other tool captures how the design adapts, just how it looks at one size.
Programmatically hovers and focuses interactive elements, capturing the actual style transitions:
designlang https://stripe.com --interactions
/* Button Hover */
background-color: rgb(83, 58, 253) → rgb(67, 47, 202);
box-shadow: none → 0 4px 12px rgba(83, 58, 253, 0.4);
/* Input Focus */
border-color: rgb(200, 200, 200) → rgb(83, 58, 253);
outline: none → 2px solid rgb(83, 58, 253);
Treat the deployed site as your source of truth, not Figma:
designlang sync https://stripe.com --out ./src/tokens
Detects design changes and auto-updates your local design-tokens.json, tailwind.config.js, and variables.css.
Compare N brands side-by-side:
designlang brands stripe.com vercel.com github.com linear.app
Generates a matrix with color overlap analysis, typography comparison, spacing systems, and accessibility scores. Outputs both brands.md and brands.html.
Generate a working Next.js app with the extracted design applied:
designlang clone https://stripe.com
cd cloned-design && npm install && npm run dev
One command → a running app with the site's colors, fonts, spacing, and component patterns.
Rate any site's design quality across 7 categories:
designlang score https://vercel.com
68/100 Grade: D
Color Discipline ██████████░░░░░░░░░░ 50
Typography ██████████████░░░░░░ 70
Spacing System ████████████████░░░░ 80
Shadows ██████████░░░░░░░░░░ 50
Border Radii ████████░░░░░░░░░░░░ 40
Accessibility ███████████████████░ 94
Tokenization ████████████████████ 100
Monitor a site for design changes:
designlang watch https://stripe.com --interval 60
Checks hourly and alerts when colors, fonts, or accessibility scores change.
Extract a site's design and write tokens directly into your project — auto-detects your framework:
designlang apply https://stripe.com --dir ./my-app
Detects Tailwind, shadcn/ui, or plain CSS and writes to the right config files automatically.
Extract from authenticated or protected pages with cookies and custom headers:
designlang https://internal-app.com --cookie "session=abc123" --header "Authorization:Bearer token"
Detects all CSS gradients — type (linear/radial/conic), direction, color stops, and classifies them as subtle, brand, bold, or complex.
Builds a layer hierarchy from all z-index values, groups them into layers (base, sticky, dropdown, modal, etc.), and flags z-index wars or excessive values (>9999).
Finds and deduplicates all inline SVGs, classifies them by size and style (outline/solid/duotone), and extracts the icon color palette.
Identifies every font source — Google Fonts, self-host