A build automation tool for Python projects that uses dependency-based tasks and a plugin system to define build life cycles.
electron/forge
A complete toolchain for building, packaging, and publishing Electron desktop applications, from project scaffolding to release.
- Stars
- 7,171
- Forks
- 654
- Open issues
- 263
- Last commit
- 3 days ago
What is it?
Electron Forge is a command-line tool for building Electron applications. It combines existing, well-maintained Electron build tools into one package so developers can start a project, run it in development, and package it for distribution without assembling the tooling by hand.
The project is built around three goals: starting an Electron app with a single command, handling build setup and native module rebuilding automatically, and covering everything from project creation to release through one core dependency. It uses @electron/rebuild to recompile native Node.js modules against the correct Electron version, and @electron/packager to bundle the app for distribution.
Projects are created with the create-electron-app CLI, which requires Node 22.17.0 or higher and Git. Full documentation and configuration references are hosted on the project website.
Key features
- 01Scaffolds new Electron projects with a single npx command.
- 02Automatically rebuilds native Node.js modules for the target Electron version.
- 03Packages apps and produces distributable builds for Windows, macOS, and Linux.
- 04Provides a single core dependency covering creation, development, and release.
- 05Supports customization of build and packaging configuration.
Use cases
- Starting a new cross-platform desktop app with Electron and TypeScript.
- Packaging and releasing an existing Electron app for Windows, macOS, or Linux.
- Building Electron apps that depend on native Node.js modules without manual rebuild steps.
Quick start
- 1
Make sure Node 22.17.0 or higher and Git are installed
- 2
Create a new project with create-electron-app
npx create-electron-app@latest my-new-app - 3
Enter the project folder
cd my-new-app - 4
Start the app
npm start
Things to know
- Requires Node 22.17.0 or higher.
In collections
Topics
FAQ
- What is forge?
- A complete toolchain for building, packaging, and publishing Electron desktop applications, from project scaffolding to release. Electron Forge is a command-line tool for building Electron applications. It combines existing, well-maintained Electron build tools into one package so developers can start a project, run it in development, and package it for distribution without assembling the tooling by hand.
- Is forge free to use? What license does it have?
- forge is open source under the MIT license. Check the license terms before using it in commercial products.
- Is forge still maintained?
- Actively maintained. The last commit to forge was on Nov 4, 2026.
- What can I use forge for?
- Starting a new cross-platform desktop app with Electron and TypeScript. Packaging and releasing an existing Electron app for Windows, macOS, or Linux. Building Electron apps that depend on native Node.js modules without manual rebuild steps.
- How do I install forge?
- Make sure Node 22.17.0 or higher and Git are installed Create a new project with create-electron-app: npx create-electron-app@latest my-new-app Enter the project folder: cd my-new-app Start the app: npm start
- Where can I get forge?
- The source code and installation instructions are on GitHub: https://github.com/electron/forge
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A monorepo build platform for TypeScript and polyglot codebases that caches unchanged work, runs only affected tasks, and integrates with CI.
A framework for building cross-platform desktop apps with JavaScript, HTML and CSS, based on Node.js and Chromium.
Freezes Python programs into stand-alone executables that run without a Python interpreter installed.
Briefcase packages a Python project into a standalone native application for Mac, Windows, Linux, iOS, Android and the web.
Modern, extensible Python project manager covering builds, environments, testing, linting, versioning and publishing.