electrobun-workflow
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseElectrobun Development Workflow
Electrobun 开发工作流
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┌──────────┐ ┌──────────┐ ┌──────────────┐ ┌───────────┐
│ 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-releaseStage 1: INIT
阶段 1:INIT
When: Starting a new project from scratch.
Command:
bash
electrobun init <project-name> --template=<template>
cd <project-name> && bun installSuccess: launches the template app.
bun start→ Ready for Stage 2 when: Template runs, you've updated and .
app.nameapp.identifierDeep knowledge: See skill.
electrobun-init使用时机: 从零开始创建新项目。
命令:
bash
electrobun init <project-name> --template=<template>
cd <project-name> && bun install成功标志: 会启动模板应用。
bun start→ 可进入阶段 2 的条件: 模板可以运行,并且你已更新 和 。
app.nameapp.identifier深入了解: 请参阅 skill。
electrobun-initStage 2: DEV
阶段 2:DEV
When: Building features — the majority of development time.
Commands:
bash
bun run dev # → electrobun dev --watchSuccess: 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 skill.
electrobun-dev使用时机: 构建功能——这占开发时间的大多数。
命令:
bash
bun run dev # → electrobun dev --watch成功标志: 保存后,应用会自动重新加载。控制台输出会显示在终端中。
开发阶段的关键工具:
- 如果使用 CEF renderer,可在 使用 CEF devtools
http://localhost:9222 - 对原生 WKWebView(macOS)使用
view.openDevTools() - 内联 source maps → stack trace 会指向 代码行
.ts
→ 可进入阶段 3 的条件: 功能已完成、已手动测试,并且已准备好生成可分发构建。
深入了解: 请参阅 skill。
electrobun-devStage 3: BUILD
阶段 3:BUILD
When: Creating a distributable build for testing (canary) or release (stable).
Commands:
bash
undefined使用时机: 为测试(canary)或发布(stable)创建可分发构建。
命令:
bash
undefinedFirst time: set signing env vars
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"
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)
Canary (internal testing)
electrobun build --env=canary
electrobun build --env=canary
Stable (production)
Stable (production)
electrobun build --env=stable
**Success:** `artifacts/` contains `.tar.zst`, `.patch`, `update.json`, `.dmg`.
**Skip signing for pipeline testing:**
```bash
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 skill.
electrobun-buildelectrobun build --env=stable
**成功标志:** `artifacts/` 中包含 `.tar.zst`、`.patch`、`update.json`、`.dmg`。
**流水线测试时跳过签名:**
```bash
ELECTROBUN_SKIP_CODESIGN=1 electrobun build --env=canary→ 可进入阶段 4 的条件: 构建产物已生成,并且构建后的应用可以正常运行。
深入了解: 请参阅 skill。
electrobun-buildStage 4: RELEASE
阶段 4:RELEASE
When: Distributing the build to users and enabling auto-update.
Steps:
- Upload to
artifacts/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 skill.
electrobun-release使用时机: 向用户分发构建,并启用自动更新。
步骤:
- 将 上传到
artifacts/release.baseUrl - 验证:
curl <baseUrl>/macos-arm64-update.json - 正在运行的应用会自动检测并应用更新
成功标志: 上一版本的用户会在其配置的检查间隔内收到更新。
深入了解: 请参阅 skill。
electrobun-releaseCross-Stage Config Reference
跨阶段配置参考
See skill for the complete field reference.
electrobun-configelectrobun.config.ts有关完整的 字段参考,请参阅 skill。
electrobun.config.tselectrobun-configCommon Cross-Stage Gotchas
常见的跨阶段问题
- not bumped → Auto-updater won't detect a new release even after upload
app.version - missing an entry → Renderer HTML loads but JS silently fails (Stage 2-3)
build.views - /
bundleWGPUnot 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 polls
update.json— no version in the filename<baseUrl>/<os>-<arch>-update.json
- 未更新 → 即使已经上传,自动更新器也无法检测到新版本
app.version - 缺少条目 → Renderer HTML 可以加载,但 JS 会静默失败(阶段 2-3)
build.views - 未为所有平台设置 /
bundleWGPU→ 在非开发机器上运行时崩溃(阶段 3)bundleCEF - 未设置 → 不会生成 update.json,也不会创建 patch(阶段 3→4)
release.baseUrl - 构建产物已上传,但 URL 错误 → 自动更新器会轮询
update.json,文件名中不包含版本号<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) |
| 我想…… | 命令 | Skill |
|---|---|---|
| 启动新项目 | | electrobun-init |
| 使用 RPC 设置新窗口 | | electrobun-rpc |
| 添加 WebGPU 渲染 | | electrobun-webgpu |
| 添加应用菜单 | | electrobun |
| 检查流水线状态 | | electrobun-workflow |
| 运行引导式构建 | | electrobun-build |
| 向用户发布 | | electrobun-release |
| 了解完整配置 | (自动) | electrobun-config |
| 调试故障 | (自动) | electrobun(debugger agent) |