Beads Workflow Context
Guides when to use bd graph-based issue tracker versus TodoWrite for session vs multi-session work, with commands and workflows.
What this file does
Guides when to use bd graph-based issue tracker versus TodoWrite for session vs multi-session work, with commands and workflows.
When to use it
- Deciding between persistent issue tracking and simple task lists
- Onboarding to a project using bd for dependency management
- Learning bd CLI commands for creating, updating, and closing issues
- Setting up workflows for multi-session knowledge work with blockers
Assumes this stack
Beads Workflow Context
bd is a graph-based issue tracker for persistent memory across sessions. Use for multi-session work with complex dependencies; use TodoWrite for simple single-session tasks.
When to Use bd vs TodoWrite
Use bd when:
- Multi-session work - Tasks spanning multiple compaction cycles or days
- Complex dependencies - Work with blockers, prerequisites, or hierarchical structure
- Knowledge work - Strategic documents, research, or tasks with fuzzy boundaries
- Side quests - Exploratory work that might pause the main task
- Project memory - Need to resume work after weeks away with full context
Use TodoWrite when:
- Single-session tasks - Work that completes within current session
- Linear execution - Straightforward step-by-step tasks with no branching
- Immediate context - All information already in conversation
- Simple tracking - Just need a checklist to show progress
Key insight: If resuming work after 2 weeks would be difficult without bd, use bd. If the work can be picked up from a markdown skim, TodoWrite is sufficient.
Test Yourself: bd or TodoWrite?
Ask these questions to decide:
Choose bd if:
- ❓ "Will I need this context in 2 weeks?" → Yes = bd
- ❓ "Could conversation history get compacted?" → Yes = bd
- ❓ "Does this have blockers/dependencies?" → Yes = bd
- ❓ "Is this fuzzy/exploratory work?" → Yes = bd
Choose TodoWrite if:
- ❓ "Will this be done in this session?" → Yes = TodoWrite
- ❓ "Is this just a task list for me right now?" → Yes = TodoWrite
- ❓ "Is this linear with no branching?" → Yes = TodoWrite
When in doubt: Use bd. Better to have persistent memory you don't need than to lose context you needed.
Essential Commands
Finding Work
bd ready- Show issues ready to work (no blockers)bd list --status=open- All open issuesbd list --status=in_progress- Your active workbd show <id>- Detailed issue view with dependencies
Creating & Updating
bd create --title="..." --type=task|bug|feature- New issuebd update <id> --status=in_progress- Claim workbd update <id> --assignee=username- Assign to someonebd close <id>- Mark completebd close <id1> <id2> ...- Close multiple issues at once (more efficient)bd close <id> --reason="explanation"- Close with reason
Dependencies & Blocking
bd dep add <issue> <depends-on>- Add dependency (issue depends on depends-on)bd blocked- Show all blocked issuesbd show <id>- See what's blocking/blocked by this issue
Common Workflows
Starting work:
bd ready # Find available work
bd show <id> # Review issue details
bd update <id> --status=in_progress # Claim it
Completing work:
bd close <id1> <id2> ... # Close all completed issues at once
Creating dependent work:
# Run bd create commands in parallel (use subagents for many items)
bd create --title="Implement feature X" --type=feature
bd create --title="Write tests for X" --type=task
bd dep add beads-yyy beads-xxx # Tests depend on Feature (Feature blocks tests)
What's inside
3 decision sections, 4 command groups, 3 workflow examples, 1 self-test with 7 questions
Change this for your project
- Replace
bdwith your own issue tracker CLI name if different - Replace
beads-yyy beads-xxxin dependency example with your project's issue IDs - Replace
usernamein assignee command with actual usernames
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Decision matrix with concrete questions to choose between tools
- Grouping commands by workflow phase (finding, creating, completing)
Related Documents
Zig 0.16.0 Context Document for LLMs
Documents breaking changes from Zig 0.13/0.14 to 0.16.0, covering syntax, I/O, build system, and standard library updates.
绘制对比图片 KITTI
Documents the topic remapping and data flow needed to connect Fast-LIO2 frontend with SC-PGO backend for KITTI evaluation.
EPIC: usda-data-crush-stats
Maps a multi-year USDA grape crush data pipeline from raw downloads through bronze, silver, and gold layers to final CSV fact and dimension tables.