Skip to main content

UIForge

Convert any UI screenshot into production-ready React components.

PyPI version Python 3.10+ CI License: MIT


Take a screenshot of any UI. Get a complete, runnable React project in seconds.

uiforge dashboard.png

Not this:

<div style="position:absolute;left:143px;top:492px;width:241px">
  <div>
    <div>

This:

<DashboardLayout>
  <Sidebar />
  <Topbar />
  <StatsGrid>
    <RevenueCard title="Total Revenue" value="$48,295" trend="+12%" />
    <OrdersCard title="Orders" value="1,429" trend="+8%" />
    <VisitorsCard title="Visitors" value="24.5k" trend="+3%" />
  </StatsGrid>
  <SalesChart />
  <RecentOrders />
</DashboardLayout>

Semantic, named, composable — ready to npm run dev.


Install

pip install uiforge-cli

Or try without installing:

uvx uiforge-cli dashboard.png

UIForge uses Claude's vision API. Set your key:

export ANTHROPIC_API_KEY=sk-ant-...

Get a free key at console.anthropic.com


Usage

uiforge dashboard.png                          # React + Vite (default)
uiforge dashboard.png --framework next         # Next.js
uiforge dashboard.png --output ./my-app        # custom output dir
uiforge dashboard.png --context "dark SaaS"   # hint for better results
uiforge dashboard.png --dry-run                # analyze only, no codegen

What you get

my-app/
├── src/
│   ├── Dashboard.tsx          ← main page, composes everything
│   ├── components/
│   │   ├── Sidebar.tsx        ← each component is its own file
│   │   ├── Topbar.tsx
│   │   ├── StatsGrid.tsx
│   │   ├── RevenueCard.tsx
│   │   ├── SalesChart.tsx     ← recharts, wired up
│   │   └── RecentOrders.tsx   ← real table with mock data
│   ├── lib/utils.ts           ← cn() helper
│   └── globals.css            ← colors extracted from your screenshot
├── package.json
├── tailwind.config.js         ← exact colors from the image
└── tsconfig.json
cd my-app && npm install && npm run dev

It runs.


How it works

UIForge runs a 3-step pipeline:

1 — Analyze

Claude Vision reads the screenshot and returns a structured component tree: names, types, hierarchy, Shadcn/UI matches, Lucide icon suggestions, and exact hex colors from the image.

2 — Generate

Each component is generated independently. UIForge instructs the model to use Tailwind classes only (no position: absolute), wire in Shadcn/UI primitives where detected, add Framer Motion hover animations, and include realistic placeholder data.

3 — Scaffold

A complete project is written to disk — package.json, tailwind.config.js with the extracted color palette, tsconfig.json, globals.css, and all component files.


Generated stack

Framework React 18 + TypeScript
Styling Tailwind CSS (colors from your screenshot)
Components Shadcn/UI
Icons Lucide React
Animation Framer Motion
Charts Recharts
Build Vite or Next.js

Why not the other tools?

Most tools UIForge
Output <div style="left:143px"> Tailwind classes
Structure One 1500-line file One file per component
Runs immediately No npm install && npm run dev
Component names Component1, Box3 Sidebar, StatsCard
Design tokens Ignored Colors wired into tailwind.config.js
Charts Static image Working Recharts component
Shadcn/UI Never Auto-detected and used

Roadmap

  • --dark — generate light + dark theme variants
  • --responsive — one screenshot → desktop + tablet + mobile
  • --vue / --svelte / --flutter output targets
  • URL input: uiforge https://dribbble.com/shots/...
  • Render validation — screenshot the output, compare to original, auto-fix
  • Storybook story generation
  • Figma token export

Contributing

Good first issues:

  • Vue 3 + Composition API output target
  • Better chart detection (pie, area, scatter)
  • --responsive flag implementation
  • Render validation loop
  • Test fixtures (screenshots + expected component trees)

See CONTRIBUTING.md for setup.


License

MIT

Metadata

Release files for uiforge-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uiforge-cli 0.1.0
File Size Uploaded
uiforge_cli-0.1.0.tar.gz 15.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uiforge-cli 0.1.0
File Interpreter ABI Platform
uiforge_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.7 kB

Release files / uiforge_cli-0.1.0.tar.gz

Download URL uiforge_cli-0.1.0.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0b486ba27582c7f133ebf4bfff03864599a3ef5bebdb5022c91cfd57d56bac98
BLAKE2b-256 checksum
How to use checksums
c84c955e01b4772e7fbbc50ca3dace2b8f1f08a26372e70ba95dedc6bcf193cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / uiforge_cli-0.1.0-py3-none-any.whl

Download URL uiforge_cli-0.1.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5bc7d3a1b34effd5e5be734f26f212fccbe145858341ccae4ec76543bfcec674
BLAKE2b-256 checksum
How to use checksums
81966a8bd17212c26f4137d593ad4673aa090307d74f70f68010d946e6ba6e2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page