Milady Electrobun Workflow
The master Electrobun development lifecycle guide. Use for any Electrobun project to understand where you are in the pipeline and what comes next. Links all stages together.
git clone https://github.com/milady-ai/milady
T=$(mktemp -d) && git clone --depth=1 https://github.com/milady-ai/milady "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/plugins/electrobun-dev/skills/electrobun-workflow" ~/.claude/skills/milady-ai-milady-electrobun-workflow && rm -rf "$T"
.claude/plugins/electrobun-dev/skills/electrobun-workflow/SKILL.mdElectrobun Development Workflow
The Pipeline
┌──────────┐ ┌──────────┐ ┌──────────────┐ ┌───────────┐ │ INIT │ → │ DEV │ → │ BUILD │ → │ RELEASE │ │ │ │ │ │ │ │ │ │ template │ │ dev+watch│ │ canary/stable│ │ upload │ │ scaffold │ │ hot reload│ │ sign+notarize│ │ auto-update│ └──────────┘ └──────────┘ └──────────────┘ └───────────┘ Skill: Skill: Skill: Skill: electrobun-init electrobun-dev electrobun-build electrobun-release Command: (always-on) Command: Command: /electrobun-init /electrobun-build /electrobun-release
Stage 1: INIT
When: Starting a new project from scratch.
Command:
electrobun init <project-name> --template=<template> cd <project-name> && bun install
Success:
bun start launches the template app.
→ Ready for Stage 2 when: Template runs, you've updated
app.name and app.identifier.
Deep knowledge: See
electrobun-init skill.
Stage 2: DEV
When: Building features — the majority of development time.
Commands:
bun run dev # → electrobun dev --watch
Success: App reloads automatically on save. Console output appears in terminal.
Key tools while in dev:
- CEF devtools at
(if using CEF renderer)http://localhost:9222
for native WKWebView (macOS)view.openDevTools()- Inline source maps → stack traces point to
lines.ts
→ Ready for Stage 3 when: Feature is complete, tested manually, and you're ready for a distributable build.
Deep knowledge: See
electrobun-dev skill.
Stage 3: BUILD
When: Creating a distributable build for testing (canary) or release (stable).
Commands:
# First time: set signing env vars export ELECTROBUN_DEVELOPER_ID="Developer ID Application: ..." export ELECTROBUN_APPLEID="you@example.com" export ELECTROBUN_APPLEIDPASS="xxxx-xxxx-xxxx-xxxx" export ELECTROBUN_TEAMID="XXXXXXXXXX" # Canary (internal testing) electrobun build --env=canary # Stable (production) electrobun build --env=stable
Success:
artifacts/ contains .tar.zst, .patch, update.json, .dmg.
Skip signing for pipeline testing:
ELECTROBUN_SKIP_CODESIGN=1 electrobun build --env=canary
→ Ready for Stage 4 when: Artifacts are present and the built app runs correctly.
Deep knowledge: See
electrobun-build skill.
Stage 4: RELEASE
When: Distributing the build to users and enabling auto-update.
Steps:
- Upload
toartifacts/release.baseUrl - Verify:
curl <baseUrl>/macos-arm64-update.json - Running apps detect and apply the update automatically
Success: Users on the previous version get the update within their configured check interval.
Deep knowledge: See
electrobun-release skill.
Cross-Stage Config Reference
See
electrobun-config skill for the complete electrobun.config.ts field reference.
Common Cross-Stage Gotchas
not bumped → Auto-updater won't detect a new release even after uploadapp.version
missing an entry → Renderer HTML loads but JS silently fails (Stage 2-3)build.views
/bundleWGPU
not set for all platforms → Runtime crash on non-dev machine (Stage 3)bundleCEF
not set → No update.json generated, no patch created (Stage 3→4)release.baseUrl- Artifacts uploaded but
URL wrong → Auto-updater pollsupdate.json
— no version in the filename<baseUrl>/<os>-<arch>-update.json
Quick Reference
| I want to... | Command | Skill |
|---|---|---|
| Start a new project | | electrobun-init |
| Set up a new window with RPC | | electrobun-rpc |
| Add WebGPU rendering | | electrobun-webgpu |
| Add an app menu | | electrobun |
| Check pipeline status | | electrobun-workflow |
| Run a guided build | | electrobun-build |
| Release to users | | electrobun-release |
| Understand the full config | (auto) | electrobun-config |
| Debug a failure | (auto) | electrobun (debugger agent) |