name: bd-workflow description: How to use bd (beads) for issue tracking, ready work, status updates, and comments in this repo.
bd (beads) Workflow Guide
This document expands the abbreviated rules in AGENTS.md. Read this whenever you interact with task tracking, planning docs, or MCP helpers.
Why bd?
- Dependency-aware: track blockers, dependents, and discovered-from links.
- Git-friendly: bd auto-syncs to
.beads/issues.jsonl, so repos capture task history. - Agent-optimized: machine-readable JSON output (
--json) plus "ready" filtering. - Single source of truth: prevents duplicate trackers, markdown TODOs, or ad-hoc spreadsheets.
Quick Start Commands
bd ready --json -n 0 # find unblocked work
bd create "Issue title" -t task -p 2 --json
bd update bd-42 --status in_progress --json
bd close bd-42 --reason "Completed" --json
Always run bd with --json. Pipe/parse as needed.
Issue Types & Priorities
- Types:
bug,feature,task,epic,chore. - Priorities:
0(critical) through4(backlog). Respect existing priority unless the PM/user changes it.
Workflow for AI Agents
- Check ready work with
bd ready --json -n 0. Do this before asking what to work on. - Claim the task:
bd update <id> --status in_progress --json(add notes if relevant). - Implement / test / document the change.
- Discover new work? Create a linked issue (e.g.,
bd create "Fix follow-up" -p 1 --deps discovered-from:<parent> --json). - Complete the task via
bd close <id> --reason "Completed" --jsonwhen the PR merges. - Commit
.beads/issues.jsonlalongside code. Never leave tracker changes uncommitted.
Auto-Sync Behavior
- bd exports to
.beads/issues.jsonlautomatically (5s debounce) after changes. - After
git pull, bd imports newer JSONL back into the local state. No manual sync needed.
MCP Integration (Optional)
- Install:
pip install beads-mcp. - Add to
~/.config/claude/config.json:
{
"beads": {
"command": "beads-mcp",
"args": []
}
}
- Use
mcp__beads__*calls instead of the CLI if your client supports MCP.
Planning Document Hygiene
AI-generated planning/design docs should live under history/ (add it to .gitignore if desired). Keeping the repo root clean avoids confusing ephemeral plans with durable docs.
Important Rules (Do & Don't)
- ✅ Use bd for all task tracking.
- ✅ Include discovered-from dependencies to show provenance.
- ✅ Keep
.beads/issues.jsonlin every relevant commit. - ✅ Store planning docs in
history/. - ❌ No markdown TODO lists or alternative trackers.
- ❌ No forgetting
--json. - ❌ No cluttering the repo root with temporary planning files.
Need More Context?
See README.md / QUICKSTART.md for broader project background, but treat bd as the authoritative view of work.