Zero to Running in Five Minutes
Get from zero to a running dev instance in under five minutes.Prerequisites
| Tool | Version | Why |
|---|---|---|
| Node.js | 20+ | Runtime for main process and build tooling |
| npm | 10+ | Package management |
| Git | Any | Source control |
| Ollama | Latest | Local model testing (optional but recommended) |
Native modules like
better-sqlite3 compile during install via
electron-rebuild. On macOS you need Xcode Command Line Tools (xcode-select --install). On Linux you need build-essential and python3.Clone and Install
postinstall script runs electron-rebuild automatically to compile native modules against the correct Electron ABI.
Run in Dev Mode
electron-vite which starts three processes:
| Process | Role | Reload |
|---|---|---|
| main | Node.js — IPC handlers, runtime, services | Manual restart |
| preload | contextBridge — type-safe IPC | Manual restart |
| renderer | React — the UI | HMR (instant) |
npm run dev.
Available Commands
Path Aliases
The codebase uses path aliases everywhere. Never use relative paths across process boundaries.| Alias | Resolves to |
|---|---|
@main/* | src/main/* |
@preload/* | src/preload/* |
@renderer/* | src/renderer/src/* |
@components/* | src/renderer/src/components/* |
@hooks/* | src/renderer/src/hooks/* |
@lib/* | src/renderer/src/lib/* |
@pages/* | src/renderer/src/pages/* |
@providers/* | src/renderer/src/providers/* |
@resources/* | resources/* |
electron.vite.config.ts— Vite resolutiontsconfig.web.json— TypeScript for renderertsconfig.node.json— TypeScript for main + preload
Three-Process Architecture
@main/* directly. All communication flows through IPC channels defined in the preload layer.
Project Structure
Understand how the codebase is organized.
Contributing
Ready to submit code? Read the contribution guide.