Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
E

electrobun

> 编程语言
Open source

Build ultra fast, tiny, and cross-platform desktop apps with Typescript.

12.6K stars0 likes0 views
WebsiteGitHub

About

Build ultra fast, tiny, and cross-platform desktop apps with Typescript.

Electrobun

## What is Electrobun? Electrobun aims to be a complete **solution-in-a-box** for building, updating, and shipping fast, compact, cross-platform desktop applications written in TypeScript. Hutch is the native build and workspace CLI. Cottontail is Electrobun's JSC-based default JavaScript runtime. Electrobun's platform layer combines Zig, Objective-C, and C++. Visit https://framework.blackboard.sh/electrobun/ to see api documentation, guides, and more. Install Hutch globally, then use it to create and build a project. Published templates include the exact Electrobun release they were tested with. In a hand-written project that pin is optional; without one, Hutch uses an npm-supplied paired default or floats on the active release channel. Hutch verifies and installs the resolved release's platform archive under `~/.hutch/releases/electrobun` and copies its SDKs into the project's generated `.hutch/devkit` sysroot: ```bash curl -fsSL https://hutch.blackboard.sh/hutch/install.sh | sh hutch electrobun init ``` Initialization requires network access to fetch the current template catalog and selected template. Later builds can reuse exact releases and managed toolchains that are already installed. Or bootstrap the same interactive initializer from npm or Bun. The single, dependency-free npm package downloads the exact paired Hutch archive from that version's Electrobun GitHub Release when needed, verifies and caches it, and forwards the command. The initializer also ensures a compatible global launcher for the generated project's `hutch` tasks. It does not carry or own the Electrobun runtime or SDKs: ```bash npx electrobun init # or bunx electrobun init ``` Hutch's built-in npm-compatible resolver installs JavaScript dependencies by default and writes `hutch.lock`; `hutch pm exec` runs project-local package binaries. A project's `hutch.config.ts` may instead select npm, Bun, pnpm, Yarn, or a custom executable, and Hutch delegates package operations to that explicit choice. Package management is independent of whether the app's main process runs on Cottontail or Bun. Don't miss our: - self-extracting bundles that use Zstandard compression for compact distributables - a Zig-optimized BSDIFF implementation that can produce kilobyte-scale updates - `bundleCEF` flag to bundle and pin Chromium for those that want that tradeoff of consistency over file size - `bundleWGPU` that lets you use Bun Typescript -> WGPU to control a native GPU surface without a webview - Our Three.js and Babylon.js adapters that work directly in the Cottontail main process - Our `` and `` HTML elements that let you composite isolated webviews and native GPU surfaces into your UIs - so much more. **Project Goals** - Write typescript for the main process and webviews without having to think about it. - Isolation between main and webview processes with fast, typed, easy to implement RPC between them. - Small self-extracting app bundles when using the system webview - Small updates that use binary patches before falling back to a compressed full download - Provide everything you need in one tightly integrated workflow to start writing code in 5 minutes and distribute in 10. ## Apps Built with Electrobun - [24agents](https://github.com/jhsu/24agents) - Hyperprompter - [act-track-ai](https://github.com/IrdanGu/act-track-ai) - personal desktop productivity tracker - [Agents Council](https://github.com/MrLesk/agents-council) - agent-to-agent MCP communication tool for feedback requests - [ai-wrapped](https://github.com/gulivan/ai-wrapped) - Wrapped-style desktop dashboard for your AI coding agent activity - [Audio TTS](https://github.com/blackboardsh/audio-tts) - desktop text-to-speech app using Qwen3-TTS for voice design, cloning, and generation - [aueio-player-desktop](https://github.com/tuomashatakka/aueio-player-desktop) - beautiful, minimal cross-platform audio player - [bestdiff](https://github.com/tesmond/bestdiff) - a git diff checker with curved connectors - [BuddyWriter](https://github.com/OxFrancesco/BuddyWriter) - BuddyWriter desktop and mobile apps - [burns](https://github.com/l3wi/burns) - a Smithers manager - [cbx-tool](https://github.com/jebin2/cbx-tool) - desktop app for reading and editing comic book archives (.cbz/.cbr) - [Co(lab)](https://blackboard.sh/colab/) - a hybrid web browser + code editor for deep work - [codlogs](https://github.com/tobitege/codlogs) - search and export local Codex sessions via CLI or desktop app - [Codex Agents Composer](https://github.com/MrLesk/codex-agents-composer) - desktop app for managing your Codex agents and their skills - [codex-devtools](https://github.com/gulivan/codex-devtools) - desktop inspector for Codex session data; browse conversations, search messages, and analyze agent activity - [Deskdown](https://github.com/guarana-studio/deskdown) - transform any web address into a desktop app in under 20 seconds - [Dictate](https://github.com/siddhantparadox/dictate) - Windows dictation app with local and BYOK cloud transcription - [dev-3.0](https://github.com/h0x91b/dev-3.0) - helps you not get lost while managing multiple AI agents across projects - [DOOM](https://github.com/blackboardsh/electrobun-doom) - DOOM implemented in 2 ways: bun -> (c doom -> bundled wgpu) and (full ts port bun -> bundled wgpu) - [dotlock](https://github.com/tsconfigdotjson/dotlock) - macOS desktop app for managing `.env` files across your projects - [electrobun-pdf](https://github.com/GijungKim/electrobun-pdf) - local-first PDF & DOCX editor for opening, annotating, and exporting documents without leaving your machine - [electrobun-rms](https://github.com/khanhthanhdev/electrobun-rms) - fast Electrobun desktop app template with React, Tailwind CSS, and Vite - [FLACK](https://github.com/BLCK-B/FLACK) - local audio player for Windows - [gloomberb](https://gloom.sh) - financial terminal for the rest of us - [golb](https://github.com/chrisdadev13/golb) - desktop AI coding workspace built with React, Vite, and Tailwind - [GOG Achievements GUI](https://github.com/timendum/gog-achievements-gui) - desktop app for managing GOG achievements - [groov](https://github.com/laurenzcodes/groov) - desktop audio deck monitor - [Guerilla Glass](https://github.com/okikeSolutions/guerillaglass) - open-source cross-platform creator studio for fast Record -> Edit -> Deliver workflows - [Invoke](https://getinvoke.com) - macOS UI automation & shortcut platform - [Marginalia](https://github.com/lars-hoeijmans/Marginalia) - a simple note taking app - [MarkBun](https://github.com/xiaochong/markbun) - fast, beautiful, Typora-like markdown desktop editor - [md-browse](https://github.com/needle-tools/md-browse) - a markdown-first browser that converts web pages to clean markdown - [moop](https://github.com/zrubinrattet/moop/) - desktop app for batch image optimization for the web - [Oursum](https://github.com/CarthyWorks/oursum) - private, offline-first personal expense tracker for importing, categorizing, and splitting transactions - [Patchline](https://github.com/adwaithks/Patchline) - lightweight desktop Git client for reading patches and line diffs, then staging and committing changes - [peekachu](https://github.com/needle-tools/peekachu) - password manager for AIs; store secrets in your OS keychain and scrub output so AI assistants never see actual values - [PiBun](https://github.com/khairold/pibun) - desktop GUI for the Pi coding agent with chat, terminal, git integration, and plugin system - [PLEXI](https://github.com/ianjamesburke/PLEXI) - a multi-dimensional terminal multiplexer for the agentic era - [Prometheus](https://github.com/opensourcectl/prometheus) - desktop utility toolbox for file cleanup, document manipulation, and image processing - [qCodelicious](https://github.com/rafaelsouzars/qcodelicious) - a simple code editor - [Quiver](https://ataraxy-labs.github.io/quiver/) - desktop app for GitHub PR reviews, merge conflict resolution, and AI commit messages - [remotecode.io](https://github.com/samuelfaj/remotecode.io) - continue local AI coding sessions (Claude Code or Codex) from your mobile device - [sirene](https://github.com/KevinBonnoron/sirene) - self-hosted multi-backend text-to-speech platform with voice cloning - [Sideleaf](https://sideleaf.xyz/) - simple Markdown and text editor with previews and notes - [StoryForge](https://github.com/vrrdnt/StoryForge) - desktop app for Vintage Story players to switch between game versions, modpacks, servers, and accounts - [Tensamin Client](https://github.com/Tensamin/Client) - web, desktop, and mobile app for accessing Tensamin - [tokenpass-desktop](https://github.com/b-open-io/tokenpass-desktop) - desktop app that runs the Sigma Identity stack locally for Bitcoin-backed authentication - [typsmthng-desktop](https://github.com/aaditagrawal/typsmthng-desktop) - experimental desktop typing application - [VibesOS](https://github.com/popmechanic/VibesOS) - A GUI for Claude Code that makes it easy to vibe code simple, un-hackable apps - [VoiceVault](https://github.com/PJH720/VoiceVault) - AI-powered voice recorder with transcription, summarization, and RAG search - [warren](https://github.com/Loa212/warren) - open-source, peer-to-peer terminal mesh for accessing your machines from any device without SSH keys or config files - [whatsapp-reminder](https://github.com/FatahChan/whatsapp-reminder) - managed scheduled WhatsApp messages ### Video Demos ## Star History


star history 4 weeks after v1 launch

## Contributing Electrobun is one piece of a vision I'm building. I'm optimizing for focus and execution. Issues and PRs can be used to share ideas, but there should be no expectation that I will review, respond to, or merge them. Ways to get involved: - Read the [Contribution guidelines](./CONTRIBUTING.md) - Follow us on X for updates @BlackboardTech and @YoavCodes or on bluesky @yoav.codes - Join the conversation on Discord - Create and participate in Github issues and discussions - Let me know what you're building with Electrobun ## Development Setup Building apps with Electrobun is as easy as installing Hutch and running `hutch electrobun init`. **This section is for building Electrobun from source locally in order to contribute fixes to it.** ### Prerequisites Install Hutch globally before building Electrobun: ```bash curl -fsSL https://hutch.blackboard.sh/hutch/install.sh | sh ``` On Windows PowerShell: ```powershell & ([scriptblock]::Create((irm https://hutch.blackboard.sh/hutch/install.ps1))) ``` **macOS:** - Xcode command line tools - cmake (install via homebrew: `brew install cmake`) **Windows:** - Visual Studio Build Tools or Visual Studio with C++ development tools - cmake **Linux:** - build-essential package - cmake - webkit2gtk and GTK development packages On Ubuntu/Debian based distros: `sudo apt install build-essential cmake pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libpipewire-0.3-dev librsvg2-dev` Linux applications also require the corresponding GTK 3, WebKitGTK 4.1, Ayatana AppIndicator, and librsvg runtime packages on end-user systems. See the [cross-platform development guide](./docs/src/content/docs/electrobun/guides/cross-platform-development.mdx#linux) for distro-specific install commands. The launcher reports the exact missing shared library when these dependencies are unavailable. Wayland screen-region capture additionally requires a working desktop portal, PipeWire, and the `libpipewire-0.3.so.0` runtime library (provided by `libpipewi

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •self-extracting bundles that use Zstandard compression for compact distributables
  • •a Zig-optimized BSDIFF implementation that can produce kilobyte-scale updates
  • •bundleCEF flag to bundle and pin Chromium for those that want that tradeoff of consistency over file size
  • •bundleWGPU that lets you use Bun Typescript -> WGPU to control a native GPU surface without a webview
  • •Our Three.js and Babylon.js adapters that work directly in the Cottontail main process
  • •Our <electrobun-webview> and <electrobun-wgpu> HTML elements that let you composite isolated webviews and native GPU surfaces into your UIs
  • •so much more.
  • •Write typescript for the main process and webviews without having to think about it.
  • •Isolation between main and webview processes with fast, typed, easy to implement RPC between them.
  • •Small self-extracting app bundles when using the system webview

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言