Development Builds
Frontend Only (Vite)
Run the frontend in development mode with hot-reload:- Vite dev server on
http://localhost:1420 - Hot module replacement (HMR)
- Fast refresh for React components
Full Tauri App
Run the complete app (frontend + backend) in development mode:- Vite dev server on port 1420
- Rust backend with debug logging
- Native app window
- Hot-reload for frontend changes
- Auto-restart on Rust changes
Production Builds
Frontend Build
Build the frontend for production:- TypeScript compiler (
tsc) - Vite production build
- Outputs to
dist/
dist/index.html- Main windowdist/pill.html- Recording pill windowdist/toast.html- Toast notificationsdist/assets/- Bundled JS/CSS
Full Native Build
Build the complete native application:- Builds frontend (TypeScript + Vite)
- Compiles Rust backend
- Builds platform-specific sidecars
- Creates native bundle
- Signs and notarizes (macOS)
src-tauri/target/release/bundle/macos/VoiceTypr.appsrc-tauri/target/release/bundle/dmg/VoiceTypr_*.dmg
src-tauri/target/release/bundle/msi/VoiceTypr_*.msisrc-tauri/target/release/VoiceTypr.exe
Platform-Specific Builds
macOS Builds
- Requires Xcode Command Line Tools
- Swift sidecar auto-builds via
build.rs - Code signing requires Apple Developer ID
- Notarization requires app-specific password
Windows Builds
- x64 builds include Vulkan GPU acceleration
- ARM64 builds use CPU-only Whisper
- Code signing requires Windows certificate
Sidecar Builds
Parakeet Swift Sidecar (macOS)
The Parakeet sidecar builds automatically duringtauri build, but you can build it manually:
sidecar/parakeet-swift/dist/parakeet-sidecar-aarch64-apple-darwin
build.rstriggers oncargo build- Runs
sidecar/parakeet-swift/build.sh - Compiles Swift with
swift build -c release --arch arm64 - Copies binary to
dist/with platform suffix - Tauri bundles it into the app
FFmpeg Sidecar
Ensure FFmpeg binaries are available:sidecar/ffmpeg/dist/.
Required for:
- Audio format conversion
- Cross-platform audio processing
Build Configurations
Development Config
src-tauri/tauri.dev.conf.json:
Production Config
src-tauri/tauri.conf.json:
CI/CD Builds
Automated build scripts for continuous integration:scripts/):
ci-local-macos.sh- macOS quality checks + buildci-local-windows.ps1- Windows quality checks + build
Build Optimization
Release Optimizations
Rust release builds use aggressive optimizations:Bundle Size
macOS app size: ~120MB- Rust binary: ~25MB
- Frontend assets: ~5MB
- Parakeet sidecar: ~1.2MB
- FFmpeg sidecar: ~90MB
- Executable: ~30MB
- Frontend assets: ~5MB
- FFmpeg sidecar: ~65MB
Reducing Build Time
-
Use
cargo buildcache: -
Frontend-only mode for UI work:
-
Parallel builds with
-jflag:
Troubleshooting
Build Fails with FFmpeg Error
Ensure FFmpeg sidecars exist:Swift Sidecar Build Fails (macOS)
Verify Swift installation:Vulkan Link Error (Windows)
Install Visual Studio with C++ tools:- Visual Studio 2019 or later
- “Desktop development with C++” workload
Tauri Build Hangs
Clear build cache:Next Steps
- Run tests before building
- Follow code style guidelines
- Read contributing guide for releases