Skip to content

Releases: Manish-Tamang/dittu

Release list

v0.2.0

Choose a tag to compare

@Manish-Tamang Manish-Tamang released this 25 Oct 05:33
v0.2.0
80005b1

Tailwind CSS output, plus two build fixes.

npx @manishtamang/dittu@latest clone https://example.com --styling tailwind

Tailwind CSS output

--styling tailwind (also in interactive mode and as the MCP styling option) writes styles as Tailwind CSS v4 utilities wherever they render exactly like the original. Everything else stays CSS, so the clone scores the same.

  • Each class is compiled by Tailwind and checked against the original declaration, media query and state.
  • The cascade is simulated per element before and after; a rule converts only if every element keeps the same winning value.
  • Sites built with Tailwind v4 keep their own classes (gap-3, md:px-4, dark:bg-zinc-800).
  • Next.js projects get @tailwindcss/postcss, Astro projects get @tailwindcss/vite.

Results: the hard-cases fixture scores 99.99% and a Tailwind v4 site 99.89% in the preview and both built apps, the same as with the original CSS. See docs/tailwind.md.

Fixes

  • Astro components didn't import icons referenced from data lists (Icon7 is not defined at build).
  • Next.js type check failed on legacy HTML attributes React's types don't list (<img border="0">).

Known issues

  • Sites built with Tailwind v3 convert only a small share of rules to utilities (the rest stays CSS).
  • The fixture e2e test still records 2 of the 4 scroll-reveal animations.

v0.1.0

Choose a tag to compare

@Manish-Tamang Manish-Tamang released this 24 Oct 09:44
v0.1.0
7b6ad7b

First release of dittu: clone any website's frontend into Next.js or Astro, verified by pixel diff.

npx @manishtamang/dittu clone https://example.com
  • npm: @manishtamang/dittu
  • MCP Registry: io.github.Manish-Tamang/dittu (npx -y @manishtamang/dittu mcp)

Features

  • dittu clone: capture the live DOM + CSSOM in Chromium, download assets, export a static preview, a Next.js App Router project (JSX) and an Astro project, split into section components.
  • Parser/hydration-safe markup repair (<div> in <p>, nested links, <tr> without <tbody>), canvas and WebGL snapshots.
  • Motion recorder + runtime: class-toggle and inline-style reveals, Framer Motion / WAAPI animations, loops.
  • Mobile render: layout that JS computes per viewport becomes @media overrides; time-varying elements excluded; desktop-only elements hidden below the breakpoint.
  • dittu verify: pixel-diff scoring at desktop and mobile for the preview and the built apps (--build).
  • dittu mcp: MCP server with clone_website, verify_clone, read_report.
  • dittu setup: registers the MCP server and skills with Claude Code, Cursor, Gemini CLI and Codex.
  • dittu doctor: environment checks with fixes.

Also in this release

  • Published on npm as @manishtamang/dittu (the unscoped name was rejected). The command is still dittu: npx @manishtamang/dittu clone <url>.
  • Interactive mode: dittu, dittu <url> and dittu clone [url] show a dotted DITTU banner and ask for frameworks, pages, verification, output folder and advanced settings (skipped for flags you pass, with -y, in CI, or without a terminal).
  • Fix: flags after clone were captured by the root command (-o was ignored).
  • Fix: re-cloning into an existing folder reused stale reference screenshots; previous results are now cleared (keeping node_modules).

Known issues

  • The fixture e2e test records 2 of the 4 scroll-reveal animations; fix planned for 0.1.1.