Electron boilerplate with React, TypeScript, Vite, and auto-update support.
- Electron 30+ - Latest Electron framework
- React 18 - Modern React with hooks
- TypeScript - Type-safe development
- Vite - Fast HMR and bundling for renderer
- electron-builder - Package for macOS (arm64)
- electron-updater - Auto-update from GitHub releases
- @electron/rebuild - Native module support
neovate-code-desktop/
├── src/
│ ├── main/ # Electron main process
│ │ ├── main.ts # App entry point
│ │ └── preload.ts # IPC bridge
│ ├── renderer/ # React UI
│ │ ├── App.tsx # Root component
│ │ ├── main.tsx # React entry
│ │ ├── index.html # HTML shell
│ │ └── index.css # Global styles
│ └── shared/ # Shared types
│ └── types.ts
├── dist/ # Compiled output
├── release/ # Packaged apps
└── package.json
npm installnpm run devThis runs both main and renderer processes concurrently with hot reload.
npm run buildCompiles TypeScript and bundles React app.
npm run package:macCreates DMG and ZIP installers in release/ folder.
- Create a GitHub repository (e.g.,
neovateai/neovate-code-desktop) - Update
build.publishinpackage.jsonwith your GitHub username/repo - Build and package:
npm run package:mac - Create a GitHub release with a version tag (e.g.,
v0.1.0) - Upload the DMG and ZIP files from
release/folder to the GitHub release - Users will receive auto-update notifications on app launch
npm run dev- Start development mode (concurrent main + renderer)npm run dev:main- Start main process onlynpm run dev:renderer- Start renderer dev server onlynpm run build- Build both main and renderernpm run build:main- Compile main process TypeScriptnpm run build:renderer- Bundle renderer with Vitenpm run package- Build and package for all platformsnpm run package:mac- Build and package for macOS arm64
- Electron - Desktop framework
- TypeScript - Compiled with tsc
- electron-updater - Auto-update functionality
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool with HMR
- CSS - Basic styling
- electron-builder - Packaging and distribution
- @electron/rebuild - Native module compilation
- TypeScript Compiler - Main process compilation
- Vite - Renderer bundling
package.json- Dependencies, scripts, and electron-builder configtsconfig.json- TypeScript config for renderer (ESNext modules)tsconfig.main.json- TypeScript config for main (CommonJS)vite.config.ts- Vite bundler configuration
- Node.js 20.x - 22.x
- npm 9.x+
- macOS (for building macOS apps)
MIT