Setup & Build

Prerequisites

  • Node.js 18+ (for React frontend + Vite)
  • Rust stable (for Tauri backend)
  • Python 3 + PyInstaller (for sidecar compilation)
  • Windows 11 (Kalam is Windows-only)

Quick Start

Clone the repository and start the development server:

cd app
npm install
npm run tauri dev

This launches the Tauri desktop shell with hot-reload for the React frontend.

Development Setup

Frontend

The React app lives in app/ and uses Vite as the build tool. All source files are under app/src/. The dev server is managed by Tauri — npm run tauri dev starts both the Vite dev server and the Tauri window.

Rust Backend

The Tauri backend lives in app/src-tauri/. Key files:

  • src/lib.rs — Plugin registration and Tauri builder
  • src/main.rs — Entry point (suppresses console in release)
  • Cargo.toml — Dependencies and release profile
  • tauri.conf.json — Window configuration, bundle settings, updater config

Rust Release Profile

[profile.release]
opt-level = "s"    # optimize for size
lto = true         # link-time optimization
codegen-units = 1  # single codegen unit for better optimization
strip = true       # strip debug symbols
panic = "abort"    # no unwinding

Building the Sidecar

The Python sidecar is compiled to a standalone executable via PyInstaller. Rebuild whenever sidecar/kalam-core.py changes:

cd sidecar
python -m PyInstaller kalam-core.spec --noconfirm
Copy-Item dist/kalam-core-x86_64-pc-windows-msvc.exe app/src-tauri/binaries/kalam-core/ -Force
Copy-Item dist/kalam-core-x86_64-pc-windows-msvc.exe app/src-tauri/target/debug/kalam-core.exe -Force

The built binary is placed in two locations:

  • app/src-tauri/binaries/kalam-core/ — For Tauri's sidecar bundling
  • app/src-tauri/target/debug/kalam-core.exe — For development testing

Bundle Targets

Kalam builds an MSI installer (Windows Installer package). Bundle targets are configured in app/src-tauri/tauri.conf.json under bundle.targets.

Installation (End Users)

Download the latest installer from GitHub Releases:

  1. Download the latest .msi installer
  2. Run the installer
  3. Kalam checks for updates automatically on startup

Profiles are stored in %APPDATA%/Kalam/ as JSON files.