explaingit

ion-design/ditto.site

Analysis updated 2026-05-18

790TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A tool that captures what a website actually renders in a browser and generates a matching, ready to run Next.js or Vite TypeScript project from it.

Mindmap

mindmap
  root((ditto.site))
    What it does
      Captures rendered page
      Generates TypeScript app
      Deterministic output
    Tech stack
      TypeScript
      Next.js
      Vite
      Playwright
    Interfaces
      REST API
      MCP server
      Local CLI
    Use cases
      Clone live sites
      Agent-driven cloning
      Self hosted service

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a runnable TypeScript codebase from any public website URL without needing its source code.

USE CASE 2

Use the hosted REST API to queue a clone job and download the generated project as a file map or archive.

USE CASE 3

Connect an AI agent to the MCP server so it can clone a site and read only the files it needs.

USE CASE 4

Run the whole cloning service locally with Docker Compose for full control over storage and queuing.

What is it built with?

TypeScriptNext.jsViteReactPlaywrightPostgres

How does it compare?

ion-design/ditto.sitehaydenbleasel/files-sdklinxiaotao/fuckclaude
Stars790764820
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderateeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Local use needs Playwright's Chromium install, the full queued service also needs Docker Compose with Postgres and MinIO.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

This repository is ditto.site, a tool that turns any public website URL into a working, self-contained TypeScript codebase. It works by capturing exactly what a browser renders on a given page, then generating a project from that capture, either a Next.js app by default or a Vite React app if you request it. The authors are careful to distinguish this from a normal git clone: you do not need the site's original source code or an existing repository at all, you just point the tool at a live URL and it writes you a fresh, runnable project based on what actually shows up in the browser. It is described as a capture-to-code pipeline rather than an AI page author, meaning the same frozen capture always produces the same generated app. There are three main ways to use it. First, a hosted REST API lets you submit a URL and get back either a finished job or a queued one you can poll, returning a file map of every generated file with its content and hash. A companion command line tool can then unpack that file map into an actual project folder on disk, or you can download the whole generated app as a single archive. Second, there is a hosted MCP server built specifically for AI agents, exposing tools to start a clone, check its status, list the generated files, and read only the specific files needed, rather than dumping everything into the agent's context at once. Third, you can run the whole thing locally by cloning this repository, installing dependencies, and running a clone command directly against any URL, which produces a ready to run app with clear pointers to the files that are safe to edit. The project also supports a full local service mode with Postgres and file storage through Docker Compose, for anyone who wants to queue and manage clone jobs themselves instead of using the hosted API. It is released under the MIT license and requires Node.js version 20 or newer.

Copy-paste prompts

Prompt 1
Explain how ditto.site captures a rendered webpage and turns it into a Next.js project.
Prompt 2
Help me call the ditto.site REST API to clone https://example.com as a Vite React app.
Prompt 3
Show me how to connect an MCP client to ditto.site's hosted MCP server.
Prompt 4
Walk me through running ditto.site locally with npm run clone against a URL.

Frequently asked questions

What is ditto.site?

A tool that captures what a website actually renders in a browser and generates a matching, ready to run Next.js or Vite TypeScript project from it.

What language is ditto.site written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, Vite.

What license does ditto.site use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is ditto.site to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ditto.site for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.