Source builds, local quality gates, installer output, website build, and CI expectations.
- Local source prerequisites
- Desktop and website build commands
- Installer output paths
- Quality and security checks
Build, packaging, and release workflow
Source build prerequisites
For local development you need:
- Node.js 20+
- Rust toolchain
- Tauri platform prerequisites for your OS
Typical examples:
- Windows: WebView2 runtime and Visual Studio build tools
- macOS: Xcode command line tools
- Linux: WebKitGTK and tray-related dependencies required by Tauri
Desktop app commands
Install dependencies:
npm install
Run frontend preview only:
npm run dev
Run the actual desktop app:
npm run tauri:dev
Build release installers:
npm run tauri:build
Windows helper:
npm run tauri:build:win
Website commands
The marketing and docs site is a separate Next.js app in its own repository.
Use:
npm run dev
npm run lint
npm run build
Current website deployment path: Cloudflare Pages builds from the repo root and publishes the static out output.
Installer output
Desktop artifacts are written under:
src-tauri/target/release/bundle/
Typical outputs:
- Windows: NSIS
.exe,.msi - macOS:
.dmg - Linux:
.deb,.AppImage
Quality gates
Frontend checks:
npm run lint
npm run test:web
npm run build
Rust tests:
cargo test --manifest-path src-tauri/Cargo.toml
Full local gate:
npm run check:all
Release discipline
Before cutting a build for testers or buyers:
- Run the local quality gates.
- Run the smoke test checklist.
- Build the installer for the target OS.
- Install the built artifact, not just the dev runtime.
- Verify profile creation, bucket listing, upload, download, and signed URL generation from the installed build.
License signing for production builds
Production license verification expects an Ed25519 public key at build time.
$env:R2_DESK_LICENSE_PUBLIC_KEY="..."
npm run tauri:build
Do not treat debug-mode license shortcuts as release behavior.
CI expectation
Minimum CI gate:
- frontend linting
- frontend tests
- desktop packaging
- Rust tests
- dependency audits where configured
If CI passes but the installed artifact is broken, the release process is incomplete.