Production-ready · MIT License

Electron for Windows,
done right.

A starter kit with typed, runtime-validated IPC, a sandboxed renderer, structured logging with redaction, and a modern React + TypeScript UI. Ship with confidence from day one.

Everything you need. Nothing you don't.

Sane defaults and guardrails that hold up in production, with clear seams to extend as your app grows.

Typed IPC end-to-end

Every channel declared once in shared/protocol.ts as a Zod schema. Compile-time types and runtime validation — both from the same source of truth.

Sandboxed renderer

sandbox: true, contextIsolation: true, nodeIntegration: false. The renderer's only capability is the minimal window.api exposed via contextBridge.

Multi-window, zero boilerplate

Single bundle, URL hash routing. One createWindow({ entry, parent }) factory for every window — modal child support included.

Cross-window reactive state

State lives in the main process. Typed broadcast() events keep every open window in sync — no client-state library can do this across processes.

Structured logging + redaction

Per-launch timestamped files, bounded rotation, all-process coverage. Sensitive keys are scrubbed from IPC payloads before anything touches disk.

Built to extend

Add a channel: declare a schema, declare a response type, implement the handler. Typed, validated, and logged — automatically. The compiler guides you.

Modern. Stable. Opinionated.

Every choice is here for a reason — and swappable when your requirements differ.

Up in under a minute.

Clone, install, and run. No configuration required to get started.

bash
# Clone the repository
git clone https://github.com/sandeep-menon/windows-electron-starter-kit.git
cd windows-electron-starter-kit

# Install dependencies
npm install

# Start in development mode (renderer HMR)
npm run dev

# Build a Windows installer
npm run build:win

Dev (renderer HMR)

npm run dev

Dev (full rebuild)

npm run dev:watch

Type check

npm run typecheck

Package for Windows

npm run build:win

Ready to build?

Clone the repo, run npm install, and start building your app on a foundation that holds up in production.