{"slug": "craft-anything-understand-how-any-software-works-and-craft-your-own", "title": "Craft Anything: understand how any software works, and craft your own", "summary": "ArtCraft released Craft Anything, an open-source engine written in pure Rust that inspects any website, desktop app, phone app or game and then has a coding agent build a new version in a stack the user names. The tool exposes 320 tools, each a CLI command and an MCP tool, and runs a four-step Study → Build → Check → Ready loop that compares the new build against the original at three screen widths and refines it until close. Craft Anything defaults to a \"clean room\" mode that reads nothing inside the original — only screenshots, visible text and measured layout — and requires users to opt into a Deep mode that reads code and files with built-in engines and Ghidra when installed.", "body_md": "**See how any website, app or game works, then have AI build your own version; an open-source, clean-room engine in pure Rust.**\n\n  Point it at a target, say what you want, and it studies the original with real inspection tools,\n\n  has a coding agent build a new project, checks the result against the original and refines it.\n\n[**Download Craft Anything**](#downloads) ·\n  [ArtCraft](https://getartcraft.com/) ·\n  [All Crafting Apps](https://getartcraft.com/apps)\n\n<sub>A website project: each check says how alike the build is, you approve anything outside the rules, and the plan shows what's left.</sub>\n\nNote\n\n**ArtCraft is a community of artists from all walks of life.** Painters, photographers,\nfilmmakers, illustrators, designers, animators, hobbyists, and people who picked up a pencil\nlast week. If you make things, you're one of us. [Come say hi on Discord](https://discord.gg/artcraft).\n\n[How it works](#how-it-works) ·\n  [Two ways to use it](#two-ways-to-use-it) ·\n  [AI](#ai) ·\n  [Agents](#built-for-agents) ·\n  [Under the hood](#under-the-hood) ·\n  [Get started](#get-started) ·\n  [Status](#status) ·\n  [Downloads](#downloads) ·\n  [Discord](https://discord.gg/artcraft)\n\n| 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. | 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. | 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. | 320 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. | \n\nPoint 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:\n\n1. **Study:** inspect the original: its pages at every width, its code, its files, how it runs.\n2. **Build:** a coding agent builds a new project, in the language, framework or engine your\nrequest names (or a sensible default).\n3. **Check:** compare the build with the original and list what doesn't match yet.\n4. **Ready:** open, play or preview the result, or ask for changes and it refines it.\n\n| <sub>**Make:** pick what to recreate, say what you want, press Start.</sub> | <sub>**Ready:** play the game, or ask for changes below.</sub> | \n\n- **Simple** (default): \"What do you want to make?\" Pick a website, app or game, describe it,\npress Start. A project page shows the four steps (Study → Build → Check → Ready), what the\nagent is doing in plain words, question and approval cards, how alike the result is, and\nbuttons to open the result or its folder. Ask for changes in the box at the bottom.\n\"Just look inside\" opens a target for questions without building anything (in Deep mode).\n- **Advanced** : the full workbench: every tool (Ctrl/Cmd+K), functions, strings, pseudo-C,\ndisassembly, hex, call graphs, evidence, unknowns, jobs, logs and the agent console.\n\nBoth modes drive the same engine.\n\n- **Clean room** (the default): nothing inside the original is read, not its code, files or page\nsource. Craft Anything works from what you can see: pictures you add, the website as a visitor\nsees it (screenshots, visible text, measured layout, colours, fonts and spacing, menus opened)\nand, when you allow it, a picture of the app's window. Tools that would look inside are refused\nand say how to turn on Deep mode.\n- **Deep** : every tool is used, for your private use. A program's code and files are read with the\nbuilt-in engines (and Ghidra when it's installed), a website's JavaScript is read and its start\npage watched, and the builder may use all of them.\n\nClean room is a rule about what Craft Anything offers and refuses. It is not an operating-system\nsandbox: it doesn't isolate your computer. A coding agent you run still acts as you, and what it can\nread, write or run depends on its own permissions. Which of an agent's own tools Craft Anything can\nrefuse differs by agent; for Claude Code's tools in chats and questions, see\n[`docs/claude-code.md`](https://github.com/storytold/craft-anything/blob/main/docs/claude-code.md).\n\nSwitch in the title bar or Settings, with `settings_set deep_mode true`, or for one CLI run with\n`--deep` (or `--clean-room`).\n\n**Advanced:** functions, pseudo-C, the agent and the evidence behind every answer.\n\nBuilding needs a coding agent on your computer. **Claude Code** is supported first: Craft\nAnything runs your own, unmodified `claude` program, which uses your own sign-in; Craft Anything\nnever sees or handles your account. Your use of it falls under your own agreement with\nAnthropic. See [docs/claude-code.md](https://github.com/storytold/craft-anything/blob/main/docs/claude-code.md) for how and why. A Codex adapter\nexists but hasn't been verified on a real install yet. **GitHub Copilot** can use your installed\nCopilot CLI through ACP: sign in separately with `copilot login`. Other agents that speak ACP (Gemini CLI,\nQwen Code, opencode, goose, Hermes, Maki) can be switched to it per backend; of those, only Maki has\nbeen run live. Anthropic, OpenAI, OpenRouter and local\nOpenAI-compatible servers are available for questions and analysis (Settings → AI).\n\nEvery 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:\n\n```\ncraft-anything-cli commands                                   # every tool, by toolset\ncraft-anything-cli mcp                                        # serve them to any MCP client\ncraft-anything-cli rebuild https://example.com \"Recreate this website\"\n```\n\nResults are evidence records with their confidence, coverage and limitations; big ones come back\nas a summary first and are paged with `core_evidence_browse`. `craft-anything-cli setup`\nconnects Craft Anything to coding-agent apps.\n\nA pure-Rust reverse-engineering engine with 320 tools (300 in the engine, the rest from the AI and\nsetup layers) for native programs, .NET, Java, Android, Apple, Electron/JavaScript, websites,\nfirmware, packet captures, databases and game files. Its own decoders, disassembler and\ndecompiler work without any outside program; Deep mode uses them all, and Ghidra when it's\ninstalled. It powers the desktop app (egui), the CLI and the MCP server, and parts of it run in\nthe browser as WebAssembly. The full list is in [docs/tools.md](https://github.com/storytold/craft-anything/blob/main/docs/tools.md).\n\nRequires Rust **1.97 or newer** (a dependency needs it; `rustup update`). On Debian or Ubuntu,\nthe desktop app also needs:\n\n```\nsudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev\n```\n\nThen:\n\n```\ngit clone https://github.com/storytold/craft-anything && cd craft-anything\ncargo run --release -p craft-anything                # the desktop app\ncargo install --path apps/craft-anything-cli         # the CLI, as `craft-anything-cli`\ncraft-anything-cli doctor                            # checks the install, coding agents and engines\n```\n\nBuilding needs a coding agent signed in on your computer (see [AI](#ai)); `doctor` says what's\nmissing. Rebuild from the command line (questions are asked in the terminal):\n\n```\ncraft-anything-cli rebuild https://example.com \"Recreate this website\"\ncraft-anything-cli rebuild - \"A snake game in Rust\" --rounds 1\ncraft-anything-cli rebuild https://example.com \"Make the header blue\" --continue-in \"<project folder>\"\ncraft-anything-cli rebuild - \"Add a contact form\" --project-folder \"<your folder>\" --existing edit\n```\n\nNew projects go in `Documents/Craft Anything` (change it in Settings → General). Each project\nfolder holds `craft.json` (the request, target, status and history), `capture/` (what was\nrecorded from the target), `app/` (the generated project), `checks/` (each comparison against\nthe original), `investigation.cany/` (evidence) and `inbox/` (open questions).\n\nA project can also start in a folder you pick (Choose a folder… under Start, or `--project-folder`).\nIf it already has files, you say what they are: the app itself, which the builder edits in place,\nor material to start from, with the app built in `app/` beside them (Settings → General can\nremember the answer). Settings → General also lists projects from more folders; removing one\nonly takes it off the list.\n\nImportant\n\n**Status:** Craft Anything is in early alpha. What works today, what is partial and what's next:\n\n- **Works today:** the desktop app (Simple and Advanced), the CLI and the MCP server; the\nStudy → Build → Check → Refine workflow for websites, apps and games with Claude Code as the\nbuilder; website checks at three screen widths; game rebuilds in Unity, Unreal or Godot; Deep\nmode with Ghidra; generated pictures and 3D models (opt-in, your own fal.ai key); plugins (MCP\nservers, and WASM components in builds with the`wasm-plugins` option).\n- **Partly there:** building with API keys and other coding agents (built, not yet run live),\nbehaviour checks for apps and games, a few engine tools tested only against stand-ins.\n- **Released:** public releases with installers for Windows, macOS, Linux and FreeBSD are\npublished on the[Releases page](https://github.com/storytold/craft-anything/releases) ; they are\nstill alpha.\n- **Next:** the managed tier.\n\n[docs/STATUS.md](https://github.com/storytold/craft-anything/blob/main/docs/STATUS.md) has the detail and how each part was checked,\n[docs/tool-status.md](https://github.com/storytold/craft-anything/blob/main/docs/tool-status.md) the tool-by-tool checklist, and\n[docs/ROADMAP.md](https://github.com/storytold/craft-anything/blob/main/docs/ROADMAP.md) the plan, item by item. Please file issues, or tell us what\nbroke on [Discord](https://discord.gg/artcraft).\n\n**Responsible use.** Use Craft Anything on software you own or are allowed to examine. It never\nbypasses DRM, logins or anti-cheat. Rebuilds recreate layout, style and behaviour from evidence;\nthe agent is told not to copy logos, photos or text unless you confirm you own them or have\npermission.\n\n**Installing dependencies runs code.** When a builder installs a project's dependencies, the commands\nrun on your computer, and the packages can run code while they install. npm runs each package's\ninstall scripts by default, and Rust build scripts and Python source packages run their own setup\ncode. Craft Anything asks before a command of a kind it hasn't seen in this project (`npm`, `cargo`…).\nChoosing \"always allow\" for `npm` lets every later npm command run without asking, so only do that\nfor a project whose dependencies you trust. To install npm packages without their install scripts,\nrun `npm install --ignore-scripts`.\n\nOn 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. `<ver>` in the file names is the version number, and `SHA256SUMS.txt` lists a checksum for every file.\n\n| Build | Installer | Portable | \n|---|---|---|\n| x64 (64-bit Intel/AMD) | `craft-anything-<ver>-windows-x64.msi` | `craft-anything-<ver>-windows-x64-portable.zip` | \n| arm64 (Snapdragon and other ARM PCs) | `craft-anything-<ver>-windows-arm64.msi` | `craft-anything-<ver>-windows-arm64-portable.zip` | \n| x86 (32-bit) | `craft-anything-<ver>-windows-x86.msi` | `craft-anything-<ver>-windows-x86-portable.zip` | \n\nInstallers and executables are code-signed. The portable zip keeps its settings next to the app.\n\n| Build | File | Notes | \n|---|---|---|\n| App, universal (Apple silicon + Intel) | `craft-anything-<ver>-macos-universal.dmg` | Signed and notarized | \n| Command-line tool, universal | `craft-anything-cli-<ver>-macos-universal.zip` | Signed and notarized; see below if macOS blocks it | \n\nVersions 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.\n\nA 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:\n\n```\nver=0.2.0   # change this to the version you want\ncurl -fLO \"https://github.com/storytold/craft-anything/releases/download/v$ver/craft-anything-cli-$ver-macos-universal.zip\"\nditto -x -k \"craft-anything-cli-$ver-macos-universal.zip\" .\nmkdir -p ~/.local/bin\nmv \"craft-anything-cli-$ver-macos-universal/craft-anything-cli\" ~/.local/bin/\n~/.local/bin/craft-anything-cli --version\n```\n\nTo run it as just `craft-anything-cli`, add `~/.local/bin` to your `PATH`.\n\nIf you already have the blocked copy, press Done (not Move to Bin), then run\n`xattr -d com.apple.quarantine <path to craft-anything-cli>`, or allow it in System Settings →\nPrivacy & Security → Open Anyway.\n\nEach Mac release is signed with a Developer ID certificate and notarized by Apple. To check a download\nyourself, run these in Terminal (replace `<ver>` with the version and the paths with yours):\n\n```\n# The disk image: \"accepted\" and \"source=Notarized Developer ID\" mean it passed\nspctl --assess --type open --context context:primary-signature -v \"craft-anything-<ver>-macos-universal.dmg\"\n# The notarization ticket is attached: prints \"The validate action worked!\"\nxcrun stapler validate \"craft-anything-<ver>-macos-universal.dmg\"\n\n# The app, after you open the disk image: the signature must verify\ncodesign --verify --deep --strict --verbose=2 \"/Volumes/<disk image name>/Craft Anything.app\"\nspctl --assess --type execute --verbose \"/Volumes/<disk image name>/Craft Anything.app\"\n\n# The command-line tool: a bare program can't carry a ticket, so macOS checks it online\ncodesign --verify --strict --verbose=2 ~/.local/bin/craft-anything-cli\ncodesign -dv --verbose=4 ~/.local/bin/craft-anything-cli 2>&1 | grep Authority\n```\n\nThe `Authority` lines should name a \"Developer ID Application\" certificate. If a check fails, don't\nrun the file; report it with the output and the release tag.\n\n| Format | x86_64 | aarch64 (ARM64) | Notes | \n|---|---|---|---|\n| AppImage | `craft-anything-<ver>-linux-x86_64.AppImage` | `craft-anything-<ver>-linux-aarch64.AppImage` | Runs anywhere; updates itself with [AppImageUpdate](https://github.com/AppImageCommunity/AppImageUpdate) (`.zsync` files) | \n| Flatpak | `craft-anything-<ver>-linux-x86_64.flatpak` | `craft-anything-<ver>-linux-aarch64.flatpak` | Sandboxed; `flatpak install --user <file>` | \n| Debian/Ubuntu | `craft-anything-<ver>-linux-x86_64.deb` | `craft-anything-<ver>-linux-aarch64.deb` |  | \n| Fedora/RHEL/openSUSE | `craft-anything-<ver>-linux-x86_64.rpm` | `craft-anything-<ver>-linux-aarch64.rpm` |  | \n| Tarball | `craft-anything-<ver>-linux-x86_64.tar.gz` | `craft-anything-<ver>-linux-aarch64.tar.gz` | Unpack anywhere | \n\nRISC-V (riscv64): `craft-anything-<ver>-linux-riscv64.tar.gz`, a tarball only.\n\nThe AppImage carries the CLI too: run `<AppImage> --cli <command>` (for example\n`<AppImage> --cli mcp` for an MCP client), or make a link to the AppImage named\n`craft-anything-cli` and run that.\n\n| Build | File | \n|---|---|\n| x86_64 | `craft-anything-<ver>-freebsd-x86_64.tar.gz` | \n\n| Build | File | Notes | \n|---|---|---|\n| Browser viewer | `craft-anything-web-<ver>.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](https://github.com/storytold/craft-anything/blob/main/packaging/web/README.md) ) | \n\nOur 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.\n\n[**discord.gg/artcraft**](https://discord.gg/artcraft) ·\n  [getartcraft.com](https://getartcraft.com/) ·\n  [The Crafting Apps](https://getartcraft.com/apps) ·\n  [Craft Anything](https://github.com/storytold/craft-anything)\n\n|  | App | What it's for | Code | Learn more | \n|---|---|---|---|---|\n|  | **PhotoCraft** | Image editing: layers, masks, type and real PSD files | [GitHub](https://github.com/storytold/photocraft) | [Website](https://getartcraft.com/apps/photocraft) | \n|  | **VectorCraft** | Vector illustration | [GitHub](https://github.com/storytold/vectorcraft) | [Website](https://getartcraft.com/apps/vectorcraft) | \n|  | **FilmCraft** | Video editing, color and sound | [GitHub](https://github.com/storytold/filmcraft) | [Website](https://getartcraft.com/apps/filmcraft) | \n|  | **LightCraft** | Photo library and raw development | [GitHub](https://github.com/storytold/lightcraft) | [Website](https://getartcraft.com/apps/lightcraft) | \n|  | **PdfCraft** | Reading, organizing and protecting PDFs | [GitHub](https://github.com/storytold/pdfcraft) | [Website](https://getartcraft.com/apps/pdfcraft) | \n|  | **EffectCraft** | Motion graphics and visual effects | [GitHub](https://github.com/storytold/effectcraft) | [Website](https://getartcraft.com/apps/effectcraft) | \n|  | **DesignCraft** | Page layout and publishing | [GitHub](https://github.com/storytold/designcraft) | [Website](https://getartcraft.com/apps/designcraft) | \n|  | **FigCraft** | Interface design and prototyping | [GitHub](https://github.com/storytold/figcraft) | [Website](https://getartcraft.com/apps/figcraft) | \n|  | **WordCraft** | Word processing and documents | [GitHub](https://github.com/storytold/wordcraft) | [Website](https://getartcraft.com/apps/wordcraft) | \n|  | **SoundCraft** | Audio recording and editing | [GitHub](https://github.com/storytold/soundcraft) | [Website](https://getartcraft.com/apps/soundcraft) | \n|  | **DeckCraft** | Presentations and slide decks | [GitHub](https://github.com/storytold/deckcraft) | [Website](https://getartcraft.com/apps/deckcraft) | \n|  | **CADCraft** | Computer-aided design | [GitHub](https://github.com/storytold/cadcraft) | [Website](https://getartcraft.com/apps/cadcraft) | \n|  | **GridCraft** | Spreadsheets and data | [GitHub](https://github.com/storytold/gridcraft) | [Website](https://getartcraft.com/apps/gridcraft) | \n|  | **TextureCraft** | 3D texture painting | [GitHub](https://github.com/storytold/texturecraft) | [Website](https://getartcraft.com/apps/texturecraft) | \n|  | **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) | \n|  | **SolidCraft** | Parametric 3D CAD by Tangency Labs (community app) | [GitHub](https://github.com/tangency-labs/solidcraft) |  | \n\nCraft Anything is dual-licensed under [MIT](https://github.com/storytold/craft-anything/blob/main/LICENSE-MIT) or [Apache-2.0](https://github.com/storytold/craft-anything/blob/main/LICENSE-APACHE), at your option.\nCopyright (c) 2026 ArtCraft Team and the Craft Anything contributors. Required notices are in [NOTICE](https://github.com/storytold/craft-anything/blob/main/NOTICE).\n\nBundled fonts, icons, images and other assets keep their own open licenses; each one is listed\nwith its author, source and license in [ATTRIBUTION.md](https://github.com/storytold/craft-anything/blob/main/ATTRIBUTION.md).\n\nThe screenshots show sample projects made for them: example.com, a snake game and a small calculator program.\n\nThe ArtCraft name, wordmark and logos in [`docs/brand/`](https://github.com/storytold/craft-anything/blob/main/docs/brand) are trademarks of the\nArtCraft Team and are not covered by this license. They may be used only unmodified, and only as\npart of this repository and Craft Anything, under [`docs/brand/LICENSE-brand.txt`](https://github.com/storytold/craft-anything/blob/main/docs/brand/LICENSE-brand.txt).\nForks and modified versions must remove them.\n\n<sub>Made by the [ArtCraft](https://getartcraft.com/) team and community.</sub>", "url": "https://wpnews.pro/news/craft-anything-understand-how-any-software-works-and-craft-your-own", "canonical_source": "https://github.com/storytold/craft-anything", "published_at": "2026-11-05 10:07:06+00:00", "updated_at": "2026-11-05 10:20:43.885371+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "agent-protocols", "artificial-intelligence"], "entities": ["ArtCraft", "Craft Anything", "Rust", "Ghidra", "MCP", "Discord"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/craft-anything-understand-how-any-software-works-and-craft-your-own", "markdown": "https://wpnews.pro/news/craft-anything-understand-how-any-software-works-and-craft-your-own.md", "text": "https://wpnews.pro/news/craft-anything-understand-how-any-software-works-and-craft-your-own.txt", "jsonld": "https://wpnews.pro/news/craft-anything-understand-how-any-software-works-and-craft-your-own.jsonld"}}