Architecture of storytold/craft-anything
storytold/craft-anything is 471 source files holding 17,632 symbols across 6 modules, written mainly in Rust, Shell, Java. The largest module is crates, with 358 files, and 21 files are entry points into the dependency graph.
How craft-anything fits together
Input enters through the command line in apps/craft-anything-cli/src/main.rs or the desktop app in apps/craft-anything/src/main.rs, where you give a target and describe what you want. The study step uses inspection tools from the crates directory, including crates/engine/src/tools/website_tools.rs, which holds the website tools. The crates/ai/src/lib.rs file drives the coding agent, and crates/ai/src/rebuild/kinds/app.rs contains the rebuild logic for app targets. The output is a new project folder that is compared with the original, with a list of what still does not match.
Largest modules
- crates: 358 files and 154,698 lines of code
- apps: 17 files and 2,590 lines of code
- packaging: 13 files and 919 lines of code
- xtask: 5 files and 1,018 lines of code
- examples: 2 files and 93 lines of code
- assets: 1 file and 47 lines of code
Languages
By file count: Rust 379 files, Shell 12 files, Java 2 files, Python 2 files, Swift 1 file.
Documentation
Repowise documents craft-anything in 597 pages generated from the source, 35 of them written explanations of the repository and its modules. Module guides include:
- crates/ai: AI
More on craft-anything: summary and FAQ, codebase overview, code health.