Skip to content

01. Installation

Nicolás Baier Quezada edited this page Jun 5, 2026 · 3 revisions

01. Installation & Build

DIRD+ is distributed as a desktop application (Linux, Windows, macOS) packaged with Tauri v2. The embedded local webview runs the frontend — there is no HTTP server and no web deployment.

Prerequisites

  • Rust toolchain — via rustup
  • Node.js 20+ and pnpmnpm i -g pnpm
  • WebKitGTK + build tools (Linux):
    • Arch: sudo pacman -S webkit2gtk-4.1 libayatana-appindicator librsvg patchelf base-devel cmake
    • Debian/Ubuntu: sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf build-essential cmake

cmake and a C/C++ toolchain are required: the app embeds llama.cpp (via the llama-cpp-2 Rust crate), which is compiled from source.

Clone & install

git clone https://github.com/Debaq/Dird.git
cd Dird
pnpm install

Development

pnpm tauri:dev      # launch the desktop app with hot-module reload

The first Rust build takes ~2–3 minutes (it compiles SQLCipher/OpenSSL and llama.cpp). Subsequent launches are near-instant.

Production build

pnpm tauri:build    # frontend + Rust, release mode
  • The binary lands in ./src-tauri/target/release/app.
  • No AppImage/deb/rpm are produced by defaultbundle.active = false in src-tauri/tauri.conf.json. Set it to true to produce distribution packages (on modern Arch, build with NO_STRIP=true to avoid the strip + .relr.dyn bug).

Tests

pnpm test                                           # Vitest (frontend, 52 tests)
cargo test --manifest-path src-tauri/Cargo.toml     # Rust unit tests (crypto, db)
npx tsc --noEmit                                    # TypeScript typecheck

First run

On first launch the app shows a security wizard that sets up two passwords (application login + export passphrase) and creates the encrypted SQLite database. See 11. Security & Privacy.

There are no environment variables and no backend to configure — DIRD+ is 100% local.

Clone this wiki locally