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.
Features
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.
Stack
Every choice is here for a reason — and swappable when your requirements differ.
Quick Start
Clone, install, and run. No configuration required to get started.
# 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
Clone the repo, run npm install, and start building your app on a foundation that holds up in production.