dittuDocs44

Getting started

CLI

In a terminal, dittu, dittu <url> and dittu clone [url] show the banner and ask for what you didn't pass as flags.

dittu <command> [options]

Interactive mode

In a terminal, dittu, dittu <url> and dittu clone [url] show the banner and ask for what you didn’t pass as flags:

  ● ● ● ● ·   ● ● ● ● ●   ● ● ● ● ●   ● ● ● ● ●   ● · · · ●
  ● · · · ●   · · ● · ·   · · ● · ·   · · ● · ·   ● · · · ●
  …
◆  Export to which frameworks?
│  ◼ Next.js (App Router, React components (JSX))
│  ◼ Astro (.astro components, zero JS by default)
◆  How should styles be written?  original CSS / Tailwind CSS
◆  How much of the site?          just this page / 5 / 10 / custom
◆  Check the clone against the original?   quick / build the apps too / skip
◆  Where should I save it?
◆  Change advanced settings?      mobile render, breakpoint, elements to leave out, wait
◇  Ready to clone ── summary ──   ◆ Start?

Flags you pass are never asked again (dittu clone <url> -f astro skips the framework question). -y/--yes, a non-interactive shell, or CI=true skip all questions and use flags + defaults. Ctrl+C cancels before anything is written.

Re-cloning into an existing folder replaces the previous results (generated projects keep node_modules).

clone [url]

Capture, transform, export, then verify. dittu <url> is the same command.

Option Default
-o, --out <dir> dittu-out/<host> output directory
-f, --framework <list> next,astro next, astro, or none
-s, --styling <mode> css css or tailwind (Tailwind output)
-p, --pages <n> 1 crawl up to n same-site pages (robots.txt respected)
--viewport <WxH> 1440x900 capture viewport
--mobile <WxH> / --no-mobile 390x844 second render for JS-computed mobile layout
--breakpoint <px> 768 width below which mobile layout applies
--widths <list> 1440,390 widths to verify
--build off install + build + score the generated apps
--remove <selectors…> drop elements (cookie banners, chat widgets)
--wait <ms> 1500 extra wait after load
--no-split one component per page
--no-format skip prettier
--no-verify skip scoring
-y, --yes no questions: flags and defaults only

verify <dir>

Re-score a clone. --build adds the generated apps; --targets next,astro picks explicitly; --widths as above.

serve <dir>

Serve the static preview (--port, default 4321).

setup

Register the MCP server and skills with detected agents (Claude Code, Cursor, Gemini CLI, Codex). --agents claude-code,cursor to pick, --dry-run to preview. Re-running replaces dittu’s entries and leaves other servers untouched.

mcp

Run the MCP server over stdio. See mcp.md.

doctor

Check Node.js, Chromium (installed and launchable, with the missing system libraries named) and npm. Exits 1 if anything is missing, printing a fix for each.

Output directory

dittu-out/<host>/
  preview/      static HTML (reference export)
  next/         Next.js App Router project
  astro/        Astro project
  assets/       images, fonts, per-page CSS, dittu-motion.js
  reference/    screenshots of the original
  report/       clone screenshots, *.diff.png, report.json, build logs
  dittu.json    manifest, warnings, failed assets
Esc