Orchestrate coding agents across isolated git workspaces.
Website | Download | Install TUI
Beehive lets you manage multiple repos, create isolated workspace clones on different branches, and run terminals and AI agents side-by-side — all from one window. Available as a desktop GUI app and a terminal TUI.
Download the latest .dmg from Releases. Signed and notarized for Apple Silicon.
macOS and Linux x86_64 are supported for the TUI.
Install directly:
curl -fsSL beehiveapp.dev/install.sh | bashYou'll be asked to choose bh or beehive as your command name. Auto-updates on startup.
You can also set the comb startup command programmatically from the TUI binary:
bh --startup-cmd 'tmux new-session -A -s "$(basename "$BEEHIVE_COMB")"'Clear it with:
bh --startup-cmd ''Or download the latest standalone TUI binary from Releases:
- macOS:
beehive-tui-darwin-arm64 - Linux x64:
beehive-tui-linux-x64
- Multi-repo management — Add GitHub repositories and switch between them instantly
- Isolated workspaces — Full git clones ("combs") on any branch, each in its own directory
- Nest grouping — Organize combs into named nests inside a hive
- Persistent terminals — Real PTY sessions that stay alive across workspace and repo switches
- Agent panes — Launch Claude Code or any CLI agent alongside your terminals
- Copy combs — Duplicate a workspace including uncommitted work to experiment safely
- Custom buttons — Configure per-repo quick-launch buttons for your agent commands
- Comb startup command — Run a configurable shell command automatically the first time each comb opens after launch
- Live branch tracking — Sidebar updates when you switch branches in the terminal
- Layout persistence — Pane layouts saved to disk and restored on restart
- Resizable sidebar (TUI) —
</>keys to adjust, persisted across sessions
| Term | What it is |
|---|---|
| Hive | A linked GitHub repository |
| Nest | An optional group of combs inside a hive |
| Comb | An isolated workspace clone of a hive, on a specific branch |
| Pane | A terminal or agent session inside a workspace |
- Add a hive — Link a GitHub repo by URL
- Create nests if you want structure — Group related combs together inside the hive
- Create a comb — Clone it to an isolated directory on any branch
- Open panes — Launch terminals and agents side-by-side
- Switch freely — All terminals persist in the background across workspace and hive switches
| Tool | Required for | Install |
|---|---|---|
| git | All | git-scm.com |
GitHub CLI (gh) |
All | cli.github.com |
| Node.js 18+ | Building GUI | nodejs.org |
| Rust (stable) | Building GUI/TUI | rustup.rs |
gh auth login # Required — Beehive uses gh for repo operationsNote: The desktop GUI is macOS-only for now. The standalone TUI supports macOS (Apple Silicon) and Linux x64. Windows support is not available yet.
git clone https://github.com/storozhenko98/beehive.git
cd beehive
npm install
npm run tauri dev # Development with hot-reload
npm run tauri build # Production .app and .dmgOr use the build script:
./build.sh # Production build
./build.sh --dev # Dev mode
./build.sh --check # Type-check onlycd cli
source "$HOME/.cargo/env"
cargo build --release
# Binary at cli/target/release/beehive-tui| Layer | Technology |
|---|---|
| GUI Frontend | React 19, TypeScript 5.8, Vite 7, xterm.js 5.5 |
| GUI Backend | Rust, Tauri v2, portable-pty 0.9 |
| TUI | Rust, Ratatui 0.29, Crossterm 0.28, portable-pty, vt100 |
| Website | Next.js 16, Tailwind, shadcn/ui |
| Styling | Catppuccin Mocha theme throughout |
| Git ops | git and gh CLI via std::process::Command |
beehive/
├── src/ # React frontend (GUI)
│ ├── App.tsx # Screen router
│ ├── App.css # Styles (Catppuccin Mocha)
│ ├── types.ts # Shared TypeScript types
│ └── components/ # UI components (12 files)
├── src-tauri/ # Rust backend (GUI)
│ └── src/
│ ├── lib.rs # Tauri app builder
│ ├── pty.rs # PTY session management
│ └── hive.rs # Hive/comb CRUD, git operations
├── cli/ # TUI (standalone Rust binary)
│ └── src/
│ ├── main.rs # Event loop, key handling
│ ├── ui.rs # Ratatui rendering
│ ├── app.rs # Application state
│ ├── terminal.rs # Embedded PTY (portable-pty + vt100)
│ ├── config.rs # Config/state management
│ └── update.rs # Auto-update
├── web/ # Website (beehiveapp.dev)
│ └── src/app/ # Next.js app router
├── docs/ # GitHub Pages landing (legacy)
├── .github/workflows/ # CI: release pipeline + web deploy
├── install.sh # TUI install script
├── build.sh # GUI build script
└── CLAUDE.md # AI assistant context
All config lives in ~/.beehive/:
| File | Purpose |
|---|---|
~/.beehive/config.json |
App config (beehive directory path, sidebar width, CLI preferences, comb startup command) |
{beehiveDir}/beehive.json |
Directory marker with version |
{beehiveDir}/repo_{name}/.hive/state.json |
Hive state (repo info, nests, combs, pane layouts, custom buttons) |
Combs are full git clones at {beehiveDir}/repo_{name}/{combName}/.
The GUI and TUI share the same config and data — you can use both interchangeably.
Example startup command in ~/.beehive/config.json:
{
"combStartupCommand": "tmux new-session -A -s \"$(basename \"$BEEHIVE_COMB\")\""
}Beehive runs that command once per comb the first time it opens that comb after launch, then returns to an interactive shell in the comb directory.
| Platform | GUI | TUI |
|---|---|---|
| macOS (Apple Silicon) | Signed & notarized | Supported |
| macOS (Intel) | Should work (untested) | Should work (untested) |
| Linux | Not yet | Supported (x86_64 glibc) |
| Windows | Not yet | Not yet |
See CONTRIBUTING.md for development setup and guidelines.
Open an issue for bugs or feature requests.
Mykyta Storozhenko — storozh.dev · @storozhenko98 · @technoleviathan