Help us shape the future of Go! Take the 2026 Go Developer Survey

hive

command module
v0.66.1 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2026 License: MIT Imports: 1 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


This repository holds two programs on one session engine:

  • hive, the CLI/TUI documented below (cmd/hive).
  • Hive Desktop, a desktop app with an inbox that collects pull requests, issues, and alerts into feeds, a Code area for the same sessions, and agent chat workspaces (cmd/desktop). Download it and read its docs at hivedesktop.com.

Installation

brew install tmux
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)
  • Task Tracking — Built-in epics and tasks for multi-agent coordination (hive hc)
  • Inter-agent Messaging — Pub/sub communication between sessions
  • Context Sharing — Shared storage per repository via .hive symlinks
  • Operator Todos (Experimental) — Track human follow-up items from agents via CLI/TUI todo flows
  • 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.

hive init   # interactive setup wizard — alias, config, tmux binding
hv          # launch

hive init detects installed AI agents, scaffolds ~/.config/hive/config.yaml, appends an hv alias to your shell rc, and adds a tmux keybinding to jump back to hive.

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 hivedesktop.com/cli.

Dependencies

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

Contributing

See CONTRIBUTING.md. docs/development.md covers setup, the repository layout, running each program, and the quality gates.

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

Overview

This program is the same hive CLI as cmd/hive. It stays at the module root so that `go install github.com/colonyops/hive@latest` continues to work.

Directories

Path Synopsis
cmd
desktop command
Command hive-desktop is the desktop app's entrypoint.
Command hive-desktop is the desktop app's entrypoint.
desktop/devserver command
Command devserver fronts the GitHub API for local development: it caches responses so several desktop instances share one rate-limit budget, rewrites them from a config-driven overlay so workflows can be simulated against real data, and pushes webhook payloads at a running instance's local listener.
Command devserver fronts the GitHub API for local development: it caches responses so several desktop instances share one rate-limit budget, rewrites them from a config-driven overlay so workflows can be simulated against real data, and pushes webhook payloads at a running instance's local listener.
desktop/devtools command
Command devtools prepares an isolated worktree-local Hive Desktop development instance and writes the environment mise loads before launch.
Command devtools prepares an isolated worktree-local Hive Desktop development instance and writes the environment mise loads before launch.
desktop/internal/adapter/httpapi
Package httpapi is the HTTP adapter over app.App, mounted on the webhook listener's loopback server, which also hosts the optional pprof handler (ADR pprof-debug-endpoint).
Package httpapi is the HTTP adapter over app.App, mounted on the webhook listener's loopback server, which also hosts the optional pprof handler (ADR pprof-debug-endpoint).
desktop/internal/adapter/mcpsrv
Package mcpsrv is the agent-facing MCP adapter over app.App: the desktop's capabilities as MCP tools, served over Streamable HTTP on the same loopback server that hosts the webhook listener (ADR agent-http-api).
Package mcpsrv is the agent-facing MCP adapter over app.App: the desktop's capabilities as MCP tools, served over Streamable HTTP on the same loopback server that hosts the webhook listener (ADR agent-http-api).
desktop/internal/adapter/wailsui
Package wailsui is the Wails driving adapter: the service structs the frontend calls over RPC, the native shell (window, tray, updater, notifications), and the event signals it emits.
Package wailsui is the Wails driving adapter: the service structs the frontend calls over RPC, the native shell (window, tray, updater, notifications), and the event signals it emits.
desktop/internal/app
Package app is the headless core's facade: the App value driving adapters hold, the error vocabulary they translate, and the per-domain services that own orchestration.
Package app is the headless core's facade: the App value driving adapters hold, the error vocabulary they translate, and the per-domain services that own orchestration.
desktop/internal/app/actions
Package actions implements the desktop pipeline's actions.yml schema: the output/action layer a flow's terminal `action` node targets (see cmd/desktop/internal/app/flow's ActionConfig) and the source for the desktop detail pane's action buttons.
Package actions implements the desktop pipeline's actions.yml schema: the output/action layer a flow's terminal `action` node targets (see cmd/desktop/internal/app/flow's ActionConfig) and the source for the desktop detail pane's action buttons.
desktop/internal/app/activity
Package activity is the desktop app's user-facing audit log.
Package activity is the desktop app's user-facing audit log.
desktop/internal/app/agentws
Package agentws owns the on-disk agent-workspace root: the directory tree holding mcps.yaml, .shared/, and one directory per workspace (spec §4).
Package agentws owns the on-disk agent-workspace root: the directory tree holding mcps.yaml, .shared/, and one directory per workspace (spec §4).
desktop/internal/app/canvas
Package canvas renders canvas documents for the desktop: the html sanitizer the pane and the export run through, and the markdown export.
Package canvas renders canvas documents for the desktop: the html sanitizer the pane and the export run through, and the markdown export.
desktop/internal/app/configmigrate
Package configmigrate upgrades an older on-disk config document to the version the running build expects, forward-only and one step per version.
Package configmigrate upgrades an older on-disk config document to the version the running build expects, forward-only and one step per version.
desktop/internal/app/data/queries
Package queries is the desktop app's dedicated SQLite store: the event log (event_log/consumer_offset), durable inbox substrate (inbox_item/inbox_event), feed membership claims, output commands, activity events and jobs, and per-node run metrics.
Package queries is the desktop app's dedicated SQLite store: the event log (event_log/consumer_offset), durable inbox substrate (inbox_item/inbox_event), feed membership claims, output commands, activity events and jobs, and per-node run metrics.
desktop/internal/app/dirwatch
Package dirwatch runs a debounced callback when matching files in a directory change.
Package dirwatch runs a debounced callback when matching files in a directory change.
desktop/internal/app/events
Package events is the core's typed publish/subscribe bus.
Package events is the core's typed publish/subscribe bus.
desktop/internal/app/flow
Package flow implements the flows/*.yaml config schema for the desktop pipeline's Node-RED-style graph: a strict decoder, a per-node-type registry, cross-file reference validation, and directory loaders.
Package flow implements the flows/*.yaml config schema for the desktop pipeline's Node-RED-style graph: a strict decoder, a per-node-type registry, cross-file reference validation, and directory loaders.
desktop/internal/app/fonts
Package fonts enumerates the font families installed on this machine so the app's chrome and its terminals can be pointed at one of them.
Package fonts enumerates the font families installed on this machine so the app's chrome and its terminals can be pointed at one of them.
desktop/internal/app/hiveconf
Package hiveconf reads the hive config file the `hive` binary shares.
Package hiveconf reads the hive config file the `hive` binary shares.
desktop/internal/app/hivewatch
Package hivewatch observes hive.db state that another process writes.
Package hivewatch observes hive.db state that another process writes.
desktop/internal/app/icons
Package icons holds the curated glyph set feed rows and sidebar entries draw from.
Package icons holds the curated glyph set feed rows and sidebar entries draw from.
desktop/internal/app/ingest
Package ingest is the pipeline's producer side: the poll loop that turns configured source connectors into event_log rows, and the resolver that turns the current flow set into the connector instances it drives.
Package ingest is the pipeline's producer side: the poll loop that turns configured source connectors into event_log rows, and the resolver that turns the current flow set into the connector instances it drives.
desktop/internal/app/jobs
Package jobs is the desktop app's live action-run lifecycle.
Package jobs is the desktop app's live action-run lifecycle.
desktop/internal/app/mcpcatalog
Package mcpcatalog is the shipped MCP server catalogue: the vocabulary one entry is declared in (Stability, Transport, Server, Descriptor) and the registry that holds every entry.
Package mcpcatalog is the shipped MCP server catalogue: the vocabulary one entry is declared in (Stability, Transport, Server, Descriptor) and the registry that holds every entry.
desktop/internal/app/perf
Package perf records UI performance spans to a size-capped JSONL file for offline analysis.
Package perf records UI performance spans to a size-capped JSONL file for offline analysis.
desktop/internal/app/procstats
Package procstats samples what this install is costing the machine: the desktop process, the processes it parents (a terminal's shell, an agent), and the Go runtime's own view of itself.
Package procstats samples what this install is costing the machine: the desktop process, the processes it parents (a terminal's shell, an agent), and the Go runtime's own view of itself.
desktop/internal/app/profileimg
Package profileimg stores a profile's (flow's) avatar as a normalized square PNG under the app data dir — one file per flow id.
Package profileimg stores a profile's (flow's) avatar as a normalized square PNG under the app data dir — one file per flow id.
desktop/internal/app/prompts
Package prompts owns every paste-ready LLM prompt Hive Desktop offers, and the templates they are composed from.
Package prompts owns every paste-ready LLM prompt Hive Desktop offers, and the templates they are composed from.
desktop/internal/app/ptyterm
Package ptyterm runs ephemeral terminals: this process owns a PTY and the process on the far end of it, with no terminal multiplexer in between.
Package ptyterm runs ephemeral terminals: this process owns a PTY and the process on the far end of it, with no terminal multiplexer in between.
desktop/internal/app/report
Package report builds the two halves of a bug report, which are deliberately not one artifact.
Package report builds the two halves of a bug report, which are deliberately not one artifact.
desktop/internal/app/runtime
Package runtime is the flow engine: it executes one flow over one batch of event-log messages and produces the CommitBatch that batch is worth.
Package runtime is the flow engine: it executes one flow over one batch of event-log messages and produces the CommitBatch that batch is worth.
desktop/internal/app/runtime/js
Package js implements the engine's ScriptRuntime port with goja, a pure-Go ECMAScript interpreter.
Package js implements the engine's ScriptRuntime port with goja, a pure-Go ECMAScript interpreter.
desktop/internal/app/schedule
Package schedule launches recurring agent chats.
Package schedule launches recurring agent chats.
desktop/internal/app/settings
Package settings resolves the desktop app's typed settings and on-disk locations.
Package settings resolves the desktop app's typed settings and on-disk locations.
desktop/internal/app/skills
Package skills renders Hive Desktop's paste-ready prompts in the Agent Skills format: a SKILL.md with YAML frontmatter (name, description) over the prompt text.
Package skills renders Hive Desktop's paste-ready prompts in the Agent Skills format: a SKILL.md with YAML frontmatter (name, description) over the prompt text.
desktop/internal/app/slug
Package slug is the id rule the flow and action schemas share.
Package slug is the id rule the flow and action schemas share.
desktop/internal/app/sourcemark
Package sourcemark stores a source node's custom feed mark as a normalized square PNG under the app data dir, content-addressed by hash.
Package sourcemark stores a source node's custom feed mark as a normalized square PNG under the app data dir, content-addressed by hash.
desktop/internal/app/sources
Package sources is the source connector registry: the one place every connector type is declared, and the lookups the rest of the app resolves a connector through.
Package sources is the source connector registry: the one place every connector type is declared, and the lookups the rest of the app resolves a connector through.
desktop/internal/app/sources/bindingstore
Package bindingstore persists each connected account's non-secret binding — the host, stack, or project a credential was connected to — keyed by credential ref.
Package bindingstore persists each connected account's non-secret binding — the host, stack, or project a credential was connected to — keyed by credential ref.
desktop/internal/app/sources/canonical
Package canonical is the item contract a connector uses when its payload is the canonical item shape itself (ADR canonical-item-contract) rather than a provider's own: the top-level `state` vocabulary, the classifier that maps it to lifecycle, and the rewrite an authoritative snapshot mints for an item that left it.
Package canonical is the item contract a connector uses when its payload is the canonical item shape itself (ADR canonical-item-contract) rather than a provider's own: the top-level `state` vocabulary, the classifier that maps it to lifecycle, and the rewrite an authoritative snapshot mints for an item that left it.
desktop/internal/app/sources/connector
Package connector is the vocabulary a source connector is declared in: the Descriptor that describes one, the Config it parses, and the Instance the app constructs per use.
Package connector is the vocabulary a source connector is declared in: the Descriptor that describes one, the Config it parses, and the Instance the app constructs per use.
desktop/internal/app/sources/exec
Package exec is the command source connector: it runs the user's own command on the poll tick and ingests its stdout as an authoritative snapshot, so a CLI is a first-party source with no external scheduler, no webhook bridge, and no hand-rolled state file.
Package exec is the command source connector: it runs the user's own command on the poll tick and ingests its stdout as an authoritative snapshot, so a CLI is a first-party source with no external scheduler, no webhook bridge, and no hand-rolled state file.
desktop/internal/app/sources/gitea
Package gitea is the Gitea source connector: the config a gitea source node carries, the descriptor declaring what the connector supports, and the instance the producer drains on a tick.
Package gitea is the Gitea source connector: the config a gitea source node carries, the descriptor declaring what the connector supports, and the instance the producer drains on a tick.
desktop/internal/app/sources/gitea/giteaclient
Package giteaclient is the desktop's Gitea/Forgejo REST client: token validation, the issue/PR search, the notification inbox, and the single-issue lookup absence confirmation needs.
Package giteaclient is the desktop's Gitea/Forgejo REST client: token validation, the issue/PR search, the notification inbox, and the single-issue lookup absence confirmation needs.
desktop/internal/app/sources/github
Package github is the GitHub source connector: the config a github source node carries, the descriptor declaring what the connector supports, and the instance the producer drains on a tick.
Package github is the GitHub source connector: the config a github source node carries, the descriptor declaring what the connector supports, and the instance the producer drains on a tick.
desktop/internal/app/sources/github/feed
Package feed is the desktop's GitHub fetch layer: the wire Item type and a cached, coalesced LiveProvider the pipeline producer uses to turn a source into event_log rows.
Package feed is the desktop's GitHub fetch layer: the wire Item type and a cached, coalesced LiveProvider the pipeline producer uses to turn a source into event_log rows.
desktop/internal/app/sources/github/ghclient
Package ghclient is the desktop's own GitHub REST/GraphQL client: in-app authentication (OAuth device flow, PAT validation via User) and the typed API calls the connector needs (batched search, notifications, single-issue hydration).
Package ghclient is the desktop's own GitHub REST/GraphQL client: in-app authentication (OAuth device flow, PAT validation via User) and the typed API calls the connector needs (batched search, notifications, single-issue hydration).
desktop/internal/app/sources/grafana
Package grafana is the Grafana source connector: the metrics and alerts source nodes and the stack auth that connects a stack.
Package grafana is the Grafana source connector: the metrics and alerts source nodes and the stack auth that connects a stack.
desktop/internal/app/sources/grafana/client
Package client is the desktop's Grafana HTTP client: token validation, a PromQL query through the datasource proxy, the firing-alerts list, and the IRM/OnCall alert groups.
Package client is the desktop's Grafana HTTP client: token validation, a PromQL query through the datasource proxy, the firing-alerts list, and the IRM/OnCall alert groups.
desktop/internal/app/sources/itemtext
Package itemtext derives the session text an inbox item suggests: the branch name a session on it would use, and the default prompt the launch dialog opens with.
Package itemtext derives the session text an inbox item suggests: the branch name a session on it would use, and the default prompt the launch dialog opens with.
desktop/internal/app/sources/posthog
Package posthog is the PostHog source connector: the error-tracking and insight-alert source nodes and the project auth that connects a project.
Package posthog is the PostHog source connector: the error-tracking and insight-alert source nodes and the project auth that connects a project.
desktop/internal/app/sources/posthog/client
Package client is the desktop's PostHog HTTP client: project listing (which doubles as token validation), the error-tracking issue query, and the insight-alert list.
Package client is the desktop's PostHog HTTP client: project listing (which doubles as token validation), the error-tracking issue query, and the insight-alert list.
desktop/internal/app/sources/rss
Package rss is the feed source connector: it fetches one RSS, Atom, or JSON Feed URL on the poll tick and ingests its entries as items, so a blog, a release feed, or a status page is a first-party source with no bridge in between.
Package rss is the feed source connector: it fetches one RSS, Atom, or JSON Feed URL on the poll tick and ingests its entries as items, so a blog, a release feed, or a status page is a first-party source with no bridge in between.
desktop/internal/app/sources/sourcehttp
Package sourcehttp is the HTTP toolkit a pull connector's API client is built over: the failure taxonomy, status and rate-limit mapping, conditional requests, and a logging transport.
Package sourcehttp is the HTTP toolkit a pull connector's API client is built over: the failure taxonomy, status and rate-limit mapping, conditional requests, and a logging transport.
desktop/internal/app/sources/webhook
Package webhook is the webhook source connector: the config a webhook source node carries, the descriptor declaring what the connector supports, and the local HTTP listener deliveries arrive on.
Package webhook is the webhook source connector: the config a webhook source node carries, the descriptor declaring what the connector supports, and the local HTTP listener deliveries arrive on.
desktop/internal/app/telemetry
Package telemetry configures the OpenTelemetry and Pyroscope SDKs, registers the OTel providers globally, and owns their shutdown (ADR continuous-profiles-are-pushed-directly-with-pyroscope).
Package telemetry configures the OpenTelemetry and Pyroscope SDKs, registers the OTel providers globally, and owns their shutdown (ADR continuous-profiles-are-pushed-directly-with-pyroscope).
desktop/internal/devproxy
Package devproxy is the contract shared by cmd/desktop/devserver and cmd/desktop/devtools: where the development GitHub proxy listens, and how to tell whether one is already running there.
Package devproxy is the contract shared by cmd/desktop/devserver and cmd/desktop/devtools: where the development GitHub proxy listens, and how to tell whether one is already running there.
desktop/releasenotes
Package releasenotes embeds Hive Desktop's changelog.
Package releasenotes embeds Hive Desktop's changelog.
drive-server command
Command hive-drive-server serves Hive Drive documents to many users.
Command hive-drive-server serves Hive Drive documents to many users.
drive-server/frontend
Package frontend embeds the built web UI.
Package frontend embeds the built web UI.
drive-server/internal/app
Package app wires the drive server: the core services over control.db, the HTTP server, and the plugs manager that runs it.
Package app wires the drive server: the core services over control.db, the HTTP server, and the plugs manager that runs it.
drive-server/internal/config
Package config resolves the drive server's settings.
Package config resolves the drive server's settings.
drive-server/internal/core
Package core holds the drive server's accounts, tokens, and policies.
Package core holds the drive server's accounts, tokens, and policies.
drive-server/internal/guard
Package guard holds the request guards that need no HTTP: a bounded keyed rate limiter and the client-IP rule.
Package guard holds the request guards that need no HTTP: a bounded keyed rate limiter and the client-IP rule.
drive-server/internal/httpapi
Package httpapi is the drive server's HTTP adapter.
Package httpapi is the drive server's HTTP adapter.
drive-server/internal/mail
Package mail sends the outbox: a Mailer drains queued mail through a Sender, either SMTP or a Log sender for development.
Package mail sends the outbox: a Mailer drains queued mail through a Sender, either SMTP or a Log sender for development.
drive-server/internal/store/control
Package control is control.db: accounts, API tokens, sessions, share links, and the mail outbox.
Package control is control.db: accounts, API tokens, sessions, share links, and the mail outbox.
drive-server/internal/store/userdb
Package userdb is the per-user document databases, <data>/users/<id>.db.
Package userdb is the per-user document databases, <data>/users/<id>.db.
drive-server/releasenotes
Package releasenotes embeds the drive server's changelog.
Package releasenotes embeds the drive server's changelog.
hive command
hive/cli
Package cli is the hive command line program.
Package cli is the hive command line program.
hive/internal/app
Package app is the hive CLI's composition root: the engine services plus the pieces only the CLI has (plugins, the command set, sources, its config).
Package app is the hive CLI's composition root: the engine services plus the pieces only the CLI has (plugins, the command set, sources, its config).
hive/internal/config
Package config holds the hive CLI's configuration: the engine sections from internal/config plus the sections only the CLI reads (views, keybindings, user commands, TUI, plugins, sources).
Package config holds the hive CLI's configuration: the engine sections from internal/config plus the sections only the CLI reads (views, keybindings, user commands, TUI, plugins, sources).
hive/internal/kvcache
Package kvcache provides a generic thread-safe key-value store.
Package kvcache provides a generic thread-safe key-value store.
hive/internal/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/internal/plugins/claude
Package claude provides Claude Code integration for Hive.
Package claude provides Claude Code integration for Hive.
hive/internal/plugins/contextdir
Package contextdir provides commands for opening context directories.
Package contextdir provides commands for opening context directories.
hive/internal/plugins/github
Package github provides a GitHub plugin for Hive.
Package github provides a GitHub plugin for Hive.
hive/internal/plugins/lazygit
Package lazygit provides a lazygit plugin for Hive.
Package lazygit provides a lazygit plugin for Hive.
hive/internal/plugins/neovim
Package neovim provides a Neovim plugin for Hive.
Package neovim provides a Neovim plugin for Hive.
hive/internal/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/internal/sources
Package sources defines the domain contract for browsing external systems (GitHub issues, and later Gitea/Grafana/etc.) and mapping a selected item into hive session-creation inputs.
Package sources defines the domain contract for browsing external systems (GitHub issues, and later Gitea/Grafana/etc.) and mapping a selected item into hive session-creation inputs.
hive/internal/sources/cliengine
Package cliengine is the shared execution engine behind hive's CLI-backed sources (GitHub via gh, Gitea/Forgejo via tea).
Package cliengine is the shared execution engine behind hive's CLI-backed sources (GitHub via gh, Gitea/Forgejo via tea).
hive/internal/sources/ghcli
Package ghcli implements hive's built-in GitHub sources as cliengine drivers backed by the gh CLI.
Package ghcli implements hive's built-in GitHub sources as cliengine drivers backed by the gh CLI.
hive/internal/sources/teacli
Package teacli implements hive's built-in Gitea/Forgejo sources as cliengine drivers backed by the tea CLI.
Package teacli implements hive's built-in Gitea/Forgejo sources as cliengine drivers backed by the tea CLI.
hive/internal/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.
hive/internal/theme
Package theme holds the built-in color palettes.
Package theme holds the built-in color palettes.
hive/internal/tui/components
Package components provides reusable TUI components.
Package components provides reusable TUI components.
hive/internal/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.
hive/releasenotes
Package releasenotes embeds the hive CLI's changelog.
Package releasenotes embeds the hive CLI's changelog.
tools/adr command
Command adr manages the architecture decision records in docs/decisions.
Command adr manages the architecture decision records in docs/decisions.
tools/release command
Command release cuts one release of every program in this repository: it manages the release notes, publishes Hive Desktop, tags the shared version, and dispatches the workflow that ships the hive CLI.
Command release cuts one release of every program in this repository: it manages the release notes, publishes Hive Desktop, tags the shared version, and dispatches the workflow that ships the hive CLI.
internal
config
Package config loads and validates the engine sections of hive's config.yaml: the settings the hive engine reads, which both the CLI and Hive Desktop run on.
Package config loads and validates the engine sections of hive's config.yaml: the settings the hive engine reads, which both the CLI and Hive Desktop run on.
domain/agent
Package agent is the catalog of coding agents that hive init and the desktop onboarding offer.
Package agent is the catalog of coding agents that hive init and the desktop onboarding offer.
domain/deeplink
Package deeplink defines hive:// URLs, the public address of a place in Hive Desktop.
Package deeplink defines hive:// URLs, the public address of a place in Hive Desktop.
domain/drive
Package drive models Hive Drive: one document tree under the context root, split into spaces (a repository, a Chats workspace, or the shared space) that hold folders and markdown, html, and canvas documents.
Package drive models Hive Drive: one document tree under the context root, split into spaces (a repository, a Chats workspace, or the shared space) that hold folders and markdown, html, and canvas documents.
domain/messaging
Package messaging provides inter-agent communication via pub/sub topics.
Package messaging provides inter-agent communication via pub/sub topics.
domain/multiplexer
Package multiplexer defines implementation-neutral terminal multiplexer values.
Package multiplexer defines implementation-neutral terminal multiplexer values.
domain/session
Package session defines session domain types and interfaces.
Package session defines session domain types and interfaces.
domain/terminal
Package terminal provides interfaces for terminal multiplexer integrations.
Package terminal provides interfaces for terminal multiplexer integrations.
domain/terminal/assess
Package assess implements Stage 1 of the two-stage status assessment engine: a pure, stateless mapping from one terminal snapshot to one semantic assessment.
Package assess implements Stage 1 of the two-stage status assessment engine: a pure, stateless mapping from one terminal snapshot to one semantic assessment.
domain/terminal/content
Package content scores terminal content for agent-like structure.
Package content scores terminal content for agent-like structure.
domain/terminal/status
Package status implements Stage 2 of the two-stage status assessment engine: a stateful debounce tracker that turns per-poll assess.Assessment values into stable, published terminal.Status values.
Package status implements Stage 2 of the two-stage status assessment engine: a stateful debounce tracker that turns per-poll assess.Assessment values into stable, published terminal.Status values.
domain/validate
Package validate provides shared validation functions.
Package validate provides shared validation functions.
hive
Package hive is the hive engine both programs run on.
Package hive is the hive engine both programs run on.
hive/doctor
Package doctor runs health checks on a hive setup.
Package doctor runs health checks on a hive setup.
hive/drive
Package drive is the Hive Drive service: the document tree under the context root, served from one in-memory snapshot per space.
Package drive is the Hive Drive service: the document tree under the context root, served from one in-memory snapshot per space.
hive/driveremote
Package driveremote copies Hive Drive documents to and from a drive server.
Package driveremote copies Hive Drive documents to and from a drive server.
hive/events
Code generated by gobusgen; DO NOT EDIT.
Code generated by gobusgen; DO NOT EDIT.
hive/events/testbus
Package testbus provides test utilities for the event bus.
Package testbus provides test utilities for the event bus.
hive/gitstatus
Package gitstatus reads the git state of session checkouts: branch, dirty tree, unpushed commits and the line delta against the default branch.
Package gitstatus reads the git state of session checkouts: branch, dirty tree, unpushed commits and the line delta against the default branch.
hive/hc
Package hc is the honeycomb task service.
Package hc is the honeycomb task service.
hive/messaging
Package messaging publishes and reads inter-agent messages.
Package messaging publishes and reads inter-agent messages.
hive/session
Package session is the session service: create, recycle, rename, delete and prune sessions, and spawn their terminals.
Package session is the session service: create, recycle, rename, delete and prune sessions, and spawn their terminals.
hive/session/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).
hive/status
Package status reads agent terminal status for sessions and repositories.
Package status reads agent terminal status for sessions and repositories.
hive/todo
Package todo is the todo service and its creation limiter.
Package todo is the todo service and its creation limiter.
platform/credentials
Package credentials stores provider secrets keyed by Ref{Provider, Account}.
Package credentials stores provider secrets keyed by Ref{Provider, Account}.
platform/driveapi
Package driveapi holds the wire types of the Hive Drive server API, shared by the server and its clients so the two cannot drift.
Package driveapi holds the wire types of the Hive Drive server API, shared by the server and its clients so the two cannot drift.
platform/execenv
Package execenv resolves the environment the app runs subprocesses with, and answers what a variable would hold in the user's terminal.
Package execenv resolves the environment the app runs subprocesses with, and answers what a variable would hold in the user's terminal.
platform/fswatch
Package fswatch watches a directory tree and reports which directories changed.
Package fswatch watches a directory tree and reports which directories changed.
platform/git
Package git provides an abstraction for git operations.
Package git provides an abstraction for git operations.
platform/observe
Package observe is the OpenTelemetry API surface the rest of the app calls.
Package observe is the OpenTelemetry API surface the rest of the app calls.
platform/proc/process
Package process reads OS-level process information for tmux panes.
Package process reads OS-level process information for tmux panes.
platform/promptfile
Package promptfile moves oversized agent prompts out of process arguments.
Package promptfile moves oversized agent prompts out of process arguments.
platform/secrets
Package secrets resolves the credential references config holds in place of credentials themselves.
Package secrets resolves the credential references config holds in place of credentials themselves.
platform/sqlite
Package sqlite opens the SQLite databases hive and Hive Desktop keep, with the DSN and pool settings every caller must agree on.
Package sqlite opens the SQLite databases hive and Hive Desktop keep, with the DSN and pool settings every caller must agree on.
platform/tmux/bin
Package tmuxbin locates the tmux executable and the directory to run it in.
Package tmuxbin locates the tmux executable and the directory to run it in.
platform/tmux/control
Package tmuxcc is a tmux control-mode (`tmux -C`) client: it attaches to one existing tmux session, models that session's windows, streams each window's decoded output, and drives tmux with ordinary commands.
Package tmuxcc is a tmux control-mode (`tmux -C`) client: it attaches to one existing tmux session, models that session's windows, streams each window's decoded output, and drives tmux with ordinary commands.
platform/tmux/exec
Package tmuxexec implements the tmux terminal multiplexer adapter.
Package tmuxexec implements the tmux terminal multiplexer adapter.
platform/tmux/status
Package tmuxstatus implements terminal integration for tmux.
Package tmuxstatus implements terminal integration for tmux.
platform/tmuxtest
Package tmuxtest gives tests that drive a real tmux server one of their own.
Package tmuxtest gives tests that drive a real tmux server one of their own.
releasenotes
Package releasenotes reads the changelog a program ships inside its binary: what changed in each release, what a build carries that no release has yet, and whether the user has seen either.
Package releasenotes reads the changelog a program ships inside its binary: what changed in each release, what a build carries that no release has yet, and whether the user has seen either.
store
Package store is hive.db persistence: one store per aggregate over the sqlc queries in store/db.
Package store is hive.db persistence: one store per aggregate over the sqlc queries in store/db.
store/migrate
Package migrate is a small SQLite migration runner shared across hive's databases.
Package migrate is a small SQLite migration runner shared across hive's databases.
web
Package web holds the HTTP plumbing shared by the JSON APIs in this repo: the error wire shape, build identity, and the version handler.
Package web holds the HTTP plumbing shared by the JSON APIs in this repo: the error wire shape, build identity, and the version handler.
web/extractors
Package extractors decodes and validates request input: Body decodes into a typed struct and runs its Validate method when it has one.
Package extractors decodes and validates request input: Body decodes into a typed struct and runs its Validate method when it has one.
web/mid
Package mid holds the errchain error middleware shared by the JSON APIs.
Package mid holds the errchain error middleware shared by the JSON APIs.
pkg
atomicfile
Package atomicfile replaces files so a reader never sees a partial write.
Package atomicfile replaces files so a reader never sees a partial write.
buildinfo
Package buildinfo reports which build of a hive program is running.
Package buildinfo reports which build of a hive program is running.
duration
Package duration provides a time.Duration that crosses JSON as a Go duration string ("5s") rather than a nanosecond count.
Package duration provides a time.Duration that crosses JSON as a Go duration string ("5s") rather than a nanosecond count.
executil
Package executil provides shell execution utilities.
Package executil provides shell execution utilities.
executil/executiltest
Package executiltest provides a scripted executil.Executor test double.
Package executiltest provides a scripted executil.Executor test double.
fsx
Package fsx holds file system helpers the standard library leaves to each platform.
Package fsx holds file system helpers the standard library leaves to each platform.
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
osopen
Package osopen opens files and directories in the host OS's default application or file manager.
Package osopen opens files and directories in the host OS's default application or file manager.
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