Editor

Building and publishing

EditorPreview

Editor docs

The editor builds your game the way you would from a terminal, with the project's own Vite and electron-builder, run on the editor's bundled toolchain. You need no GitHub account, no CI and no tools installed. Nothing in the output depends on the editor. The editor is a preview.

Screenshot to come: the Build panel with the Web target selected and a finished build's size report.

The Build panel#

Open it with File → Build… (Shift+Ctrl+B). Each target says what this computer can produce; this is the one place the editor says "not available on this platform".

TargetWhat it runsOutput
Webvite buildStatic files for any web host: itch.io, Cloudflare Pages, Netlify, GitHub Pages, your own server.
Desktop (this computer's OS)electron-vite build, then electron-builder --dirAn unpacked app you can run and zip.
Installer (unsigned)electron-vite build, then electron-builder for this computer's OSA .dmg and .zip on macOS, an NSIS .exe on Windows, an AppImage and .deb on Linux.
Three-OS workflow (optional, GitHub)Writes .github/workflows/desktop-build.yml into the projectA workflow that builds on macOS, Windows and Linux runners, if you want one.
Publish (optional)Uploads this session's web buildA deployment on Cloudflare Pages, Netlify, GitHub Pages or itch.io.

The web build has options for minification, source maps and the base path (./ for itch.io and for hosts that serve the game under a sub-path). The build log streams into the panel, and a finished build lists its files with their sizes.

A project created without the desktop variant gets an Enable desktop action, which adds the template's Electron files and development dependencies, as the --desktop flag of the command line does.

Build and Run#

File → Build and Run (Ctrl+B) builds and then runs the result: a web build from a local server in your default browser, a desktop build as a normal application. File → Run Last Build (Alt+Ctrl+B) runs the previous output without building again. Installers are not run.

Each platform builds for itself#

Desktop builds and installers are made for the computer you are on: a Windows computer builds the Windows app, a Mac the macOS app, a Linux computer the Linux app. Anyone can make the web build. electron-builder cannot make a .dmg anywhere but macOS, so the editor refuses another OS's installer up front and points at the three-OS workflow instead.

The three-OS workflow is for teams who want all three from GitHub Actions. The editor writes the file from your package.json (the same manifest always gives the same file) and stops there: it never commits, pushes or runs it. It gates nothing.

Everything is unsigned for now: macOS and Windows warn players the first time they open an unsigned app. Signing and notarisation are planned for a later release.

Publishing the web build#

Publishing uploads the last successful web build of this session to one target at a time. Nothing is bundled or downloaded to do it:

TargetHowCredential
Cloudflare PagesCloudflare's Direct Upload API, as wrangler pages deploy usesCLOUDFLARE_API_TOKEN
NetlifyNetlify's file-digest deploy API: only changed files are uploadedNETLIFY_AUTH_TOKEN
GitHub PagesA commit of the build on the project's gh-pages branch, pushed with your own git (never force-pushed)Your existing git credentials
itch.iobutler push, with the butler you installed (the editor never downloads it)BUTLER_API_KEY

A credential comes from that environment variable or is typed in for the session. It lives only in the editor's memory, is never written to disk and is removed from every log line. The target's settings (account, project or site, branch, remote) are saved in ignifx.project.json, which holds names and ids only. GitHub Pages and itch.io need the build's base set to ./.

A coding agent can start builds over MCP, but a publish always waits for your yes in the editor, every time.