A complete, copy-pasteable guide to getting a macOS Electron app to the point where:
- It launches with no Gatekeeper warning (signed + notarized).
- It updates itself silently in the background (Squirrel.Mac), then "Restart to update".
- The whole release is built and published by CI from a tag/dispatch.
This is the setup I wish I'd had in one place. It assumes Electron Forge v7 (@electron-forge/*) and GitHub Actions, but the Apple bits apply to any macOS distribution-outside-the-App-Store flow.