Skip to main content
Build from source if you want to modify Vibex, review the implementation, or your platform has no ready-made installer. End users should use the release artifacts on the Install page instead.

Prerequisites

Get and run the desktop

pnpm dev:desktop prepares the development icons, then compiles and runs vibex-desktop in debug mode. The first compile takes a while. To check only the Rust side, skip the frontend:

Package the desktop

On Linux, use cargo-packager with the PDFium runtime reviewed alongside the repository:
The three channel commands map to the Preview / RC / Stable product identities. The generated packages and runtime binaries are build outputs and are not committed to the repository. Before publishing an RC or Stable build, read docs/operations/release.md in the repository.

Build for Android

You need the Android SDK/NDK, cargo-ndk, and the Rust target for each target ABI. Debug builds arm64-v8a and x86_64 by default; Release builds only arm64-v8a.
Use VIBEX_MOBILE_ANDROID_TARGETS (space-separated) to override the Debug ABI list. A local pnpm package:mobile:android produces an unsigned Release APK, which you must align and sign yourself before distributing. A tagged GitHub Release is signed automatically by the release pipeline.

Build for iOS

You need macOS, Xcode, XcodeGen, and the aarch64-apple-ios and aarch64-apple-ios-sim Rust targets.
The script builds VibexFFI.xcframework and generates an Xcode project. Code signing, device or simulator selection, and distribution credentials are all managed by your local environment. Never commit certificates or provisioning profiles.

Run Relay and the server locally

For detailed configuration, see Self-hosted Relay and Self-hosted headless runtime.

Checks before you commit

pnpm check bundles the Rust quality checks, frontend type and lint checks, license checks, and UI layering and visual baseline checks. pnpm release:build-smoke validates the build graph for the desktop, mobile, and Relay. For the complete command list, see Build and test.