Reading the repo
Opening the box…
Reading the repo
Opening the box…
How to install on Windows
Open-source, local-first Figma alternative in pure Rust. Runs as a high-performance native desktop app (Win/Mac/Linux) & directly in the web browser via WebAssembly. 100% offline, zero cloud lock-in, with Auto Layout, Vectors, and native MCP support for AI agents.
Saved setup from 9 h ago
Will it work on Windows?
The maintainers included Launch_Studio.bat. Run it from the cloned folder after reading it.
.\Launch_Studio.bat
CONTRIBUTING.mdThank you for your interest in contributing to FigCraft Studio! FigCraft is a clean-room, pure Rust and open web interface design suite built for privacy, performance, 100% offline capability, and zero subscription models.
FigCraft is structured as a Cargo workspace with strict crate layering to ensure clean separation of concerns:
| Crate / Path | Responsibility | Technologies / Rules |
|---|---|---|
| crates/geom | 2D Geometry primitives, affine transforms, Bézier curves | Pure math, kurbo based |
| crates/color | Color spaces (sRGB, Display P3), ICC color profiles, blend modes | Pure data, zero UI dependencies |
| crates/layout | Directional auto-layout solver, wrap, grid, constraints | Flexbox-inspired constraint solver |
| crates/doc | Persistent immutable scene graph & document state | Arc, structural sharing, serde |
| crates/engine | 400+ commands registry, undo/redo transaction stack | Command pattern, history snapshots |
| crates/render | Canvas rasterization, blend modes, shadows, blurs | tiny-skia renderer |
| crates/format | Native .figcraft zip format reader & writer | zip, flate2, strict schema validation |
| crates/ui-egui | Native desktop UI panels (Toolbar, Layers, Inspector, Dev) | egui 0.28 / 0.37, pure immediate mode |
| crates/mcp | Model Context Protocol server for AI coding agents | JSON-RPC 2.0 stdio |
| crates/collab-net| Multiplayer state, live cursors, CRDT delta synchronization | P2P mesh & WebSocket transport |
| apps/figcraft | Native desktop executable | eframe + tiny-skia + AccessKit |
| apps/figcraft-web| Pure client-side browser studio | HTML5 Canvas, WebAssembly, zero-server |
| apps/figcraft-cli| Headless CLI exporter and MCP daemon | Stdio, batch render, CI automation |
| apps/figcraft-server| Lightweight collaboration relay server | WebSocket synchronization |
rustup update stable).link.exe).
winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
sudo apt install build-essential libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libasound2-dev
# Run native desktop studio
cargo run -p figcraft
# Run CLI verification
cargo run -p figcraft-cli -- --help
# Run MCP server for AI agents
cargo run -p figcraft-cli -- --mcp
# Launch Web Studio locally
# Open http://localhost:3030 in any modern browser
python -m http.server 3030
# Or double click Launch_Studio.bat on Windows
Before opening a pull request, verify that all crates compile cleanly and pass lints:
# 1. Check all workspace crates
cargo check --workspace --all-targets
# 2. Run unit & integration test suite
cargo test --workspace
# 3. Verify format adherence
cargo fmt --all -- --check
# 4. Strict clippy lints
cargo clippy --workspace --all-targets -- -D warnings
Result<T, DocError> or Option<T> rather than panic-inducing .unwrap() or .expect().format crate and the web FormatReader (js/engine/format-reader.js) maintain 1:1 schema parity.main:
git checkout -b feat/my-new-feature
git commit -m "feat(layout): implement wrap auto-layout constraint solver"
Thank you for helping make FigCraft the ultimate open-source design tool!
Then run powershell -ExecutionPolicy Bypass -File .\setup.ps1. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: winget install Git.Git
git clone https://github.com/jastfan/FigCraftStudio.git cd FigCraftStudio
Node.js LTS (no version pinned), Rust stable, Python 3
winget install CoreyButler.NVMforWindows nvm install lts nvm use lts winget install Rustlang.Rustup winget install Python.Python.3.12
npm install cargo build
npm run start
cargo test
Double-click Launch_Studio.bat in the project root to open the interactive launcher:
========================================================================
FIGCRAFT STUDIO ⚡ (Clean-Room Pure Rust Interface Design Suite)
========================================================================
Select Launch Mode:
[1] 🦀 Launch Native Desktop Studio (apps/figcraft — Pure Rust + egui)
[2] 🌐 Launch FigCraft Web Studio (apps/figcraft-web — WebAssembly/HTML5)
[3] 🤖 Launch FigCraft MCP AI Agent Server (apps/figcraft-cli --mcp)
[4] ⚡ Launch Multiplayer Collaboration Server (apps/figcraft-server)
[5] 🛠️ Toolchain Diagnostics & Visual C++ Build Tools Setup
[0] Exit
Run a lightweight local HTTP server (zero build step needed):
# Start local server on port 3030
python -m http.server 3030
Open http://localhost:3030 in Chrome, Edge, or Firefox.
Compile and launch the high-performance desktop executable:
cargo run --release -p figcraft
Windows Toolchain Note: Rust on Windows uses the MSVC linker (
link.exe). If Microsoft C++ Build Tools are not installed on your system, install them in Administrator PowerShell via:winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
# Display CLI help
cargo run -p figcraft-cli -- --help
# Start Model Context Protocol server over stdio for AI coding assistants:
cargo run -p figcraft-cli -- --mcp
# Export design artboards to high-resolution PNG
cargo run -p figcraft-cli -- export-png official-samples/ridgeline-app.figcraft ./dist 2.0
# Export clean SVG vectors
cargo run -p figcraft-cli -- export-svg official-samples/ridgeline-app.figcraft ./dist
No reports for Windows yet.
GitManual AI Agent reads the 5 key files and writes a step-by-step guide for Windows. Once written, it's saved for everyone.