Chapter 01

Installation & system requirements

Install the Windows MSI, or build the application from source on Windows, Linux or macOS.

Supported platforms

Windows is the primary target and the only platform with a published installer. The project can also run and be developed on Linux and macOS, but those platforms are built from source.

PlatformPublished packageSource build
WindowsMSISupported
LinuxNoneSupported; the Debian/Ubuntu packages below are required
macOSNoneSupported; no extra system dependencies
Why MSI only. The bundle target in tauri.conf.json is ["msi"], so the release process publishes no other installer format.

Installing the Windows build

The current release is v0.0.12 (2026-11-07). Download the MSI from the GitHub Releases page, double-click it and follow the installer. The package targets Windows only; launch the application from the Start menu or the desktop shortcut.

Build requirements

Linux system packages (Debian/Ubuntu)

sudo apt-get install -y pkg-config libdbus-1-dev libssl-dev libgtk-3-dev \
  libjavascriptcoregtk-4.1-dev libsoup-3.0-dev libwebkit2gtk-4.1-dev

macOS and Windows need no additional system dependencies.

Toolchain

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
yarn

Build, run and test

yarn tauri dev      # full stack (Tauri starts the Vite dev server automatically)
yarn dev            # frontend only, for pure UI debugging (no Rust/SSH)
yarn build:clean    # release build in src-tauri/target-release/release/bundle/
yarn tauri build    # incremental build in src-tauri/target/
cd src-tauri && cargo check && cargo clippy && cargo test
cd src-tauri && cargo run --bin ssh_test   # standalone russh connectivity probe
npx playwright install && yarn test:e2e    # frontend E2E with a stubbed Tauri IPC

The E2E suite lives under e2e/ui/ and contains about 100 specs. Because the backend is stubbed through window.__TAURI_INTERNALS__, the Playwright run does not need a Rust build.

Releasing

gh auth login -h github.com
yarn run publish    # builds, then uploads to a GitHub Release

Set RELEASE_SKIP_CLEAN=1 to reuse existing artifacts instead of cleaning first. After publishing, yarn gen:latest writes the latest.json update manifest; the auto-updater reads it from releases/latest/download/latest.json and verifies installers with the pubkey in tauri.conf.json.