skills/community/electron-release/SKILL.md
Expert guide for Electron production builds, code signing, notarization, auto-updates, and release workflows. Use when building, packaging, or releasing Electron applications, configuring electron-builder, setting up CI/CD pipelines for desktop app distribution, or implementing auto-update mechanisms.
npx skillsauth add pedronauck/skills electron-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides enterprise-grade best practices for building, signing, releasing, and distributing Electron applications with emphasis on security, reliability, performance, and user trust.
pnpm audit, pnpm run typecheck, pnpm run lint, and pnpm run test before builds.Before every production build:
pnpm auditpnpm run typecheck && pnpm run lintpnpm run test && pnpm run test:e2epnpm run build:analyzerconsole.log and debugger statements| Component | Target | |------------------|----------| | Main process | < 2 MB | | Renderer | < 5 MB | | Total package | < 150 MB | | Install size | < 250 MB |
Microsoft requires Extended Validation (EV) certificates since June 2023.
Recommended: Use cloud-based signing (DigiCert KeyLocker or Azure Trusted Signing).
Never use self-signed certificates for distribution.
Two-step process:
Key requirements:
hardenedRuntime: true in electron-builder configSign release artifacts with GPG:
gpg --detach-sign -u YOUR_KEY_ID dist/packages/*.AppImage
gpg --detach-sign -u YOUR_KEY_ID dist/packages/*.deb
Configure publish provider in electron-builder.yml:
publish:
provider: github
owner: your-username
repo: your-repo
releaseType: release
Reduce risk by gradually rolling out updates:
If issues detected:
Use dev-app-update.yml for local testing. Test the full update cycle before releasing.
Before creating release tag:
package.jsonCHANGELOG.mdgit tag -a v1.2.3 -m "Release v1.2.3"
git push origin v1.2.3
GitHub Actions automatically handles:
S3-compatible storage with R2 endpoint. Configure environment variables:
Requires serving latest.yml, latest-mac.yml, and all artifacts via HTTPS.
Before release, verify:
pnpm audit)| Issue | Solution |
|-------|----------|
| Auto-update not triggering | Verify latest.yml exists, check GitHub releases config |
| Code signing fails | Renew certificate, verify fingerprint |
| Windows SmartScreen warning | Distribute widely, file with Microsoft for reputation |
| macOS "cannot verify developer" | Re-notarize, check team ID and certificate |
| Large app download | Analyze with ANALYZE=true pnpm run build, enable compression |
| Blank screen in production | Use relative paths (base: './'), verify build output |
Before finishing a task involving Electron releases:
For detailed configuration examples, code samples, and GitHub Actions workflows, refer to references/patterns.md.
testing
Assess DDD fit; discover domains with EventStorming, define language and bounded contexts, and design aggregates, value objects, events, and repositories. Excludes architecture-only audits, product specs, and CQRS/Event Sourcing catalogs.
development
Build terminal UIs with ratatui following 2026 Rust best practices. Use when: (1) Creating new TUI apps, (2) Adding widgets/layouts, (3) Keyboard navigation/state management, (4) Image integration via ratatui-image, (5) Async event handling, (6) Release optimization. Covers v0.30.0+ API, Elm Architecture, StatefulWidget, color-eyre.
development
Find 10x product opportunities and high-leverage improvements. Use when user wants strategic product thinking, mentions '10x', wants to find high-impact features, or says 'what would make this 10x better', 'product strategy', or 'what should we build next'.
development
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.