# Desktop Module — provisioning-desktop (Tauri 2) build, dev, and bundle recipes _desktop_crate := "provisioning-desktop" _desktop_dir := justfile_directory() / "platform/crates/provisioning-desktop" # Build the desktop app in release mode @desktop-build: echo "Building provisioning-desktop (release)…" cargo build -p {{_desktop_crate}} --release echo "Done: target/release/provisioning-desktop" # Build in debug mode (faster, includes devtools) @desktop-dev: echo "Building provisioning-desktop (debug)…" cargo build -p {{_desktop_crate}} # Run clippy on the desktop crate only @desktop-lint: cargo clippy -p {{_desktop_crate}} -- -D warnings # Run tests for the desktop crate @desktop-test: cargo test -p {{_desktop_crate}} # Bundle the macOS .app (requires tauri-cli) @desktop-bundle-macos: echo "Bundling macOS .app…" cd {{_desktop_dir}} && cargo tauri build --target aarch64-apple-darwin # Bundle the macOS .app for Intel @desktop-bundle-macos-intel: echo "Bundling macOS .app (x86_64)…" cd {{_desktop_dir}} && cargo tauri build --target x86_64-apple-darwin # Bundle Linux deb + AppImage @desktop-bundle-linux: echo "Bundling Linux packages…" cd {{_desktop_dir}} && cargo tauri build --target x86_64-unknown-linux-gnu # Run the desktop app in development mode (connects to a running daemon) @desktop-run: cargo run -p {{_desktop_crate}} # Run with verbose tracing @desktop-run-trace: RUST_LOG=provisioning_desktop=debug,info cargo run -p {{_desktop_crate}} # Initialize Tauri iOS target (first-time setup only) @desktop-ios-init: cd {{_desktop_dir}} && cargo tauri ios init # Build iOS (requires Xcode + iOS SDK) @desktop-ios-build: cd {{_desktop_dir}} && cargo tauri ios build