ArtCraft

Craft Anything icon: an engraved raven on a blue tile

Craft Anything

English · 日本語 · 简体中文 · 한국어

See how any website, app or game works, then have AI build your own version; an open-source, clean-room engine in pure Rust.
Point it at a target, say what you want, and it studies the original with real inspection tools,
has a coding agent build a new project, checks the result against the original and refines it.

100% Rust macOS · Windows · Linux · FreeBSD · Web License: MIT OR Apache-2.0 Status: early alpha

Join the ArtCraft community on Discord

Download Craft Anything · ArtCraft · All Crafting Apps


A website project in Craft Anything: the check lists what doesn't match yet and how alike each page is, the builder says its version is ready, an approval card asks before running a command, and the plan shows two of four steps done
A website project: each check says how alike the build is, you approve anything outside the rules, and the plan shows what's left.

> [!NOTE] > **ArtCraft is a community of artists from all walks of life.** Painters, photographers, > filmmakers, illustrators, designers, animators, hobbyists, and people who picked up a pencil > last week. If you make things, you're one of us. **[Come say hi on Discord](https://discord.gg/artcraft).**

How it works · Two ways to use it · AI · Agents · Under the hood · Get started · Status · Downloads · Discord


🔍 Study anything

Websites, desktop apps, phone apps, games and files: real inspection tools find out how they're built and what they do, with the evidence behind every answer.

🛠️ Build your own

Say what you want ("Recreate this website", "Recreate this game's gameplay in Rust") and a coding agent builds a new project in the stack you ask for.

✅ Checked, not guessed

Every build is compared with the original (pages at three screen widths, a game's own self-test, an app's runs) and refined until it's close.

🤖 Agent-ready

314 tools, each one a CLI command and an MCP tool, so any agent can drive the same engine the app uses. No AI is needed to inspect.

## How it works Point Craft Anything at a target, say what you want, and press Start. It works in four steps, asking you in plain words when a decision is yours: 1. **Study:** inspect the original: its pages at every width, its code, its files, how it runs. 2. **Build:** a coding agent builds a new project, in the language, framework or engine your request names (or a sensible default). 3. **Check:** compare the build with the original and list what doesn't match yet. 4. **Ready:** open, play or preview the result, or ask for changes and it refines it.
The Make screen: pick a website, an app or a game to recreate, type the address, choose Clean room or Deep, say what you want and press Start
Make: pick what to recreate, say what you want, press Start.
A finished snake game project with its steps all done and a Play the game button
Ready: play the game, or ask for changes below.
## Two ways to use it - **Simple** (default): "What do you want to make?" Pick a website, app or game, describe it, press Start. A project page shows the four steps (Study → Build → Check → Ready), what the agent is doing in plain words, question and approval cards, how alike the result is, and buttons to open the result or its folder. Ask for changes in the box at the bottom. "Just look inside" opens a target for questions without building anything (in Deep mode). - **Advanced**: the full workbench: every tool (Ctrl/Cmd+K), functions, strings, pseudo-C, disassembly, hex, call graphs, evidence, unknowns, jobs, logs and the agent console. Both modes drive the same engine. ## Clean room or Deep - **Clean room** (the default): nothing inside the original is read, not its code, files or page source. Craft Anything works from what you can see: pictures you add, the website as a visitor sees it (screenshots, visible text, measured layout, colours, fonts and spacing, menus opened) and, when you allow it, a picture of the app's window. Tools that would look inside are refused and say how to turn on Deep mode. - **Deep**: every tool is used, for your private use. A program's code and files are read with the built-in engines (and Ghidra when it's installed), a website's JavaScript is read and its start page watched, and the builder may use all of them. Switch in the title bar or Settings, with `settings_set deep_mode true`, or for one CLI run with `--deep` (or `--clean-room`).

The Advanced workbench: a function list, pseudo-C of the selected function, the agent answering a question with a tool call, and the evidence ledger
Advanced: functions, pseudo-C, the agent and the evidence behind every answer.

## AI Building needs a coding agent on your computer. **Claude Code** is supported first: Craft Anything runs your own, unmodified `claude` program, which uses your own sign-in; Craft Anything never sees or handles your account. Your use of it falls under your own agreement with Anthropic. See [docs/claude-code.md](docs/claude-code.md) for how and why. A Codex adapter exists but hasn't been verified on a real install yet. Other agents that speak ACP (Gemini CLI, Qwen Code, opencode, goose, Hermes, Maki) can be switched to it per backend; of those, only Maki has been run live. Anthropic, OpenAI, OpenRouter and local OpenAI-compatible servers are available for questions and analysis (Settings → AI). ## Built for agents Every tool is also a CLI subcommand and an MCP tool, so an agent can study a target or run a whole rebuild without the app: ```sh craft-anything-cli commands # every tool, by toolset craft-anything-cli mcp # serve them to any MCP client craft-anything-cli rebuild https://example.com "Recreate this website" ``` Results are evidence records with their confidence, coverage and limitations; big ones come back as a summary first and are paged with `core_evidence_browse`. `craft-anything-cli setup` connects Craft Anything to coding-agent apps. ## Under the hood A pure-Rust reverse-engineering engine with 314 tools (298 in the engine, the rest from the AI and setup layers) for native programs, .NET, Java, Android, Apple, Electron/JavaScript, websites, firmware, packet captures, databases and game files. Its own decoders, disassembler and decompiler work without any outside program; Deep mode uses them all, and Ghidra when it's installed. It powers the desktop app (egui), the CLI and the MCP server, and parts of it run in the browser as WebAssembly. The full list is in [docs/tools.md](docs/tools.md). ## Get started Requires Rust **1.97 or newer** (a dependency needs it; `rustup update`). On Debian or Ubuntu, the desktop app also needs: ```sh sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev ``` Then: ```sh 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 ``` Building needs a coding agent signed in on your computer (see [AI](#ai)); `doctor` says what's missing. Rebuild from the command line (questions are asked in the terminal): ```sh 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 "" craft-anything-cli rebuild - "Add a contact form" --project-folder "" --existing edit ``` New projects go in `Documents/Craft Anything` (change it in Settings → General). Each project folder holds `craft.json` (the request, target, status and history), `capture/` (what was recorded from the target), `app/` (the generated project), `checks/` (each comparison against the original), `investigation.cany/` (evidence) and `inbox/` (open questions). A project can also start in a folder you pick (Choose a folder… under Start, or `--project-folder`). If it already has files, you say what they are: the app itself, which the builder edits in place, or material to start from, with the app built in `app/` beside them (Settings → General can remember the answer). Settings → General also lists projects from more folders; removing one only takes it off the list. ## Status > [!IMPORTANT] > **Status:** Craft Anything is in early alpha. What works today, what is partial and what's next: > > - **Works today:** the desktop app (Simple and Advanced), the CLI and the MCP server; the > Study → Build → Check → Refine workflow for websites, apps and games with Claude Code as the > builder; website checks at three screen widths; game rebuilds in Unity, Unreal or Godot; Deep > mode with Ghidra; generated pictures and 3D models (opt-in, your own fal.ai key); plugins (MCP > servers, and WASM components in builds with the `wasm-plugins` option). > - **Partly there:** building with API keys and other coding agents (built, not yet run live), > behaviour checks for apps and games, a few engine tools tested only against stand-ins. > - **Next:** the first public release (installers for Windows, macOS, Linux and FreeBSD, and the > browser viewer are set up in CI), then the managed tier. > > [docs/STATUS.md](docs/STATUS.md) has the detail and how each part was checked, > [docs/tool-status.md](docs/tool-status.md) the tool-by-tool checklist, and > [docs/ROADMAP.md](docs/ROADMAP.md) the plan, item by item. Please file issues, or tell us what > broke on [Discord](https://discord.gg/artcraft). **Responsible use.** Use Craft Anything on software you own or are allowed to examine. It never bypasses DRM, logins or anti-cheat. Rebuilds recreate layout, style and behaviour from evidence; the agent is told not to copy logos, photos or text unless you confirm you own them or have permission. ## Downloads On GitHub, the [latest release](https://github.com/storytold/craft-anything/releases/latest) has every build listed below, and [all releases](https://github.com/storytold/craft-anything/releases) has earlier versions and their notes. `` in the file names is the version number, and `SHA256SUMS.txt` lists a checksum for every file. ### Windows | Build | Installer | Portable | |---|---|---| | x64 (64-bit Intel/AMD) | `craft-anything--windows-x64.msi` | `craft-anything--windows-x64-portable.zip` | | arm64 (Snapdragon and other ARM PCs) | `craft-anything--windows-arm64.msi` | `craft-anything--windows-arm64-portable.zip` | | x86 (32-bit) | `craft-anything--windows-x86.msi` | `craft-anything--windows-x86-portable.zip` | Installers and executables are code-signed. The portable zip keeps its settings next to the app. ### macOS | Build | File | Notes | |---|---|---| | App, universal (Apple silicon + Intel) | `craft-anything--macos-universal.dmg` | Signed and notarized | | Command-line tool, universal | `craft-anything-cli--macos-universal.zip` | Signed and notarized; see below if macOS blocks it | Versions after 0.2.0 include the command-line tool in the app, so builds don't need the separate zip. You only need it to use the command line without the app. A browser download of the zip can stop with "Apple could not verify craft-anything-cli" (a lone program can't carry its notarization with it, so macOS has to look it up online). A download from the terminal isn't checked this way, so use this instead: ```sh ver=0.2.0 # change this to the version you want curl -fLO "https://github.com/storytold/craft-anything/releases/download/v$ver/craft-anything-cli-$ver-macos-universal.zip" ditto -x -k "craft-anything-cli-$ver-macos-universal.zip" . mkdir -p ~/.local/bin mv "craft-anything-cli-$ver-macos-universal/craft-anything-cli" ~/.local/bin/ ~/.local/bin/craft-anything-cli --version ``` To run it as just `craft-anything-cli`, add `~/.local/bin` to your `PATH`. If you already have the blocked copy, press Done (not Move to Bin), then run `xattr -d com.apple.quarantine `, or allow it in System Settings → Privacy & Security → Open Anyway. ### Linux | Format | x86_64 | aarch64 (ARM64) | Notes | |---|---|---|---| | AppImage | `craft-anything--linux-x86_64.AppImage` | `craft-anything--linux-aarch64.AppImage` | Runs anywhere; updates itself with [AppImageUpdate](https://github.com/AppImageCommunity/AppImageUpdate) (`.zsync` files) | | Flatpak | `craft-anything--linux-x86_64.flatpak` | `craft-anything--linux-aarch64.flatpak` | Sandboxed; `flatpak install --user ` | | Debian/Ubuntu | `craft-anything--linux-x86_64.deb` | `craft-anything--linux-aarch64.deb` | | | Fedora/RHEL/openSUSE | `craft-anything--linux-x86_64.rpm` | `craft-anything--linux-aarch64.rpm` | | | Tarball | `craft-anything--linux-x86_64.tar.gz` | `craft-anything--linux-aarch64.tar.gz` | Unpack anywhere | RISC-V (riscv64): `craft-anything--linux-riscv64.tar.gz`, a tarball only. ### FreeBSD | Build | File | |---|---| | x86_64 | `craft-anything--freebsd-x86_64.tar.gz` | ### Web (WebAssembly) | Build | File | Notes | |---|---|---| | Browser viewer | `craft-anything-web-.zip` | Says what a file is, in the browser (the file never leaves it); host the folder on any static web server ([packaging/web/README.md](packaging/web/README.md)) |

Join the ArtCraft community on Discord

Come make things with us

Our Discord is where artists of every kind hang out: people who paint, shoot, draw, cut film, set type, and people still figuring out what they like to make. Share what you're working on, ask for help, tell us what's broken, or tell us what you wish these tools could do. Whatever your medium and however long you've been at it, you're welcome here.

discord.gg/artcraft · getartcraft.com · The Crafting Apps · Craft Anything

--- ## The Craft App Suite | | App | What it's for | Code | Learn more | |:-:|---|---|---|---| | | **PhotoCraft** | Image editing: layers, masks, type and real PSD files | [GitHub](https://github.com/storytold/photocraft) | [Website](https://getartcraft.com/apps/photocraft) | | | **VectorCraft** | Vector illustration | [GitHub](https://github.com/storytold/vectorcraft) | [Website](https://getartcraft.com/apps/vectorcraft) | | | **FilmCraft** | Video editing, color and sound | [GitHub](https://github.com/storytold/filmcraft) | [Website](https://getartcraft.com/apps/filmcraft) | | | **LightCraft** | Photo library and raw development | [GitHub](https://github.com/storytold/lightcraft) | [Website](https://getartcraft.com/apps/lightcraft) | | | **PdfCraft** | Reading, organizing and protecting PDFs | [GitHub](https://github.com/storytold/pdfcraft) | [Website](https://getartcraft.com/apps/pdfcraft) | | | **EffectCraft** | Motion graphics and visual effects | [GitHub](https://github.com/storytold/effectcraft) | [Website](https://getartcraft.com/apps/effectcraft) | | | **DesignCraft** | Page layout and publishing | [GitHub](https://github.com/storytold/designcraft) | [Website](https://getartcraft.com/apps/designcraft) | | | **FigCraft** | Interface design and prototyping | [GitHub](https://github.com/storytold/figcraft) | [Website](https://getartcraft.com/apps/figcraft) | | | **WordCraft** | Word processing and documents | [GitHub](https://github.com/storytold/wordcraft) | [Website](https://getartcraft.com/apps/wordcraft) | | | **SoundCraft** | Audio recording and editing | [GitHub](https://github.com/storytold/soundcraft) | [Website](https://getartcraft.com/apps/soundcraft) | | | **DeckCraft** | Presentations and slide decks | [GitHub](https://github.com/storytold/deckcraft) | [Website](https://getartcraft.com/apps/deckcraft) | | | **CADCraft** | Computer-aided design | [GitHub](https://github.com/storytold/cadcraft) | [Website](https://getartcraft.com/apps/cadcraft) | | | **GridCraft** | Spreadsheets and data | [GitHub](https://github.com/storytold/gridcraft) | [Website](https://getartcraft.com/apps/gridcraft) | | | **TextureCraft** | 3D texture painting | [GitHub](https://github.com/storytold/texturecraft) | [Website](https://getartcraft.com/apps/texturecraft) | | | **Craft Anything** | See how any software works, then build your own | [GitHub](https://github.com/storytold/craft-anything) | [Website](https://getartcraft.com/apps/craft-anything) | | | **SolidCraft** | Parametric 3D CAD by Tangency Labs (community app) | [GitHub](https://github.com/tangency-labs/solidcraft) | | ## License and credits Craft Anything is dual-licensed under [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE), at your option. Copyright (c) 2026 ArtCraft Team and the Craft Anything contributors. Required notices are in [NOTICE](NOTICE). Bundled fonts, icons, images and other assets keep their own open licenses; each one is listed with its author, source and license in [ATTRIBUTION.md](ATTRIBUTION.md). The screenshots show sample projects made for them: example.com, a snake game and a small calculator program. The ArtCraft name, wordmark and logos in [`docs/brand/`](docs/brand/) are trademarks of the ArtCraft Team and are not covered by this license. They may be used only unmodified, and only as part of this repository and Craft Anything, under [`docs/brand/LICENSE-brand.txt`](docs/brand/LICENSE-brand.txt). Forks and modified versions must remove them.

ArtCraft
Made by the ArtCraft team and community.