Building from Source
Prerequisites
- Rust 1.85+ with
stabletoolchain - Bun 1.3+ (for GUI frontend)
- Git
Build All Crates
bash
git clone https://github.com/xirf/futou.git
cd futou
cargo build --releaseOutput binaries in target/release/:
futou-daemon.exefutou-cli.exe
Build the GUI
bash
cd futou-gui
bun install
bun run tauri buildThe Tauri build command first compiles the daemon (cargo build -p futou-daemon), then bundles it alongside the GUI. The output is an NSIS installer in futo-gui/src-tauri/target/release/bundle/.
Development
Daemon + CLI only
bash
cargo run --bin futou-daemon # Terminal 1
cargo run --bin futou-cli -- catalogue # Terminal 2GUI with hot reload
bash
cargo run --bin futou-daemon # Terminal 1
cd futou-gui && bun run tauri dev # Terminal 2File Lock
Windows locks running .exe files. If cargo build fails with "Access is denied", kill the daemon first:
powershell
taskkill /f /im futou-daemon.exe
cargo buildRunning Tests
bash
cargo test -p futou-core # Domain logic tests (28 tests)
cargo test --workspace # All crates