@ahmedessyad/liftit
v1.0.1
Published
Lift any site's design. Paste a URL, get the code. Extracts design systems, generates React components, exports Tailwind/shadcn configs, diffs against your existing CSS.
Maintainers
Readme
Liftit
Lift any site's design. Paste a URL, get the code.
npx liftit https://stripe.comLiftit opens a real browser, extracts every computed style, animation, and interaction from a live website, and converts it into code you can use — Tailwind configs, React components, shadcn themes, or CSS variables. Works on any site regardless of framework.
Install
npm install -g liftit
npx playwright install chromiumWhat you can do
Extract a full design system
liftit https://stripe.comCaptures DOM, computed styles, screenshots at 8 breakpoints, fonts, images, animations, hover states, scroll behaviors, and interactive elements. Produces a complete design system spec.
Generate a React component from any site
liftit component https://linear.app header
liftit component https://vercel.com hero --name VercelHeroOutputs a working Header.tsx + Header.module.css with exact styles, hover states, responsive breakpoints, and animations. Paste it into your Next.js project.
Make your component match a target
liftit match https://linear.app header --file ./src/Navbar.module.cssReads your existing CSS, extracts the target, and tells you exactly what to change:
.nav -> root (nav)
CHANGE padding: 0px 24px -> 12px 40px
CHANGE border-radius: 5px -> 10px
ADD backdrop-filter: blur(35px)Writes a patched CSS file ready to replace yours.
Export to your framework
liftit export tailwind # tailwind.config.ts
liftit export shadcn # globals.css + tailwind.config.ts (light + dark mode)
liftit export css-variables # design-tokens.css with :root custom properties
liftit export all # everythingQuick token extraction
liftit tokens https://cal.comColors, typography, spacing, shadows in ~5 seconds. No full pipeline needed.
Scan with multi-page crawling
liftit scan https://stripe.com --crawlDiscovers and scans up to 20 internal pages. Supports auth cookies and headers for protected sites.
Claude Code Integration
liftit setupOne command registers the MCP server with Claude Code. Then talk naturally:
- "Extract the design system from this URL"
- "Generate a React component from Stripe's pricing section"
- "Make my navbar CSS match Linear's header"
- "Give me a Tailwind config from the tokens you extracted"
15 MCP tools available — extraction, component generation, matching, export, validation, and browser interaction.
How it works
- Scan — Playwright captures the full DOM with 76 computed CSS properties per element, screenshots at 8 viewports, all fonts/images/SVGs, API calls
- Analyze — CSS architecture detection (BEM, Tailwind, Modules), component detection via 4 strategies (semantic roles, structural patterns, style clustering, class names)
- Motion Capture — Scrolls the page recording style changes at every position across 3 viewports. Hovers interactive elements frame by frame. Captures Web Animations API data
- Interactions — Catalogs navigation, toggles, modals, dropdowns, forms, scroll behaviors
- Scroll-Interaction Mapping — Connects animations to interactivity. Discovers which scroll animations produce or remove interactive elements
- Distill — Compresses raw motion data into compact animation specs with from/to values, triggers, durations
- Assets — Copies fonts, images, SVGs into your project with @font-face CSS generation
- Synthesize — AI reads all data and produces structured design system JSON + human-readable spec
- Validate — Pixel-level comparison (pixelmatch, 0.1 threshold) with DOM and interaction verification
Steps 2-4 run in parallel.
CLI Reference
liftit <url> [output-dir] Full extraction pipeline
liftit component <url> <name> [--output dir] Generate React component
liftit match <url> <name> --file <css> Diff your CSS against target
liftit export <format> [--input dir] Export tokens
liftit tokens <url> Quick token extraction
liftit scan <url> [--crawl] Scan only
liftit validate <url> [--rebuild] [--site] Pixel validation
liftit mcp Start MCP server
liftit setup Register with Claude CodeFlags
--crawl Multi-page crawling (up to 20 pages)
--auth-cookie "k=v" Auth cookie for protected sites
--auth-header "K: V" Auth header for protected sites
--output <dir> Output directory
--input <dir> Input directory (for export)
--name <Name> Custom component name
--file <path> Your CSS file (for match)
--map "a=b,c=d" Manual class mapping (for match)
--rebuild-url <url> Dev server URL for validationOutput
output/
design-system.json Structured tokens + components
design-system.md Human-readable rebuild spec
scan-result.json Raw DOM and computed styles
analysis-result.json Component detection, CSS architecture
motion-distilled.json Compact animation specs
scroll-interactions.json Animation-to-interaction links
interactions.json Interactive behavior catalog
screenshots/ Reference screenshots (8 breakpoints)
assets/ Downloaded fonts, images, SVGs
export/ Framework configs (Tailwind, shadcn, CSS vars)
components/ Generated React componentsRequirements
- Node.js 18+
- Playwright (
npx playwright install chromium)
License
MIT
