Skip to Content
Introduction

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.md and 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 dev

Continue with Getting Started.

Last updated on