๐Ÿšจ Active Supply Chain Attack:node-ipc Package Compromised.Learn More โ†’
Socket
Book a DemoSign in
Socket

designlang

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

designlang

Extract the complete design language from any website and ship it โ€” clone to a working Next.js starter, guard tokens with a CI drift bot, or browse everything in a local studio. Outputs W3C DTCG tokens, motion tokens, typed anatomy stubs, Tailwind config,

latest
npmnpm
Version
12.11.0
Version published
Weekly downloads
2.8K
25.72%
Maintainers
1
Weekly downloads
ย 
Created
Source

designlang โ€” reads a website the way a developer reads a stylesheet

npm version license node version website

designlang in action

designlang on npm

designlang points a headless browser at any URL and reads the design system off the live DOM. One command emits 17+ files โ€” DTCG tokens, Tailwind config, shadcn theme, Figma variables, motion tokens, typed component anatomy, brand voice, page-intent labels, and a paste-ready prompt pack for v0 / Lovable / Cursor / Claude Artifacts.

It also goes where extractors don't: layout patterns, responsive behavior across 4 breakpoints, hover / focus / active states, WCAG contrast scoring, multi-page consistency, drift checks against a live source-of-truth, visual-diffs, and a shareable graded report card.

Quick start

npx designlang https://stripe.com                      # extract everything
npx designlang pair stripe.com linear.app              # fuse two designs (visuals A ร— voice B)    โ† v12.8
npx designlang brand stripe.com                        # full brand-guidelines book (13 chapters)  โ† v12.7
npx designlang theme-swap stripe.com --primary "#ff4800"  # recolour around your brand        โ† v12.6
npx designlang pack stripe.com                         # one polished design-system directory โ† v12.4
npx designlang remix stripe.com --as cyberpunk         # restyle in another vocabulary       โ† v12.3
npx designlang remix stripe.com --all                  # emit all 6 vocabs at once           โ† v12.3
npx designlang grade https://stripe.com --badge        # report card + SVG badge             โ† v12.2
npx designlang battle stripe.com vercel.com            # head-to-head graded fight           โ† v12.2
npx designlang clone https://stripe.com                # working Next.js starter
npx designlang --full https://stripe.com               # screenshots + responsive + interactions

Drop a live design-score badge in any README:

![Design Score](https://designlang.app/badge/stripe.com.svg)

Install

npm i -g designlang                         # global
npx skills add Manavarya09/design-extract   # as an agent skill (40+ agents)

What you get

Each run writes 17+ files to ./design-extract-output/. The headline outputs:

FileWhat it is
*-design-language.md19-section markdown โ€” feed any LLM to recreate the design
*-design-tokens.jsonW3C DTCG tokens (primitive + semantic + composite layers)
*-tailwind.config.jsDrop-in Tailwind theme
*-shadcn-theme.cssshadcn/ui globals.css variables
*-figma-variables.jsonFigma Variables import (light + dark)
*-variables.cssCSS custom properties
*-anatomy.tsxTyped React stubs for every detected component + variants
*-motion-tokens.jsonDurations, easings, springs, scroll-linked flag
*-voice.jsonBrand voice โ€” tone, pronoun posture, CTA verbs
*-prompts/Paste-ready prompts for v0, Lovable, Cursor, Claude Artifacts
*-mcp.jsonDisk-backed MCP server payload
*-grade.htmlv12.1 Shareable Design Report Card (letter grade + evidence)
*-grade.svgv12.2 Shields.io-style design-score badge (drop into any README)
*-battle.htmlv12.2 Head-to-head graded battle card from designlang battle
*-remix.<vocab>.htmlv12.3 Site restyled in another vocabulary โ€” brutalist / swiss / art-deco / cyberpunk / soft-ui / editorial

Multi-platform (--platforms web,ios,android,flutter,wordpress,all) adds ios/, android/, flutter/, and a WordPress block theme. --emit-agent-rules adds Cursor / Claude Code / generic agent rule files.

Why designlang vs anything else

Other tools give you the paint. designlang reads the architecture:

  • Layout system โ€” grids, flex containers, container widths, gaps โ€” not just tokens.
  • Responsive โ€” crawls 4 breakpoints and reports what changes (--responsive).
  • Interaction states โ€” programmatically hovers and focuses, captures the deltas (--interactions, --deep-interact).
  • Motion language โ€” durations, easing families, spring detection, scroll-linked flag, feel fingerprint (springy / smooth / mechanical / mixed).
  • Component anatomy โ€” slot trees with variant ร— size ร— state matrices, emitted as typed .tsx.
  • Brand voice โ€” tone, pronoun posture, heading style, CTA verb inventory.
  • Page intent + section roles โ€” landing / pricing / docs etc., with semantic regions (hero, feature-grid, pricing-table, ctaโ€ฆ).
  • Multi-page consistency โ€” auto-discovers canonical pages, reconciles shared vs per-route tokens.
  • WCAG โ€” every fg/bg pair scored, with a remediation palette suggesting nearest passing colors.
  • Drift + lint + visual-diff โ€” designlang drift, lint, visual-diff all CI-ready, exit non-zero on failure.
  • Live-site sync โ€” treat the deployed site as source of truth (designlang sync).
  • MCP server โ€” designlang mcp exposes tokens, regions, components, and contrast pairs to any MCP-aware agent.
designlang grade https://stripe.com         # โ† v12.1: shareable report card
designlang clone https://stripe.com         # โ†’ working Next.js app
designlang apply https://stripe.com -d ./app   # auto-detect framework, write tokens
designlang brands stripe.com vercel.com linear.app   # N-brand matrix
designlang drift https://yourapp.com --tokens ./src/tokens.json
designlang lint ./src/tokens/design-tokens.json     # CI-ready linter
designlang visual-diff https://staging.app https://app   # single-file HTML diff
designlang mcp                              # stdio MCP server for Cursor / Claude Code

All features

FeatureFlag / CommandDescription
Base extractiondesignlang <url>Colors, typography, spacing, shadows, radii, CSS vars, breakpoints, animations, components
Layout systemautomaticGrid patterns, flex usage, container widths, gap values
AccessibilityautomaticWCAG 2.1 contrast ratios for all fg/bg pairs
Design scoringautomatic7-category quality rating (A-F) with actionable issues
GradientsautomaticGradient type, direction, stops, classification
Z-index mapautomaticLayer hierarchy, z-index wars detection
SVG iconsautomaticDeduplicated icons, size/style classification, color palette
Font filesautomaticSource detection (Google/self-hosted/CDN/system), @font-face CSS
Image stylesautomaticAspect ratios, shapes, filters, pattern classification
Dark mode--darkExtracts dark color scheme + light/dark diff
Auth pages--cookie, --cookie-file, --headerExtract from authenticated/protected pages; cookie files in JSON / Playwright storageState / Netscape formats
Self-signed / dev TLS--insecureIgnore HTTPS/SSL certificate errors
User-Agent override--user-agent <ua>Set a custom User-Agent string
Chrome extensionchrome-extension/One-click handoff from any tab, MV3, activeTab only
Multi-page--depth <n>Crawl N internal pages; emits shared-vs-per-route token reconciliation (*-tokens-shared.json, *-tokens-routes/<slug>.json, *-routes-report.md)
Screenshots--screenshotsCapture buttons, cards, inputs, nav, hero, full page
Responsive--responsiveCrawl at 4 viewports, map breakpoint changes
Interactions--interactionsCapture hover/focus/active state transitions
Auto-interact--deep-interactScroll, open menus/modals/accordions, hover CTAs before extraction
Everything--fullEnable screenshots + responsive + interactions + deep-interact
Applydesignlang apply <url>Auto-detect framework and write tokens to your project
Clonedesignlang clone <url>Generate a working Next.js starter with extracted design
Scoredesignlang score <url>Rate design quality with visual bar chart breakdown
Grade (v12.1)designlang grade <url>Shareable HTML "Design Report Card" โ€” letter grade, 8 dimensions, evidence, strengths + fixes
Battle (v12.2)designlang battle <A> <B>Head-to-head graded battle card with verdict, dimension table, palette comparison
Badge (v12.2)designlang grade --badgeShields.io-style SVG badge โ€” design ยท B ยท 87 โ€” drop into any README. Live endpoint: designlang.app/badge/<host>.svg
Remix (v12.3)designlang remix <url> --as <vocab>Restyle the audited page in another vocabulary (brutalist / swiss / art-deco / cyberpunk / soft-ui / editorial). --all emits all 6
Pack (v12.4)designlang pack <url>Bundle every output (tokens / components / Storybook / starter / prompts) into one polished design-system directory
Theme-swap (v12.6)designlang theme-swap <url> --primary <hex>Recolour the extracted design around a new brand primary. OKLCH hue rotation, neutrals preserved, type/spacing/motion untouched
Brand book (v12.7)designlang brand <url>Full editorial brand-guidelines document (13 chapters: cover, about, logo, colour, type, spacing, shape, iconography, motion, components, voice, a11y, tokens, how-to-use). Print-ready, dark-mode toggle, hand-off-ready
Pair (NEW v12.8)designlang pair <urlA> <urlB>Fuse two designs across 7 axes (colours/type/spacing/shape/motion/voice/components). Defaults to "visuals from A, voice + type from B". --brand also emits a brand book of the fused identity
Watchdesignlang watch <url>Monitor for design changes on interval
Diffdesignlang diff <A> <B>Compare two sites (MD + HTML)
Multi-branddesignlang brands <urls...>N-site comparison matrix
Syncdesignlang sync <url>Update local tokens from live site
Historydesignlang history <url>Track design changes over time
MCP serverdesignlang mcpExpose extraction as MCP resources + tools
Multi-platform--platforms <csv>Emit iOS / Android / Flutter / WordPress outputs
Agent rules--emit-agent-rulesCursor, Claude Code, generic agent rule files
Stack fingerprintautomaticFramework + Tailwind + analytics detection
CSS healthautomaticSpecificity, !important, unused CSS, keyframes
A11y remediationautomaticNearest palette color passing AA / AAA for every failing pair
Semantic regionsautomaticnav / hero / pricing / testimonials / cta / footer classification
Reusable componentsautomaticDOM subtree + style-vector clustering with variants
DTCG tokensdefaultW3C Design Tokens v1 with semantic + composite layers (--tokens-legacy for pre-v7)

Full CLI Reference

designlang <url> [options]

Options:
  -o, --out <dir>         Output directory (default: ./design-extract-output)
  -n, --name <name>       Output file prefix (default: derived from URL)
  -w, --width <px>        Viewport width (default: 1280)
  --height <px>           Viewport height (default: 800)
  --wait <ms>             Wait after page load for SPAs (default: 0)
  --dark                  Also extract dark mode styles
  --depth <n>             Internal pages to crawl (default: 0)
  --screenshots           Capture component screenshots
  --responsive            Capture at multiple breakpoints
  --interactions          Capture hover/focus/active states
  --deep-interact         Auto-interact pass (scroll, menus, modals, accordions, hover CTAs)
  --full                  Enable all captures (implies --deep-interact)
  --cookie <cookies...>   Cookies for authenticated pages (name=value)
  --cookie-file <path>    Load cookies from JSON / storageState / Netscape cookies.txt
  --header <headers...>   Custom headers (name:value)
  --user-agent <ua>       Override the browser User-Agent string
  --insecure              Ignore HTTPS/SSL certificate errors (self-signed, dev, proxies)
  --selector <css>        Only extract from elements matching this CSS selector (e.g. ".pricing-card")
  --system-chrome         Use the system Chrome install instead of the bundled Chromium (skips 150MB download)
  --json                  Print full extraction as JSON to stdout (for piping into other tools)
  --framework <type>      Only generate specific theme (react, shadcn)
  --platforms <csv>       Additional platforms: web,ios,android,flutter,wordpress,all (additive)
  --emit-agent-rules      Emit Cursor / Claude Code / CLAUDE.md / agents.md rule files
  --tokens-legacy         Emit pre-v7 flat design-tokens.json shape (backward compat)
  --no-history            Skip saving to history
  --verbose               Detailed progress output

Commands:
  apply <url>                       Extract and apply design directly to your project
  clone <url>                       Generate a working Next.js starter from extracted design
  score <url>                       Rate design quality (7 categories, A-F, bar chart)
  grade <url>                       Generate a shareable HTML Design Report Card (--format html|md|json|svg|all, --badge, --open)
  battle <urlA> <urlB>              Head-to-head graded battle card (--format html|md|json|all, --open)
  remix <url>                       Restyle in another vocabulary (--as brutalist|swiss|art-deco|cyberpunk|soft-ui|editorial, --all, --list, --open)
  pack <url>                        Bundle every output into one design-system directory (--with-clone, --open)
  theme-swap <url> --primary <hex>  Recolour around a new brand primary (--from, --format html|md|json|tokens|all, --open)
  brand <url>                       Generate a full editorial brand-guidelines book (--format html|md|json|all, --open)
  pair <urlA> <urlB>                Fuse two designs across 7 axes (--colors-from, --typography-from, --spacing-from, --shape-from, --motion-from, --voice-from, --components-from, --brand)
  watch <url>                       Monitor for design changes on interval
  diff <urlA> <urlB>                Compare two sites' design languages
  brands <urls...>                  Multi-brand comparison matrix
  sync <url>                        Sync local tokens with live site
  history <url>                     View design change history
  mcp                               Launch stdio MCP server (--output-dir <dir>)
  lint <file>                       (v9) Audit a local token file (.json/.css) โ€” CI-ready
  drift <url> --tokens <file>       (v9) Check local tokens for drift against a live site
  visual-diff <before> <after>      (v9) Side-by-side HTML diff of two URLs

Example output

designlang https://vercel.com --full โ†’

Colors: 27 ยท Fonts: Geist + Geist Mono ยท Spacing: 18 (base 2px)
Shadows: 11 ยท Radii: 10 ยท CSS vars: 407 ยท Layout: 55 grids / 492 flex
Responsive: 4 viewports, 3 breakpoint changes ยท Interactions: 8 transitions
A11y: 94% WCAG ยท Score: 68/100 (D) ยท 4 issues

โ†’ 17 files written to ./design-extract-output/
โ†’ Run `designlang grade https://vercel.com` for a shareable report card

How it works

  • Crawl โ€” Headless Chromium via Playwright, waits for network idle and fonts
  • Extract โ€” One page.evaluate() walks up to 5,000 DOM elements, collecting 25+ computed properties, inline SVGs, font sources, and image metadata
  • Process โ€” 17 extractor modules parse, deduplicate, cluster, and classify the raw data
  • Format โ€” 12+ formatter modules emit the output files
  • Score โ€” Accessibility extractor calculates WCAG contrast ratios for all color pairs
  • Capture โ€” Optional: screenshots, responsive viewport crawling, interaction state recording

Install Everywhere

designlang ships surfaces beyond the CLI:

SurfacePathDescription
CLInpx designlang <url>Main entry point.
VS Code extensionvscode-extension/"Extract design from URL" command + auto-inject into workspace.
Raycast extensionraycast-extension/Extract, score, and "copy CLI command" from Raycast.
Figma pluginfigma-plugin/Paste a URL inside Figma, get a full Variables collection.
GitHub Actiongithub-action/"Design regression guard" โ€” diffs tokens on every PR and comments.
Chrome extensionchrome-extension/One-click handoff from any tab (MV3, activeTab only).
MCP servernpx designlang mcpExposes the extracted design as MCP resources + tools for Cursor, Claude Code, Windsurf, etc. See docs/MCP-REGISTRY.md.
Claude Code plugin.claude-plugin/Five slash commands inside Claude Code โ€” /extract, /grade, /battle, /remix, /pack.

Claude Code plugin

Drop designlang straight into Claude Code as a plugin. Every CLI command becomes a slash command:

/plugin install Manavarya09/design-extract

Then inside any Claude Code session:

Slash commandWhat it does
/extract <url>Full extraction โ†’ DTCG tokens, Tailwind, Figma vars, motion, voice
/grade <url>Shareable HTML "Design Report Card" (+ --badge for an SVG)
/battle <urlA> <urlB>Head-to-head graded battle card
/remix <url> --as <vocab>Restyle in brutalist / swiss / art-deco / cyberpunk / soft-ui / editorial
/pack <url>Bundle every output into one design-system directory

Manifest: .claude-plugin/plugin.json ยท marketplace: .claude-plugin/marketplace.json ยท commands: commands/ ยท skills: skills/.

Agent skill (other ecosystems)

Works with Cursor, Codex, and 40+ AI coding agents via the skills ecosystem:

npx skills add Manavarya09/design-extract

In Cursor / Codex / etc., use /extract-design <url>.

Website

https://designlang.manavaryasingh.com โ€” the brutalist product page.

Contributing

See CONTRIBUTING.md. PRs welcome!

License

MIT - Manav Arya Singh

Keywords

design-system

FAQs

Package last updated on 14 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts