Quickly scaffold an Electron project with a full build pipeline
Electron Forge is an all-in-one tool for packaging and distributing Electron applications. It combines many single-purpose packages to create a full build pipeline that works out of the box, complete with code signing, installers, and artifact publishing. For advanced workflows, custom build logic can be added in the Forge lifecycle through its Plugin API. Custom build and storage targets can be handled by creating your own Makers and Publishers.
yarn create electron-app my-app
npm init electron-app@latest my-app
If you used the
create-electron-appscript before during Forge
6.0.0-beta, we recommend you uninstall the package globally before running the command again.
yarn global remove create-electron-app
npm uninstall -g create-electron-app
Forge's initialization scripts can add additional template code with the
yarn create electron-app my-app --template=webpack
npm init electron-app@latest my-app -- --template=webpack
There are currently two first-party templates:
webpack-typescripttemplate also wires up your project for TypeScript support.
You should now have a directory called
my-appwith all the files you need for a basic Electron app.
So you've got an amazing application there, and you want to package it all up and share it with the world. If you run the
makescript, Electron Forge will generate you platform specific distributables for you to share with everyone. For more information on what kind of distributables you can make, check out the Makers documentation.
npm run make
Now you have distributables that you can share with your users. If you run the
publishscript, Electron Forge will then publish the platform-specific distributables for you, using the publishing method of your choice. For more information on what publishers we currently support, check out the Publishers documentation.
yarn run publish
npm run publish
Once you've got a basic app starting, building and publishing, it's time to add your custom configuration, which can be done in the
forge.config.jsfile. Configuration options are specified in the Configuration Docs.
You can also check out the documentation on some of our more advanced features like: