Skip to main content

Build commands

Each command runs in sequence:
  1. npm run clean — removes out/ and dist/
  2. npm run download-python — downloads the platform-specific bundled Python 3.11 distribution
  3. npm run compile-enginescompiles rlm_context/, nae_context/, and both bridge scripts to .pyc bytecode using the bundled Python interpreter (ensures magic numbers match at runtime)
  4. npm run build — bundles TypeScript via electron-vite (main, renderer, preload)
  5. electron-builder — packages and optionally signs the app

macOS code signing

Set these environment variables before building:
MIRA uses hardened runtime with the entitlements in resources/entitlements.mac.plist. After signing, electron-builder submits to Apple for notarisation automatically.

Windows code signing

Use an EV certificate to avoid SmartScreen warnings.

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 using scripts/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 to dist/:
Edit this page — Open a pull request