This guide explains how to build KiraPilot for different platforms.
- Node.js (LTS version)
- Rust (stable toolchain)
- Platform-specific dependencies (see below)
# Install dependencies
npm ci
# Build the app for your current platform
npm run tauri build- Install Visual Studio Build Tools with C++ support
- WebView2 Runtime (usually pre-installed on Windows 10/11)
- The build will create NSIS installer (.exe)
- Xcode Command Line Tools:
xcode-select --install - The build will create .app bundle and .dmg installer
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf build-essential curl wget file libssl-dev-
macOS DMG fails in CI:
- Set
CI=trueenvironment variable - Use ad-hoc signing:
export APPLE_SIGNING_IDENTITY="-"
- Set
-
Windows WiX bundler errors:
- The config now uses NSIS instead of WiX for better compatibility
- Ensure WebView2 Runtime is installed
-
Build cache issues:
- Clean build:
rm -rf src-tauri/target dist node_modules/.cache - Reinstall:
npm ci
- Clean build:
For automated troubleshooting:
Linux/macOS:
chmod +x scripts/build-fix.sh
./scripts/build-fix.shWindows (PowerShell as Administrator):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
.\scripts\build-fix.ps1The app automatically builds and releases when you push to the release branch:
-
Update version using one of these commands:
npm run version:patch(for bug fixes: 0.0.10 → 0.0.11)npm run version:minor(for new features: 0.0.10 → 0.1.0)npm run version:major(for breaking changes: 0.0.10 → 1.0.0)
This automatically syncs versions across package.json, Cargo.toml, and tauri.conf.json
-
Commit changes to
releasebranch -
GitHub Actions will build for all platforms and create a draft release
Note: The version is now automatically synced across all configuration files and dynamically referenced in the UI.
For development builds:
npm run tauri devThis starts the development server with hot-reload enabled.