Build commands
| Command | Output |
|---|---|
npm run package:mac | .dmg + .zip for macOS (Apple Silicon / arm64 only) |
npm run package:win | NSIS .exe installer + portable .exe for Windows (x64) |
npm run package:linux | .AppImage + .deb + .rpm for Linux (x64) |
npm run package:all | All three platforms (requires macOS host for mac signing) |
npm run clean— removesout/anddist/npm run download-python— downloads the platform-specific bundled Python 3.11 distributionnpm run compile-engines— compilesrlm_context/,nae_context/, and both bridge scripts to.pycbytecode using the bundled Python interpreter (ensures magic numbers match at runtime)npm run build— bundles TypeScript via electron-vite (main, renderer, preload)electron-builder— packages and optionally signs the app
macOS code signing
Set these environment variables before building:resources/entitlements.mac.plist. After signing, electron-builder submits to Apple for notarisation automatically.
Windows code signing
Linux (no signing required)
No environment variables needed. The AppImage and deb packages are unsigned.Bundled Python
The build pipeline downloads a platform-specific Python 3.11 distribution and bundles it into the app usingscripts/download-python.js. The bundled Python is ~50 MB and is included in the final installer.
To pre-download Python before building:
Build output
Packaged apps are written todist/:
Edit this page — Open a pull
request