Skip to main content

Issues & Dependencies

Understanding the issue model in beads.

Issue Structure

Every issue has:

bd show bd-42 --json
{
"id": "bd-42",
"title": "Implement authentication",
"description": "Add JWT-based auth",
"type": "feature",
"status": "open",
"priority": 1,
"labels": ["backend", "security"],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}

Issue Types

TypeUse Case
bugSomething broken that needs fixing
featureNew functionality
taskWork item (tests, docs, refactoring)
epicLarge feature with subtasks
choreMaintenance (dependencies, tooling)

Priorities

PriorityLevelExamples
0CriticalSecurity, data loss, broken builds
1HighMajor features, important bugs
2MediumNice-to-have features, minor bugs
3LowPolish, optimization
4BacklogFuture ideas

Creating Issues

# Basic issue
bd create "Fix login bug" -t bug -p 1

# With description
bd create "Add password reset" \
--description="Users need to reset forgotten passwords via email" \
-t feature -p 2

# With labels
bd create "Update dependencies" -t chore -l "maintenance,security"

# JSON output for agents
bd create "Task" -t task --json

Dependencies

Blocking Dependencies

The blocks relationship affects the ready queue:

# Add dependency: bd-2 depends on bd-1
bd dep add bd-2 bd-1

# View dependencies
bd dep tree bd-2

# See blocked issues
bd blocked

# See ready work (not blocked)
bd ready

Structural Relationships

These don't affect the ready queue:

# Parent-child (epic subtasks)
bd create "Epic" -t epic
bd create "Subtask" --parent bd-42

# Discovered-from (found during work)
bd create "Found bug" --deps discovered-from:bd-42

# Related (soft link)
bd relate bd-1 bd-2

Dependency Types

TypeDescriptionReady Queue Impact
blocksHard dependencyYes - blocked items not ready
parent-childEpic/subtask hierarchyNo
discovered-fromTracks origin of discoveryNo
relatedSoft relationshipNo

Hierarchical Issues

For large features, use hierarchical IDs:

# Create epic
bd create "Auth System" -t epic -p 1
# Returns: bd-a3f8e9

# Child tasks auto-number
bd create "Design login UI" --parent bd-a3f8e9 # bd-a3f8e9.1
bd create "Backend validation" --parent bd-a3f8e9 # bd-a3f8e9.2

# View hierarchy
bd dep tree bd-a3f8e9

Updating Issues

# Change status
bd update bd-42 --status in_progress

# Change priority
bd update bd-42 --priority 0

# Add labels
bd update bd-42 --add-label urgent

# Multiple changes
bd update bd-42 --status in_progress --priority 1 --add-label "in-review"

Closing Issues

# Simple close
bd close bd-42

# With reason
bd close bd-42 --reason "Implemented in PR #123"

# JSON output
bd close bd-42 --json

Searching and Filtering

# By status
bd list --status open
bd list --status in_progress

# By priority
bd list --priority 1
bd list --priority 0,1 # Multiple

# By type
bd list --type bug
bd list --type feature,task

# By label
bd list --label-any urgent,critical
bd list --label-all backend,security

# Combined filters
bd list --status open --priority 1 --type bug --json