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:Architecture
Storage Layer
Dolt database in
.beads/dolt/ provides version-controlled SQL storage with automatic commits and native sync.How It Works
- Initialize in your project:
bd init - Create issues with dependencies:
bd create "Task" --deps bd-123 - Find ready work:
bd readyshows unblocked tasks - Claim and work:
bd update bd-456 --claim - Complete:
bd close bd-456 --reason "Done" - Sync:
bd dolt pushsends 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
- 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