Skip to main content

What is Beads?

Beads (bd) is a distributed, git-backed issue tracker designed specifically for AI-supervised coding workflows. It replaces messy markdown TODO lists with a dependency-aware graph database, allowing AI agents to handle long-horizon tasks without losing context.

The Problem

AI coding agents struggle with long-running projects because they:
  • Lose context between sessions
  • Can’t track dependencies between tasks
  • Create messy markdown TODO lists that become outdated
  • Have no way to coordinate work across multiple agents or branches

The Solution

Beads provides persistent, structured memory for coding agents:

Dependency-Aware

Track blockers and relationships between issues. Only show work that’s ready to be done.

Git-Friendly

Dolt-powered version control with cell-level merge and native sync. Works seamlessly with branches and forks.

Zero Conflicts

Hash-based IDs (bd-a1b2) prevent collisions when multiple agents or branches work concurrently.

Agent-Optimized

JSON output, ready work detection, and automatic dependency tracking designed for AI workflows.

Key Features

Dolt-Powered Storage

Beads uses Dolt as its storage backend - a version-controlled SQL database:
  • Version control built-in: Every write auto-commits to Dolt history
  • Cell-level merge: Smarter conflict resolution than file-based systems
  • Native sync: Push/pull to Dolt remotes (DoltHub, S3, GCS, etc.)
  • SQL queries: Full SQL access for custom reporting and analysis

Hash-Based IDs

Issue IDs are content-based hashes (e.g., bd-a1b2, bd-f14c) that prevent collisions:

Hierarchical Organization

Organize large features with epic/task/subtask hierarchies:

Dependency Tracking

Four types of relationships:
  • blocks: Task B can’t start until A is done
  • parent-child: Hierarchical organization (epics → tasks → subtasks)
  • relates_to: General association between issues
  • discovered-from: Track work discovered during implementation

Ready Work Detection

Beads automatically identifies which tasks are ready to work on:
Blocked issues won’t appear until their dependencies are resolved.

Architecture

1

Storage Layer

Dolt database in .beads/dolt/ provides version-controlled SQL storage with automatic commits and native sync.
2

CLI Layer

The bd command provides a rich CLI interface with JSON output for programmatic access.
3

Git Integration

Optional git hooks auto-sync the database on git operations (pull, push, checkout, merge).

How It Works

  1. Initialize in your project: bd init
  2. Create issues with dependencies: bd create "Task" --deps bd-123
  3. Find ready work: bd ready shows unblocked tasks
  4. Claim and work: bd update bd-456 --claim
  5. Complete: bd close bd-456 --reason "Done"
  6. Sync: bd dolt push sends to remote (or use git hooks for auto-sync)

Use Cases

AI Agent Workflows

Multi-Branch Development

Hash-based IDs prevent merge conflicts:

Contributor vs Maintainer Modes

Maintainers (with push access):
  • Issues stored in-repo at .beads/
  • Shared with team via git
Contributors (fork workflow):
  • Issues routed to separate planning repo
  • Keeps experimental work out of PRs
  • Set via bd init --contributor

Platforms

Beads works on:
  • macOS
  • Linux
  • Windows
  • FreeBSD

Next Steps

Quickstart

Get up and running in 2 minutes

Installation

Install via Homebrew, npm, Go, or shell script