electron-builder-config · git:20260912.84c6c93 · 2026-09-12 · sha256 6f1464c5e710d11e
electron-builder-config git:20260912.84c6c93A
Immutable. This exact content is served forever at /api/v1/blob/6f1464c5e710d11e.
---
name: electron-builder-config
description: Generate and validate electron-builder configuration for multi-platform desktop builds with code signing, auto-update, and platform-specific packaging
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
tags: [electron, desktop, build, packaging, cross-platform]
graph:
domains: [domain:software-engineering]
specializations: [specialization:desktop-development]
skillAreas: [skill-area:desktop-ui-frameworks, skill-area:cross-platform-desktop]
roles: [role:desktop-developer, role:fullstack-engineer]
workflows: [workflow:feature-development, workflow:release-management]
---
# electron-builder-config
Generate and validate electron-builder configuration for multi-platform desktop builds. This skill handles the complete configuration for building Electron applications across Windows, macOS, and Linux with proper code signing, auto-update channels, and platform-specific installers.
## Capabilities
- Generate complete `electron-builder.yml` or `electron-builder.json5` configuration
- Configure platform-specific build targets (NSIS, DMG, AppImage, DEB, RPM, Snap, Flatpak)
- Set up code signing for Windows (Authenticode) and macOS (Developer ID)
- Configure auto-update settings with electron-updater
- Optimize build artifacts with compression and deduplication
- Validate existing configurations for common issues
- Generate CI/CD build scripts for GitHub Actions, Azure DevOps, CircleCI
## Input Schema
```json
{
"type": "object",
"properties": {
"projectPath": {
"type": "string",
"description": "Path to the Electron project root"
},
"appInfo": {
"type": "object",
"properties": {
"appId": { "type": "string", "description": "Application bundle ID (com.company.app)" },
"productName": { "type": "string" },
"copyright": { "type": "string" }
},
"required": ["appId", "productName"]
},
"platforms": {
"type": "array",
"items": { "enum": ["windows", "macos", "linux"] },
"description": "Target platforms to build for"
},
"targets": {
"type": "object",
"properties": {
"windows": { "type": "array", "items": { "enum": ["nsis", "nsis-web", "portable", "appx", "msi", "squirrel"] } },
"macos": { "type": "array", "items": { "enum": ["dmg", "pkg", "mas", "mas-dev", "zip"] } },
"linux": { "type": "array", "items": { "enum": ["AppImage", "deb", "rpm", "snap", "flatpak", "tar.gz"] } }
}
},
"codeSigning": {
"type": "object",
"properties": {
"windows": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"certificateSubjectName": { "type": "string" },
"timestampServer": { "type": "string" }
}
},
"macos": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"identity": { "type": "string" },
"hardenedRuntime": { "type": "boolean", "default": true },
"notarize": { "type": "boolean" }
}
}
}
},
"autoUpdate": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "enum": ["github", "s3", "generic", "spaces", "keygen"] },
"channel": { "enum": ["latest", "beta", "alpha"] }
}
},
"generateCIScripts": {
"type": "boolean",
"description": "Generate CI/CD build scripts"
}
},
"required": ["projectPath", "appInfo", "platforms"]
}
```
## Output Schema
```json
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"configPath": { "type": "string", "description": "Path to generated config file" },
"config": { "type": "object", "description": "Generated electron-builder configuration" },
"ciScripts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": { "type": "string" },
"description": { "type": "string" }
}
}
},
"warnings": { "type": "array", "items": { "type": "string" } },
"recommendations": { "type": "array", "items": { "type": "string" } }
},
"required": ["success"]
}
```
## Usage Instructions
1. **Analyze project structure**: Examine package.json, existing build configs, and project layout
2. **Determine build requirements**: Based on target platforms and distribution needs
3. **Generate configuration**: Create electron-builder.yml with all necessary settings
4. **Validate configuration**: Check for common issues and missing dependencies
5. **Generate CI scripts**: If requested, create GitHub Actions or other CI workflows
## Configuration Templates
### Basic Multi-Platform Build
```yaml
appId: com.example.myapp
productName: MyApp
directories:
buildResources: build
output: dist
files:
- "**/*"
- "!**/*.{md,txt}"
- "!**/node_modules/*/{CHANGELOG.md,README.md,readme.md}"
win:
target:
- target: nsis
arch: [x64, ia32]
icon: build/icon.ico
mac:
target:
- target: dmg
arch: [x64, arm64]
icon: build/icon.icns
hardenedRuntime: true
gatekeeperAssess: false
linux:
target:
- target: AppImage
arch: [x64]
- target: deb
arch: [x64]
icon: build/icons
category: Utility
```
### With Code Signing and Notarization
```yaml
win:
sign: ./scripts/sign.js
signingHashAlgorithms: [sha256]
signDlls: true
mac:
identity: "Developer ID Application: Company Name (TEAMID)"
hardenedRuntime: true
entitlements: build/entitlements.mac.plist
entitlementsInherit: build/entitlements.mac.plist
afterSign: scripts/notarize.js
```
### With Auto-Update
```yaml
publish:
provider: github
owner: your-org
repo: your-repo
releaseType: release
nsis:
oneClick: false
perMachine: true
allowToChangeInstallationDirectory: true
differentialPackage: true
```
## Best Practices
1. **Always use `hardenedRuntime: true`** for macOS to pass notarization
2. **Enable `signingHashAlgorithms: [sha256]`** for modern Windows compatibility
3. **Use `differentialPackage: true`** for efficient auto-updates
4. **Configure `files` patterns** to exclude unnecessary files and reduce bundle size
5. **Set up separate channels** (latest, beta, alpha) for staged rollouts
6. **Store signing credentials** in CI secrets, never in config files
## Community References
- [electron-builder Documentation](https://www.electron.build/)
- [Electron Code Signing Guide](https://www.electronjs.org/docs/latest/tutorial/code-signing)
- [electron-scaffold skill](https://claude-plugins.dev/skills/@chrisvoncsefalvay/claude-skills/electron-scaffold)
- [Electron Distribution & Auto-Update](https://mcpmarket.com/tools/skills/electron-distribution-auto-update)
## Related Skills
- `electron-main-preload-generator` - Generate secure main process and preload scripts
- `electron-auto-updater-setup` - Configure electron-updater with advanced features
- `windows-authenticode-signer` - Windows code signing with signtool
- `macos-codesign-workflow` - macOS code signing and notarization
## Related Agents
- `electron-architect` - Expert in Electron architecture and best practices
- `desktop-ci-architect` - CI/CD pipeline design for desktop builds