From electrobun-dev
This skill should be used when the user asks to "electrobun init", "scaffold a new electrobun project", "new electrobun app", "electrobun template", or "start electrobun project". Activates on new project setup or template questions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/electrobun-dev:electrobun-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaffolds a new Electrobun desktop app from a built-in template.
Scaffolds a new Electrobun desktop app from a built-in template.
electrobun init # interactive template picker
electrobun init <project-name> # pick template interactively, name set
electrobun init <template-name> # template name = project name
electrobun init <project-name> --template=<name> # explicit name + template
After init:
cd <project-name>
bun install
bun start # runs: electrobun dev
Choose based on what your app primarily does:
| Template | Use when |
|---|---|
hello-world | Starting from scratch, learning Electrobun |
bunny | Demo/mascot, visual showcase |
| Template | Use when |
|---|---|
svelte | You use Svelte |
vue | You use Vue |
solid | You use SolidJS |
angular | You use Angular |
react-tailwind-vite | React + Tailwind, Vite bundler |
tailwind-vanilla | No framework, just Tailwind |
vanilla-vite | No framework, Vite bundler |
| Template | Use when |
|---|---|
multi-window | App needs multiple independent windows |
tray-app | Menu bar / system tray app, no main window |
notes-app | CRUD app with local storage |
sqlite-crud | App with a local SQLite database |
photo-booth | Camera/media capture |
| Template | Use when |
|---|---|
multitab-browser | Multi-tab browser shell with navigation |
| Template | Use when |
|---|---|
wgpu-threejs | 3D scene with Three.js on native WebGPU |
wgpu | Native GPU rendering with Dawn/WebGPU |
wgpu-mlp | WebGPU neural net inference |
wgpu-babylon | BabylonJS on WebGPU |
Every template produces at minimum:
<project-name>/
├── package.json # scripts: start, dev, build, build:canary
├── electrobun.config.ts # app identity + build config
├── tsconfig.json
├── bun.lock
└── src/
├── bun/
│ └── index.ts # main process entry
└── <viewname>/ # one or more renderer dirs
├── index.html
├── index.ts
└── index.css
GPU templates (wgpu, wgpu-mlp, wgpu-babylon, wgpu-threejs) skip the renderer dirs and use GpuWindow directly.
cd <project-name> && bun installapp.name, app.identifier, app.version in electrobun.config.tsbun start to verify the template runsbundleWGPU: true is set per platformbundleCEF: true is set per platformelectrobun init with no args to see the interactive picker with valid namesbun install fails → Ensure Bun ≥ 1.0. Run bun --versionelectrobun.config.ts views matches the directory name in src/npx claudepluginhub dexploarer/plugin-electrobun-dev --plugin electrobun-devGuides desktop app development with Electron and Tauri — cross-platform apps for Windows, macOS, Linux using a single codebase.
Scaffolds Even Hub G2 projects by cloning starter templates (minimal Vite+TS, asr mic pipeline, image container, text-heavy paginated reader) via degit. Use for pre-wired app setups instead of blank Vite.
Guides secure Electron desktop app development: multi-process architecture, IPC with contextIsolation and preload scripts, electron-builder packaging, code signing, and auto-updates.