Craft Anything software rebuild workflow

Document type
Field manual
Updated
Reading time
10 min

Install Craft Anything, connect Claude Code and MCP, rebuild websites and games, and assess Clean room, permissions, comparison scores and alpha limits.

Source
Document details
storytold/craft-anything
License
MIT OR Apache-2.0

Build a new project from traceable observations, then use comparisons to guide revisions. Confirm the analysis mode and builder agent's permissions first.

Workflow stages
4Study, Build, Check, Ready
Declared Rust requirement
1.97+From Cargo.toml at this revision
Default comparison widths
31440, 768, 390 CSS px

01Inputs, outputs, and scope

System purpose

Craft Anything is a Rust tool for analyzing and rebuilding software. Users provide a target and request; the analysis engine collects evidence, a coding agent creates a new project, and check results guide revisions. It is currently in early alpha.

ItemContents
TargetWebsite URL, application or game path; an original target is optional
Interfacesegui desktop workbench, CLI, MCP server
Analysis outputsEvidence records, coverage, limitations, and unanswered questions
Build outputsNew project, comparison reports, and follow-up request records
ScopeSoftware you own or may analyze, interface reconstruction, and experimental prototypes
Rebuild and check workflow
  1. Study

    • Target and request
    • Clean room or Deep
    • Evidence and unknowns
  2. Build

    • Local coding agent
    • Specified stack
    • New project files
  3. Check → Ready

    • Build and visual comparison
    • Difference feedback and revisions
    • Preview and manual acceptance

Ready may still include failed comparison items. Inspect every result and unknown from the final round before delivery.

Standalone analysis can run without AI. Building new software requires a coding agent. The browser WebAssembly version primarily provides file inspection; it does not establish that the full desktop rebuild workflow is available there.

02Source build and prerequisites

Installation and diagnostics

  • Not completed:

    The source declares Rust 1.97 or later.

  • Not completed:

    Git is installed, with build tools for the selected stack.

  • Not completed:

    An executable, signed-in coding agent is ready for builds.

  • Not completed:

    The browser required for website capture is ready; read the relevant doctor diagnostics first.

Install from source with the project's documented commands. This report inspected documentation and code only; it did not compile or run Craft Anything or perform an AI rebuild.

bash
git clone https://github.com/storytold/craft-anything
cd craft-anything
cargo install --path apps/craft-anything-cli
craft-anything-cli doctor

Start the desktop interface:

bash
cargo run --release -p craft-anything

The Debian/Ubuntu desktop version also needs the system packages listed by the project:

bash
sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev

For prebuilt packages, inspect the actual assets and checksum information in GitHub Releases. A source version field does not prove that an installer for that version has been published.

03Data scope in Clean room and Deep

Analysis modes

ModeAvailable data and behaviorBoundary to verify
Clean roomDefault mode; uses visitor-visible screens, text, and measurements, plus screenshots and descriptions supplied by the userAn engine tool allowlist restricts access to the original target's internals; external agent read rules still vary by adapter
DeepEnables internal file and code analysis, reads website JavaScript, and uses Ghidra when availableEnable only for targets you may analyze; check file, asset, and service terms separately

Use --clean-room or --deep to select the mode for one CLI invocation; they cannot be combined. These command-line overrides do not change the saved mode setting.

Clean room's data access policy does not provide operating-system isolation. Its allowlist includes some tools that can change the environment, such as phone application installation. Check tool permissions and agent behavior before execution.

Deep mode can use the built-in analysis engines without Ghidra. Ghidra is an additional analysis route; enabling Deep does not guarantee full recovery of every file format or function.

04Shared engine for desktop, CLI, and MCP

Core capabilities

Tool discovery

craft-anything-cli commands

List currently available tools

Inspect commands by toolset. Published tool totals differ; use the installed version's list to determine its actual interface.

Environment diagnostics

craft-anything-cli doctor

Check dependencies and agents

Check tool availability. Verify backend configuration and builder sign-in separately; an exit code alone does not establish readiness.

Full rebuild

craft-anything-cli rebuild

Run observation and revision

Accept a target and request, create a project, and run checks. --rounds counts refinements after the first build.

Agent integration

craft-anything-cli mcp

Provide MCP tools

Let an MCP client use the shared engine. Starting the server and writing agent configuration are separate operations.

Setup

craft-anything-cli setup

Connect coding-agent applications

Select a client explicitly for the first registration. Review the configuration changes listed by dry-run before applying them.

Evidence retrieval

core_evidence_browse

Browse evidence by page

After a tool summarizes a large result, narrow the fields or browse pages while retaining sources and coverage.

Desktop interfaceOperation
SimpleDefault interface with project stages and approval cards
AdvancedFunction, disassembly, and evidence panels

Available tools depend on the analysis mode and dependencies.

05Sign-in, approvals, and external services

Agent and permission settings

RouteKnown status at this revisionOperating rule
Claude CodeRuns the user's local claude; the project records live builder runsConfirm sign-in and review project approvals and Auto mode settings
CodexAdapter exists; the project marks it unverified on a real installation, with no session resumptionVerify with a disposable project; adapter presence does not establish complete support
ACP agentMultiple adapters can be configured; the project records live ACP runs only for MakiCheck each adapter's read, write, and command approval limits
API backendProvides analysis and its own build loop; the project records no live API rebuildCheck the provider, transmitted data, usage, and error logs
Generated assetsRequires user opt-in and a fal.ai key, with a project budgetKeep disabled unless asset generation is planned; coding-model costs are separate

The Claude Code builder handles approvals through MCP tools and first checks sign-in and whether the CLI starts. Project sessions and conversations may contain target content. Inspect them before sharing the project folder.

For the first Claude Code client connection, preview the configuration before deciding whether to apply it:

bash
craft-anything-cli setup --client claude_code --dry-run

After reviewing the preview, apply it and check the client registration:

bash
craft-anything-cli setup --client claude_code --yes
craft-anything-cli doctor --client claude_code

Restart the client as directed by setup. This changes integration settings; this report did not perform that operation.

This process registers a client and does not replace builder sign-in. Running setup alone mainly refreshes existing registrations; select the client explicitly on first installation.

Auto mode is enabled by default and allows most builder actions to continue automatically. Specific sensitive operations do not run automatically and may be refused outright in Auto mode. The CLI's --unattended chooses the first answer and refuses approvals; it does not grant every permission.

06Refinement rounds, evidence, and existing projects

Operating principles

Specify the stack

Name the language, framework, or game engine in the request. New projects that support --build-with can also select it explicitly. Continuing projects keep their existing stack.

Control comparison scope

Default website widths are 1440, 768, 390 CSS px, with up to 4 additional pages studied. Dynamic sections and nested menus still need manual acceptance checks.

Retain evidence and unknowns

Read checks/ and items that were not compared. Visual scores cannot prove that data writes, payments, or sign-in work correctly.

Distinguish edits from source material

--existing edit treats existing files as the app and edits them directly; start-from treats them as starting material and builds separately in app/. Back up first and confirm the path.

The desktop defaults to at most 6 refinement rounds; the CLI's --rounds defaults to 2. Both exclude the first build. Additional rounds increase agent usage and may still stop with failing checks.

07Request, execution, and observable outputs

Website rebuild example

This example follows the source interface. This report did not run it. Use example.com to practice visual reconstruction, explicitly naming the new project's stack and requiring original content.

bash
craft-anything-cli --clean-room rebuild https://example.com "Recreate the visible layout as a static HTML and CSS page. Use original text and no copied brand assets." --rounds 1

Open the project at the terminal's Project: path and inspect these records:

PathWhat to inspect
craft.jsonRequest, target, status, and history
capture/Visible captures of the original target and the pages covered
app/New project and its run instructions
checks/Comparison reports and visual differences for each round
investigation.cany/Analysis evidence and unknowns
inbox/Pending questions or approvals

Use the actual project path for follow-up requests. --continue-in points to the project root, not its app/ directory:

bash
craft-anything-cli --clean-room rebuild https://example.com "Make the header blue and keep the phone layout readable." --continue-in "/absolute/path/to/project" --rounds 1

Add --resume to continue interrupted work; the request argument is then ignored. Ordinary follow-up edits do not need --resume.

08Built-in scores and recorded project runs

Verification results and maturity

CheckWhat it can establishAdditional verification
Website visualsDefault multi-width comparisons and layout/SSIM detail differences; the default likeness threshold is 90%Real backends, business rules, and uncaptured pages and interactions
ApplicationsBuilds, plus visual and runtime comparisons when data is availableUndriven workflows and behavior over long runs
GamesBuilds, mechanics data, and the game's own --self-test outputThe engine does not yet independently observe gameplay or measure every gameplay value
Recorded project testsLive Claude Code and individual tool runs are documentedComplete combinations of adapters, modes, and platforms

The project's STATUS.md records a single website case reaching 96% likeness. This author-reported case does not establish a general success rate. The documentation also states that no live Clean room build has been recorded, and some tools have only synthetic or stand-in tests.

Refinement decisions check whether each result meets the requirements. After refinement rounds are exhausted, completion uses the last check record's passed value. Ready or a successful CLI exit can therefore coexist with a website score below the threshold or failed items; this is a static source finding, not a result reproduced in this report.

For acceptance, read every result from the final round and operate the output yourself:

  • similarity: whether it meets the current threshold.

  • unknowns: whether any content could not be compared.

  • claims: whether any requirements failed.

If required conditions fail, add a specific correction request or stop delivery.

Tool totals in the README and status page do not fully agree with the tool catalog. This report does not use totals as a completeness or maturity measure. Evaluate the actual commands output and each tool's status.

09Permissions, data, and delivery limits

Limits and precautions

LimitAction
Agent approvals differClaude Code, ACP, and direct CLI adapters use different rules; the project lists read/write boundary gaps for Hermes and Maki. Check the selected adapter first
Local tools start processesGenerated projects may install dependencies or run builds; check permissions and the project location first
Local workbench connects to external AIThe selected model or coding agent may process content; confirm the data transmission scope for sensitive targets
API key storage has a fallbackThe system keychain is preferred; failure can fall back to a plaintext ai-keys.toml file accessible only to its owner. Inspect settings before sharing or backing them up
Visual scores are limitedHigh likeness does not replace functional, accessibility, and security acceptance checks
Game self-tests are limitedThe generated game reports its own checks; manually inspect controls and gameplay values
Code and asset licenses differCode is MIT OR Apache-2.0; check ATTRIBUTION for assets and separate ArtCraft brand terms

10Minimum verification and official references

Next actions

  • Run doctor first, then use a single-page website to verify the current platform and builder.

  • Adjust comparison scope from manual acceptance results before moving to applications or games.

  • Before connecting MCP, review commands and the tool catalog to confirm the mode and required permissions.

  • On failure, retain the stop reason, project check records, and unresolved items before reporting to the project.

The source is pinned to 8638d6b72be3e99dcc73b06f92a8c113932c75f7. Official references:

References