hive

command module
v0.31.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2026 License: MIT Imports: 29 Imported by: 0

README

Hive

hive

The command center for your AI colony

Manage multiple AI agent sessions in isolated git environments with real-time status monitoring.

Go Version License Platform Release

Documentation | Getting Started | Configuration | Contributing


Installation

brew install colonyops/tap/hive

Or install directly with Go:

go install github.com/colonyops/hive@latest

Pre-built binaries are also available on the GitHub Releases page.

Overview

Hive manages isolated git sessions for running AI agents in parallel. Instead of manually managing git worktrees or directories, hive handles cloning, recycling, and spawning terminal sessions with your preferred AI tool (Claude, Aider, Codex).

Each hive session is a complete git clone in a dedicated directory with its own terminal environment. Sessions are tracked through a lifecycle (active → recycled → deleted) and can be reused, reducing clone time and disk usage.

Key Features:

  • Session Management — Create, recycle, and prune isolated git clones
  • Terminal Integration — Real-time status monitoring of AI agents in tmux (works out of the box)
  • Inter-agent Messaging — Pub/sub communication between sessions
  • Context Sharing — Shared storage per repository via .hive symlinks
  • Custom Keybindings — Bind keys to user-defined or system commands
  • Command Palette — Vim-style command palette for custom commands (: key)

Quick Start

Prerequisites: Git and tmux installed.

# Add alias to .bashrc/.zshrc
alias hv='tmux new-session -As hive hive'

# Add to ~/.tmux.conf to jump back to hive
# bind l switch-client -t hive

# Launch
hv

Press n to create sessions, enter to open them, and : for the command palette.

See the Getting Started guide for full setup instructions.

Status Indicators

Indicator Color Meaning
[●] Green (animated) Agent actively working
[!] Yellow Agent needs approval/permission
[>] Cyan Agent ready for input
[?] Dim Terminal session not found
[○] Gray Session recycled

Documentation

Full documentation is available at colonyops.github.io/hive.

Dependencies

  • Git (available in PATH or configured via git_path)
  • tmux (required — provides session management and status monitoring)

Contributing

Prerequisites
Local Dev Setup
git clone https://github.com/colonyops/hive.git
cd hive
task run

Use task run during development. It runs hive with project-local defaults from Taskfile.yml:

  • HIVE_CONFIG=./config.dev.yaml
  • HIVE_DATA_DIR=./.data
  • HIVE_LOG_FILE=./dev.log
  • HIVE_LOG_LEVEL=debug

This isolates contributor testing from your personal/global hive sessions.

Dev Config vs Global Config
Mode Config Path Data Directory Use Case
Dev ./config.dev.yaml ./.data Contributing and testing changes safely
Global ~/.config/hive/config.yaml ~/.local/share/hive Day-to-day hive usage

Run with dev config:

task run
task run -- new
task run -- doctor

Run against your global config (compatibility checks):

go run *.go --config ~/.config/hive/config.yaml --data-dir ~/.local/share/hive
Common Contributor Commands
task test
task lint
task check
task build
task validate

Before opening a PR, run task check. If you changed config behavior, also run task validate and task run -- doctor.

Acknowledgments

This project was heavily inspired by agent-deck by Ashesh Goplani. Several concepts and code patterns were adapted from their work. Thanks to the agent-deck team for open-sourcing their project under the MIT license.

Disclaimer: The majority of this codebase was vibe-coded with AI assistance. Use at your own risk.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
core/config
Package config handles configuration loading and validation for hive.
Package config handles configuration loading and validation for hive.
core/git
Package git provides an abstraction for git operations.
Package git provides an abstraction for git operations.
core/messaging
Package messaging provides inter-agent communication via pub/sub topics.
Package messaging provides inter-agent communication via pub/sub topics.
core/session
Package session defines session domain types and interfaces.
Package session defines session domain types and interfaces.
core/styles
Package styles provides shared lipgloss v2 styles for CLI and TUI components.
Package styles provides shared lipgloss v2 styles for CLI and TUI components.
core/terminal
Package terminal provides interfaces for terminal multiplexer integrations.
Package terminal provides interfaces for terminal multiplexer integrations.
core/terminal/tmux
Package tmux implements terminal integration for tmux.
Package tmux implements terminal integration for tmux.
core/validate
Package validate provides shared validation functions.
Package validate provides shared validation functions.
hive
Package hive provides the service layer for orchestrating hive operations.
Package hive provides the service layer for orchestrating hive operations.
hive/plugins
Package plugins provides a plugin system for extending Hive with additional commands and status providers.
Package plugins provides a plugin system for extending Hive with additional commands and status providers.
hive/plugins/beads
Package beads provides a Beads issue tracker plugin for Hive.
Package beads provides a Beads issue tracker plugin for Hive.
hive/plugins/claude
Package claude provides Claude Code integration for Hive.
Package claude provides Claude Code integration for Hive.
hive/plugins/contextdir
Package contextdir provides commands for opening context directories.
Package contextdir provides commands for opening context directories.
hive/plugins/github
Package github provides a GitHub plugin for Hive.
Package github provides a GitHub plugin for Hive.
hive/plugins/lazygit
Package lazygit provides a lazygit plugin for Hive.
Package lazygit provides a lazygit plugin for Hive.
hive/plugins/neovim
Package neovim provides a Neovim plugin for Hive.
Package neovim provides a Neovim plugin for Hive.
hive/plugins/tmux
Package tmux provides a tmux plugin for Hive with default session management commands.
Package tmux provides a tmux plugin for Hive with default session management commands.
hive/scripts
Package scripts embeds and extracts bundled helper scripts (hive-tmux, agent-send).
Package scripts embeds and extracts bundled helper scripts (hive-tmux, agent-send).
tui
tui/components
Package components provides reusable TUI components.
Package components provides reusable TUI components.
tui/views/review
Package review implements a TUI for reviewing and commenting on markdown documents.
Package review implements a TUI for reviewing and commenting on markdown documents.
pkg
executil
Package executil provides shell execution utilities.
Package executil provides shell execution utilities.
iojson
iojson are utilities for reading and writing JSON IO from a command line interface perspective
iojson are utilities for reading and writing JSON IO from a command line interface perspective
kv
Package kv provides a generic thread-safe key-value store.
Package kv provides a generic thread-safe key-value store.
randid
Package randid provides random ID generation utilities.
Package randid provides random ID generation utilities.
tmpl
Package tmpl provides template rendering utilities for shell commands.
Package tmpl provides template rendering utilities for shell commands.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL