Electron AppStack
Electron AppStack is a complete starting point for building desktop apps with Electron and TypeScript .
It is not a framework or a dependency: you copy the template once with degit and the code is yours.
What’s included
- Electron + electron-vite – hot reload of the renderer, automatic restart of the main process (Development)
- React, TanStack Router, TanStack Query, shadcn/ui, Tailwind CSS – the renderer stack (UI and Routing)
- tRPC + zod over IPC – fully typed, validated calls from the renderer to the main process (IPC with tRPC)
- SQLite + Drizzle ORM – local database with migrations applied on startup (Database)
- Typed app config – electron-store validated by a zod schema (App Config)
- Dark mode – system, light or dark, from the native menu or the settings (Dark Mode)
- Translations – i18next in the renderer and the native menu (Translations)
- Biome – one fast tool for linting and formatting (Development)
- Icons and images conventions – app icon, DMG background, renderer images (Icons and Images)
- Releases – Changesets for versions and changelog, GitHub Actions to build, sign, notarize and publish (Releasing)
- Auto update – electron-updater with GitHub Releases (Auto Update)
- Licensing – license keys, activation window and update gating with licensemanager.dev (Licensing)
- Source code protection – main process shipped as V8 bytecode, locked down with Electron fuses and ASAR integrity (Source Code Protection)
- AI agent instructions –
AGENTS.mdand skills for Claude Code and other agents (AI Agents) - Secure defaults – sandboxed renderer, context isolation, strict Content Security Policy
Quick start
npx degit nick-keller/electron-appstack/template my-app
cd my-app
npm install
npm run devContinue with Getting Started.
Last updated on