TL;DR

Craft Anything (storytold/craft-anything) studies an existing website, desktop app or game, then has a coding agent on your computer build a new project that does the same thing. It compares the result with the original and keeps refining it. You point it at a target, type something like “Recreate this website” or “Recreate this game’s gameplay in Rust”, and press Start. Underneath is a reverse-engineering engine written in pure Rust. Every one of its tools also works as a CLI command and as an MCP tool, so Claude Code, Codex or any other MCP client can call the same engine the desktop app uses.

Facts as of November 8, 2026:

  • 21,635 GitHub stars and 4,237 forks, eight days after the repository was created on October 31, 2026.
  • 166 open issues (issues only; GitHub’s combined figure of 301 also counts open pull requests).
  • Latest release: v0.5.0, November 6, 2026. v0.3.0 came out on November 2 and v0.4.0 earlier on November 6.
  • License: dual MIT or Apache-2.0 (GitHub’s license detector shows only Apache-2.0).
  • Status, in the project’s own words: early alpha.

Not run by us: our hands-on lab, a throwaway GitHub Actions container, could not start on the day we wrote this, so we did not install or run Craft Anything. A full rebuild would also need a signed-in coding agent such as Claude Code, which the lab does not have. This review is based on the README, the project’s status and roadmap documents, the v0.5.0 release notes, the CLI source code and the issue tracker.

Our verdict: Craft Anything is the most ambitious open-source take on “show an AI an app and get your own version back”. Two decisions set it apart from screenshot-to-code tools: it measures how close the copy is instead of trusting the agent’s word, and its default Clean room mode refuses to read the original’s code. It is also eight days old. Its status file openly lists parts that are built but have never been run live, and the open issues show builders getting stuck in loops. Try it on your own projects, or on sites you have permission to copy. Do not put it in a production pipeline yet.

Quick Reference

FieldValue
What it isStudy a website, app or game → a coding agent builds your own version → check it against the original → refine
EnginePure Rust; about 300 engine tools (docs/tools.md lists 302 in 17 toolsets), 320 counting the AI and setup layers
InterfacesDesktop app (egui), craft-anything-cli, MCP server, a WebAssembly viewer for the browser
BuildersClaude Code first; Copilot CLI, Grok Build, DeepSeek Harness, OpenCode; Codex adapter not yet verified on a real install
ModesClean room (default: only what a visitor can see) and Deep (reads code, files, JavaScript; uses Ghidra if installed)
PlatformsWindows (x64, arm64, x86), macOS universal, Linux (x86_64, aarch64, riscv64), FreeBSD
PriceFree and open source; a “managed tier” is on the roadmap with no decision yet
LicenseMIT or Apache-2.0
Makerstorytold, the team behind the ArtCraft “Craft App Suite”

What Craft Anything actually does

The README describes four steps, and the desktop app shows them as a progress bar on each project page:

  1. Study. Inspect the original: for a website, screenshots at several widths, measured layout, colours, fonts, opened menus and up to four more pages; for a program, its files, code and behaviour.
  2. Build. A coding agent creates a new project in the stack your request names, or a default (Rust with egui for apps, Unity for games, the original’s stack for websites).
  3. Check. Compare the build with the original and list what still doesn’t match.
  4. Ready. Open, play or preview the result, or type what you want changed and it refines the build.

The checking step is what separates this from one-pass screenshot-to-code tools. According to docs/STATUS.md, a website build is served on loopback and every page is compared with the original at 1440, 768 and 390 pixels wide. The “likeness” score averages a layout comparison with a perceptual one (SSIM), ignoring parts of the original that change on their own (found by photographing it three times). The check also flags sideways scrolling, new console errors, failed file loads, missing accessibility landmarks and menus that don’t open. A build gets up to six refinement rounds, or stops at 90% likeness.

Games have their own check: a game counts as ready only when its --self-test shows the player moving and acting and the HUD being drawn. Craft Anything recognises 12 game engines; Unreal and Godot games are rebuilt in the same engine, everything else in Unity.

Clean room vs Deep mode

Clean room is the default. Craft Anything reads nothing inside the original (no source code, files or page source), only what a visitor can see: your pictures, screenshots, visible text, measured layout and, if you allow it, a picture of the app’s window. Tools that would look inside are refused. With Claude Code, the agent’s reads and commands go through an approval tool that keeps it out of the original’s folder and site.

Deep mode uses every tool: the built-in disassembler and decompiler, Ghidra if installed, and the website’s JavaScript. The README says Deep mode is “for your private use”.

The README is also clear about what Clean room is not:

Clean room is a rule about what Craft Anything offers and refuses. It is not an operating-system sandbox: it doesn’t isolate your computer. A coding agent you run still acts as you.

This matters because Auto mode is on by default. Builder actions go ahead without asking, except for a fixed list that is never done unasked: deleting files outside the project, changing the system, publishing. You can set allow, ask or refuse for each kind of action per project. If you run Craft Anything on a machine that holds credentials, keep “commands” on “ask”. The docs/claude-code.md page says that allowing commands means trusting the builder.

The README also warns that dependency installs run code: choosing “always allow” for npm once lets every later npm command, and its install scripts, run without asking.

Which coding agents it works with

Craft Anything does not ship its own model for building. It starts the coding agent you already have:

  • Claude Code is the first-class option. Craft Anything runs your own unmodified claude in headless mode (claude -p … --output-format stream-json), with its MCP server attached and its own approval tool as the permission prompt. The status file says the default is Opus 5.5 at high effort. Your Claude Code use stays under your own agreement with Anthropic; Craft Anything never handles your account.
  • DeepSeek Harness became a builder in v0.5.0, with live runs recorded on macOS and Windows. (We reviewed the harness in DeepSeek Harness Review: Everything Is a Plugin.)
  • GitHub Copilot CLI and Grok Build connect over ACP; OpenCode got native tool support in v0.5.0.
  • Codex: an adapter exists, but the README says it “hasn’t been verified on a real install yet.” Of the other ACP agents (Gemini CLI, Qwen Code, goose, Hermes, Maki), only Maki has been run live.

Plain API keys work for questions and analysis. Building with an API key instead of a coding agent is listed as “partly there”: built, not yet run live.

Getting started

Releases include a signed and notarized macOS DMG, code-signed Windows installers, and AppImage, Flatpak, deb, rpm and tarball builds for Linux. The Flatpak is sandboxed and can’t start a browser, which studying websites needs, so pick another Linux format for website work.

To build from source you need Rust 1.97 or newer:

git clone https://github.com/storytold/craft-anything && cd craft-anything
cargo run --release -p craft-anything                # the desktop app
cargo install --path apps/craft-anything-cli         # the CLI, as `craft-anything-cli`
craft-anything-cli doctor                            # checks the install, coding agents and engines

Rebuilds from the terminal (README examples):

craft-anything-cli rebuild https://example.com "Recreate this website"
craft-anything-cli rebuild - "A snake game in Rust" --rounds 1
craft-anything-cli rebuild https://example.com "Make the header blue" --continue-in "<project folder>"

Each project folder keeps the request and history (craft.json), the capture, the generated app/, every comparison in checks/, and open questions in inbox/.

Using the engine without the rebuild

You can skip the rebuild workflow and use the engine as a reverse-engineering toolkit for your own agent. According to the CLI source, inspecting a file needs no AI at all:

craft-anything-cli commands                      # every tool, by toolset (JSON)
craft-anything-cli triage ./some-binary          # "what is this?" first look
craft-anything-cli --deep triage ./some-binary   # allow reading inside it
craft-anything-cli mcp                           # serve the tools to any MCP client
craft-anything-cli mcp --restricted              # v0.5.0: no tools that act on the machine or reach the network
craft-anything-cli setup                         # register with your coding-agent apps

Tool IDs follow an <area>_<object>_<action> pattern (native_function_pseudocode, web_site_capture). The engine covers native programs (PE, ELF, Mach-O), .NET, Java, Android, Apple bundles, Electron and minified JavaScript, firmware, packet captures, SQLite, Unity and Unreal archives, and even GGUF and safetensors headers. Results are evidence records with confidence, coverage and limitations, the same idea behind REA (Reverse Engineer Anything), which we reviewed in October. REA stops at investigation; Craft Anything adds the build-and-compare loop.

How honest is the status page?

Unusually honest. docs/STATUS.md has a “Verified by” column for each feature, and many entries say what was not checked. Some examples from the current file:

  • Clean room and Deep mode: covered by engine, AI, MCP, CLI and app tests, but “no live Clean room build run yet.”
  • Auto mode: “Unit tests, UI tests; not tried in a live build.”
  • The Ghidra guided install “has only been tried on Windows.”

The project reports 923 passing tests in its October 23 baseline audit, plus a functional audit that ran every engine tool on real inputs on Windows. Those are the project’s numbers; we did not reproduce them. Before relying on a feature, look it up in this file.

Community reactions

Interest came from GitHub trending and non-English tech media more than Hacker News, where a November 5 submission got 6 points. A Korean trend tracker logged 400 stars on day one. A Japanese note.com writer said the team is on a mission to “absolutely destroy legacy SaaS”: the same organisation is rebuilding Adobe- and Office-style tools in Rust (PhotoCraft, FilmCraft, WordCraft and more).

The issue tracker gives a more realistic picture than the coverage:

  • #736: with gemini-cli as the builder, the reporter says the build/check phase loops on “No built site found in app/dist…”. The agent claimed it had run npm run build, but app/ was empty. The checker was right to refuse it; the loop itself is the bug.
  • #478: on v0.3.0, Claude Code builds failed after two seconds because a resume call passed an invalid session ID. The same user reported that Codex worked.
  • #498: Qwen3:8b sent an array where core_unknown_add expected a string; the status file now lists stricter argument parsing for this.

The v0.5.0 notes list fixes in these areas, but the pattern is clear: builders other than Claude Code are much less tested.

Honest limitations

  • Early alpha. Three releases in five days means a moving target.
  • Best experience needs Claude Code, so a paid Anthropic plan.
  • Clean room is a policy, not a sandbox. With Auto mode on by default, the builder runs commands as you.
  • Legal questions are yours. The README says to use it “on software you own or are allowed to examine”; it never bypasses DRM, logins or anti-cheat. Clean room is an engineering mode, not legal advice.
  • The likeness score measures appearance, not correctness. A website at 90% visual likeness can still have broken forms. Behaviour checks for apps and games are listed as “partly there”.
  • Big downloads. v0.5.0 downloads range from about 47 MB (Linux Flatpak) to 133 MB (macOS DMG), and Deep mode with Ghidra needs Java and up to half the machine’s memory.

Craft Anything vs the alternatives

You want to…Pick
Rebuild a site, app or game you’re allowed to copy, with a measured checkCraft Anything
Have an agent investigate a binary or Electron app without rebuilding itREA, or Craft Anything’s CLI/MCP with --deep
Turn a single screenshot into a front-end component quicklyA screenshot-to-code tool; Craft Anything is heavy for this
Do manual, expert reverse engineeringGhidra or IDA directly (Craft Anything uses Ghidra in Deep mode)
Restyle your own existing projectcraft-anything-cli rebuild - "…" --project-folder <folder> --existing edit, or just your coding agent

FAQ

Is Craft Anything free?

Yes. The code is dual-licensed MIT or Apache-2.0 and the releases are free. Building uses your own coding agent, so you pay whatever that costs, for example a Claude subscription for Claude Code. Generated pictures and 3D models are optional and use your own fal.ai key, with a default budget of $5 per project. The roadmap mentions a future “managed tier” with account billing, but no decision has been made.

It depends on what you copy and where you are. The project says to use it only on software you own or may examine, and Clean room tells the agent not to copy logos, photos or text without permission. That lowers the risk without removing it; ask a lawyer before shipping anything that closely imitates a commercial product.

Does it need Claude Code?

To inspect files, no: the engine, CLI and MCP server run without any AI. To build, it needs a signed-in coding agent. Claude Code is the best-tested; DeepSeek Harness, Copilot CLI, Grok Build and OpenCode are supported.

Can I use Craft Anything’s tools inside Claude Code or Codex?

Yes. craft-anything-cli mcp serves every tool over MCP and craft-anything-cli setup registers it with coding-agent apps. Use --restricted (v0.5.0) on shared hosts.

How is it different from REA?

Both are evidence-first reverse-engineering toolkits agents call over MCP. REA stops at investigation; Craft Anything adds a desktop app, Clean room mode and the Study → Build → Check → Refine loop.

Bottom line

Craft Anything adds what the “AI, copy this app” demo usually skips: a measured comparison, a clear line between looking at a target and reading inside it, and a status file that admits what hasn’t been tested. As a reverse-engineering MCP server it is useful today. As a one-click app cloner it is an alpha that works best with Claude Code and needs you to watch the approval settings.

Sources