Building for Platforms
Prerequisites
- Node.js >= 18 (or >= 22 for full compatibility)
- Yarn:
npm install -g yarn - Rust toolchain: Install via rustup
- Tauri system dependencies: See the Tauri v2 prerequisites guide for your platform
Development
git clone https://github.com/Beaver-Notes/Beaver-Notes.git
cd Beaver-Notes
yarn install
yarn watch
yarn watch launches the Vite dev server with hot reload and Tauri in development mode.
Desktop Builds
Standard Build
yarn build
This produces platform-specific bundles in src-tauri/target/release/:
| Platform | Output |
|---|---|
| macOS | .dmg + .app |
| Windows | .msi or .exe installer |
| Linux | .deb, .rpm, .AppImage |
Beta Build
yarn build:beta
Uses src-tauri/tauri.beta.conf.json for beta-specific configuration.
Mobile Builds
iOS
yarn mobile:init:ios # Initialize Xcode project (run once)
yarn dev:ios # Run on simulator
yarn build:ios # Production build
yarn open:ios # Open simulator
Requires macOS with Xcode installed and an Apple Developer account for device deployment.
Android
yarn mobile:init:android # Initialize Android project (run once)
yarn dev:android # Run on emulator
yarn build:android # Build APK + AAB
yarn open:android # Open emulator
Requires Android Studio and the Android SDK (API 34+).
Linux Packaging
Beaver Notes is distributed through multiple Linux channels:
| Format | Distribution |
|---|---|
| Flatpak | Flathub: com.beavernotes.beavernotes |
| DEB | Debian/Ubuntu-based distros |
| RPM | Fedora/CentOS-based distros |
| AppImage | Portable Linux binary |
| AUR | Arch Linux (community-maintained) |
Flatpak builds are configured in the flatpak/ directory.
Update Strategy
Beaver Notes uses Tauri’s built-in updater. Update artifacts are published to GitHub Releases. The app checks for updates on startup and periodically in the background.
Configuration is in src-tauri/tauri.conf.json:
- Updater endpoint: GitHub Releases
- Public key: For signed updates (set via
TAURI_UPDATER_PUBKEYenv var) - Auto-update: Can be toggled in Settings > About
Common Scripts
| Command | Description |
|---|---|
yarn watch |
Dev mode with hot reload |
yarn build |
Production desktop build |
yarn lint |
Run ESLint on all source files |
yarn tran-update |
Pull latest translations |
yarn tran-util <lang> |
Check translation status |
yarn version:bump |
Bump app version |