A suite manager for the ArtCraft Crafting Apps, in pure Rust.
Rust
25
16 commits
updated Oct 12, 2026
One app to install, update and launch every Crafting App.
A suite manager for the ArtCraft Crafting Apps, in pure Rust.
[!NOTE] Pre-alpha. Milestones M0 to M4 and M8 are done: the toolbox lives in the menu bar or tray, checks GitHub for every app's releases in the background, and installs, updates (on request or automatically), rolls back, opens and uninstalls any craft, checking each version's checksum and platform signature first. It opens as a popover from the menu bar or tray, in 15 languages and a dark or light theme. It isn't packaged for download yet (M5); see the roadmap.
Installed apps first, then everything you can install. Click the menu-bar icon to open it. |
Each app's page: its signature, its own update settings and every version, with release notes. |
Light or dark, or the same as the system. |
In 15 languages, switched without a restart. |
Every screenshot is the real app, rendered offscreen by its snapshot example from a real data folder (PhotoCraft installed by the toolbox); see docs/development.md.
| App | What it's for | Code |
|---|---|---|
| PhotoCraft | Image editing: layers, masks, type and real PSD files | storytold/photocraft |
| VectorCraft | Vector illustration | storytold/vectorcraft |
| FilmCraft | Video editing, color and sound | storytold/filmcraft |
| LightCraft | Photo library and raw development | storytold/lightcraft |
| PdfCraft | Reading, organizing and protecting PDFs | storytold/pdfcraft |
| EffectCraft | Motion graphics and visual effects | storytold/effectcraft |
| DesignCraft | Page layout and publishing | storytold/designcraft |
| CADCraft | Computer-aided design and drafting | storytold/cadcraft |
| DeckCraft | Presentations and slide shows | storytold/deckcraft |
| GridCraft | Spreadsheets | storytold/gridcraft |
| SoundCraft | Audio recording, editing and mixing | storytold/soundcraft |
| WordCraft | Word processing | storytold/wordcraft |
The list is data (crates/catalog/catalog.toml): adding a craft
that follows the release contract needs no code.
Every Crafting App publishes its releases the same way: GitHub Releases tagged v<version>,
assets named <app>-<version>-<os>-<arch>.<ext>, and a SHA256SUMS.txt. The toolbox reads those
feeds, picks the right per-user package for your machine (DMG on macOS, the portable zip on
Windows, the AppImage on Linux), verifies it, installs it side by side with the previous version
so you can roll back, and keeps it up to date. cargo xtask contract checks every craft's latest
release against that contract; on 2026-10-09 all twelve pass.
cargo run --release -p artcraft-toolbox # the desktop app
cargo run -p artcraft-toolbox-cli -- list # the catalog, headless
cargo run -p artcraft-toolbox-cli -- check # check GitHub for new releases
cargo run -p artcraft-toolbox-cli -- install photocraft # download, verify, install
cargo run -p artcraft-toolbox-cli -- update --all # update everything, keeping the old versions
cargo run -p artcraft-toolbox-cli -- status \
--feed photocraft=crates/feed/tests/fixtures/photocraft-releases.json
cargo xtask ci # fmt, clippy, tests, layering
Rust 1.95+. On Linux: libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev.
Built exactly like PhotoCraft: a Cargo workspace of
layered crates (enforced by cargo xtask layers), native egui/eframe on wgpu, no webview, no
JavaScript, and an engine where every action is a command, so the UI, the CLI and agents all
drive the same code. Non-test code never panics.
| Read | |
|---|---|
| AGENTS.md | Rules for contributors and AI agents: start here |
| docs/architecture.md | Crates, layers, data flow, install layout |
| docs/release-contract.md | What the toolbox relies on from every craft |
| docs/development.md | Build, test, CLI, UI snapshots |
| docs/roadmap.md | Milestones and current focus |
| SECURITY.md | Threat model and reporting |
MIT OR Apache-2.0, at your option (LICENSE-MIT, LICENSE-APACHE, NOTICE). ArtCraft and the Crafting App names are trademarks of the ArtCraft Team, used here to name the apps the toolbox installs; no ArtCraft logo is bundled.
A suite manager for the ArtCraft Crafting Apps, in pure Rust.
Rust
25
16 commits
updated Oct 12, 2026
One app to install, update and launch every Crafting App.
A suite manager for the ArtCraft Crafting Apps, in pure Rust.
[!NOTE] Pre-alpha. Milestones M0 to M4 and M8 are done: the toolbox lives in the menu bar or tray, checks GitHub for every app's releases in the background, and installs, updates (on request or automatically), rolls back, opens and uninstalls any craft, checking each version's checksum and platform signature first. It opens as a popover from the menu bar or tray, in 15 languages and a dark or light theme. It isn't packaged for download yet (M5); see the roadmap.
Installed apps first, then everything you can install. Click the menu-bar icon to open it. |
Each app's page: its signature, its own update settings and every version, with release notes. |
Light or dark, or the same as the system. |
In 15 languages, switched without a restart. |
Every screenshot is the real app, rendered offscreen by its snapshot example from a real data folder (PhotoCraft installed by the toolbox); see docs/development.md.
| App | What it's for | Code |
|---|---|---|
| PhotoCraft | Image editing: layers, masks, type and real PSD files | storytold/photocraft |
| VectorCraft | Vector illustration | storytold/vectorcraft |
| FilmCraft | Video editing, color and sound | storytold/filmcraft |
| LightCraft | Photo library and raw development | storytold/lightcraft |
| PdfCraft | Reading, organizing and protecting PDFs | storytold/pdfcraft |
| EffectCraft | Motion graphics and visual effects | storytold/effectcraft |
| DesignCraft | Page layout and publishing | storytold/designcraft |
| CADCraft | Computer-aided design and drafting | storytold/cadcraft |
| DeckCraft | Presentations and slide shows | storytold/deckcraft |
| GridCraft | Spreadsheets | storytold/gridcraft |
| SoundCraft | Audio recording, editing and mixing | storytold/soundcraft |
| WordCraft | Word processing | storytold/wordcraft |
The list is data (crates/catalog/catalog.toml): adding a craft
that follows the release contract needs no code.
Every Crafting App publishes its releases the same way: GitHub Releases tagged v<version>,
assets named <app>-<version>-<os>-<arch>.<ext>, and a SHA256SUMS.txt. The toolbox reads those
feeds, picks the right per-user package for your machine (DMG on macOS, the portable zip on
Windows, the AppImage on Linux), verifies it, installs it side by side with the previous version
so you can roll back, and keeps it up to date. cargo xtask contract checks every craft's latest
release against that contract; on 2026-10-09 all twelve pass.
cargo run --release -p artcraft-toolbox # the desktop app
cargo run -p artcraft-toolbox-cli -- list # the catalog, headless
cargo run -p artcraft-toolbox-cli -- check # check GitHub for new releases
cargo run -p artcraft-toolbox-cli -- install photocraft # download, verify, install
cargo run -p artcraft-toolbox-cli -- update --all # update everything, keeping the old versions
cargo run -p artcraft-toolbox-cli -- status \
--feed photocraft=crates/feed/tests/fixtures/photocraft-releases.json
cargo xtask ci # fmt, clippy, tests, layering
Rust 1.95+. On Linux: libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev.
Built exactly like PhotoCraft: a Cargo workspace of
layered crates (enforced by cargo xtask layers), native egui/eframe on wgpu, no webview, no
JavaScript, and an engine where every action is a command, so the UI, the CLI and agents all
drive the same code. Non-test code never panics.
| Read | |
|---|---|
| AGENTS.md | Rules for contributors and AI agents: start here |
| docs/architecture.md | Crates, layers, data flow, install layout |
| docs/release-contract.md | What the toolbox relies on from every craft |
| docs/development.md | Build, test, CLI, UI snapshots |
| docs/roadmap.md | Milestones and current focus |
| SECURITY.md | Threat model and reporting |
MIT OR Apache-2.0, at your option (LICENSE-MIT, LICENSE-APACHE, NOTICE). ArtCraft and the Crafting App names are trademarks of the ArtCraft Team, used here to name the apps the toolbox installs; no ArtCraft logo is bundled.