Beads Workflow
Beads is an AI-native issue tracker designed for agent workflows. Issues live in your repo, sync via git, and require no web UI.
Core Commands
| Command |
Description |
bd create "Title" -t feature -p 2 |
Create issue (type, priority) |
bd list --status open |
List open issues |
bd show <id> |
View issue details |
bd update <id> --status in_progress |
Update status or assignee |
bd close <id> --reason "..." |
Close with reason |
bd ready --sort hybrid |
Find unblocked issues |
bd dep add <blocking> <blocked> --type blocks |
Add dependency |
bd dep tree <id> |
View dependency tree |
bd dep rm <blocking> <blocked> |
Remove dependency |
bd sync |
Sync with git remote |
bd flush |
Force flush to JSONL |
Workflow Patterns
Starting a Session
- Check ready work:
bd ready --sort hybrid
- Claim an issue:
bd update <id> --status in_progress
- Review dependencies:
bd dep tree <id>
- Begin implementation
During Implementation
- Track sub-tasks:
bd create "Sub-task" --parent <id>
- Add blockers:
bd dep add <new-blocker> <id> --type blocks
- Update progress:
bd comment <id> "Progress update"
Completing Work
- Verify completion: All acceptance criteria met
- Close issue:
bd close <id> --reason "Implemented X, PR #123"
- Sync:
bd sync
- Check next:
bd ready
Multi-Agent Coordination
# See who's working on what
bd list --status in_progress --json | jq '.[] | {id, title, assignee}'
# Hand off work
bd update <id> --assignee other-agent
bd comment <id> "Handoff: context and next steps"
Issue Types
| Type |
When to Use |
feature |
New functionality |
bug |
Defect fixes |
task |
General work items |
spike |
Research/investigation |
chore |
Maintenance, cleanup |
Priority Levels
| Priority |
Meaning |
| 0 |
Critical - Drop everything |
| 1 |
High - Next up |
| 2 |
Medium - Normal flow |
| 3 |
Low - When time permits |
| 4 |
Backlog - Future consideration |
Status Flow
open -> in_progress -> done
|-> blocked -> in_progress
Best Practices
- One issue per logical unit: Don't combine unrelated work
- Clear titles: Should explain what, not how
- Use dependencies: Makes ready work visible
- Sync frequently: Keep other agents informed
- Close promptly: Don't leave stale in_progress issues
Integration with Swarm
- Claim before editing: Update status before touching code
- Document blockers: Create issues for discovered blockers
- Handoff cleanly: Update assignee and add context
- Sync before ending:
bd sync to share state
Troubleshooting
# Check daemon health
bd daemons health
# View daemon logs
bd daemons logs
# Force reimport from JSONL
bd import --force
# Check for conflicts
bd sync --dry-run