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.
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).**
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.
Make: pick what to recreate, say what you want, press Start.
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`).
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)) |
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.
---
## 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.