Turn any website into DESIGN.md and design tokens your agent can actually use. ✨
Dbot is a local-first design extraction workbench built for designers, design engineers, and agent builders. Paste a URL, let Dbot run a bounded same-origin crawl, and get an evidence-backed package of brand signals, structured exports, and implementation-ready tokens.
Three moments in the flow: submit, generate, and inspect.
| Homepage | Generating | Results |
|---|---|---|
![]() |
![]() |
![]() |
Most site-to-design tooling stops at screenshots, vague summaries, or brittle one-off prompts. Dbot is built for a more useful handoff:
- it keeps a visible stage-by-stage pipeline
- it preserves evidence from the pages it crawls
- it exports both narrative output and machine-readable artifacts
- it lets you retry and resume without changing the result contract
DESIGN.mdfor agent-friendly design handoffDesign JSONfor structured downstream useTailwind v4theme variablesCSS Variablesfor direct implementationDesign Tokensfor system-level reuse
- 🎯 URL-to-result flow: submit a website on
/, then follow a persisted job through/results/[jobId]. - 🧠 Evidence-backed extraction: palette, typography, spacing, materials, and previews are derived from crawl evidence instead of pure guesswork.
- 🔎 Inspectable provenance: results are separated into
observed,derived, andsynthesislayers, so you can see what was found, inferred, or written. - 🔁 Retry and resume: failed jobs and partial crawl coverage can resume through the existing
retry=1route surface. - 🪜 Clear pipeline: the product keeps one stable stage order:
Discover,Partition,Extract,Generate,Validate. - 📦 Multi-format exports: one main
DESIGN.md, plusDesign JSON,Tailwind v4,CSS Variables, andDesign Tokens. - 🧪 Fixture-backed workbench:
/workbench/mockstays available for stable UI and contract testing.
- Paste a public URL.
- Dbot creates a persisted local job.
- The crawler collects shallow, same-origin HTML evidence.
- The pipeline derives brand signals, partitions, guidance, and exports.
- The result workbench shows progress first, then hands off a reusable design package.
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
If you want server-side Gemini support, set DBOT_GEMINI_API_KEY in .env.local.
npm run dev
npm test
npm run lint
npm run build
npm run typecheckNote: run npm run build and npm run typecheck sequentially. Both write to .next.
⚠️ HTML-first today: live jobs use a bounded same-origin HTML crawl.⚠️ No browser rendering yet: JavaScript execution and external stylesheet fetching are intentionally out of scope in the current contract.⚠️ Not absolute ground truth: parts of the output are inferred or synthesized, so Dbot is best used as inspectable design intelligence.⚠️ One main output: Dbot keeps one mainDESIGN.mdplus a partition appendix instead of splitting the result into multiple documents.⚠️ Local persistence: jobs are stored throughDBOT_RUNTIME_FILEordata/runtime/jobs.json.
- Designers who want a faster starting point before rebuilding a product language
- Design engineers who need tokens and implementation hints, not just moodboards
- Agent builders who want structured outputs instead of raw crawl text
- Product teams exploring how to turn existing web surfaces into reusable system guidance
The current documented next step is Batch 10: improve visual-hint fidelity by parsing bounded same-origin stylesheet references without changing the route, result, or workbench contracts.
Next.js 14, React 18, Tailwind CSS, Vitest, and a local persisted job pipeline.


