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 buildersrc/main.rs— Entry point (suppresses console in release)Cargo.toml— Dependencies and release profiletauri.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 bundlingapp/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:
- Download the latest
.msiinstaller - Run the installer
- Kalam checks for updates automatically on startup
Profiles are stored in %APPDATA%/Kalam/ as JSON files.