Skip to main content
Vibex is a native application driven by a Rust workspace. DesktopRuntime is the single authoritative state owner; the desktop workbench, headless server, mobile app, and remote transports all reach it through shared contracts.

Architecture boundaries

Learn the crate split, the authoritative runtime, and the responsibilities of clients and Relay.

Local setup

Prepare Rust, Node, pnpm, and the graphics build environment.

Build and test

Run routine checks, smoke tests, and release build gates.

Platform support

Artifact formats, build methods, and verification requirements for each platform.

Remote v2 and Relay

Protocol boundaries for pairing, handshake, sync, and self-hosted transport.

Contributing

Architecture, testing, and privacy requirements for your changes.

Constraints to preserve during development

  • DesktopRuntime owns Agents, sessions, timelines, files, Git, PTY, providers, permissions, and persistence.
  • One core, two frontends: apps/desktop adds a GPUI window, and apps/server adds a daemon lifecycle. New capabilities must work for both.
  • Clients only consume shared remote projections and send typed operations; they never duplicate business state.
  • New capabilities should reach the authority through BackendFacade, not only through a local runtime path.
  • Remote v2 DTOs, errors, capabilities, and sequence-number contracts live in the shared crates/core layer.
  • Relay only forwards encrypted frames; it does not own business authorization, files, or the session database.
  • Cross-layer behavior changes need deterministic checks or evidence, plus the smallest test set that matches the risk.
  1. Architecture and ownership boundaries
  2. Local development environment
  3. Build and test
  4. Platform support
  5. Remote v2 and Relay
  6. Contributing

Design documents in the repository

The public documentation site only covers what users need. More detailed design and operations material lives under the repository’s docs/ directory: