Skip to main content

Zero to Running in Five Minutes

Get from zero to a running dev instance in under five minutes.

Prerequisites

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

The postinstall script runs electron-rebuild automatically to compile native modules against the correct Electron ABI.

Run in Dev Mode

This launches electron-vite which starts three processes: Renderer changes (components, styles, hooks) reflect instantly via HMR. Main process changes require you to stop and re-run npm run dev.

Available Commands

Always run npm run typecheck after structural changes (new files, moved imports, changed interfaces). Vite HMR can mask type errors — your app runs fine until you try to build.

Path Aliases

The codebase uses path aliases everywhere. Never use relative paths across process boundaries.
Available aliases:
Use ./ relative imports only within the same folder. For anything else, use the alias.
Aliases are configured in three places:
  • electron.vite.config.ts — Vite resolution
  • tsconfig.web.json — TypeScript for renderer
  • tsconfig.node.json — TypeScript for main + preload

Three-Process Architecture

The renderer never imports from @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.