Overview
Display a visualization of issue dependency graphs. Shows execution order, blocking relationships, and parallel work opportunities.Syntax
Display Formats
Default: Terminal DAG
Box-drawing characters with columns showing execution order:Box Format
ASCII boxes grouped by layer:Compact Format
Tree format, one line per issue, most scannable:Graphviz DOT
Export to DOT format for rendering with Graphviz:Interactive HTML
Self-contained HTML with D3.js visualization:Graph Interpretation
Execution Order
The graph shows topological ordering:- Layer 0 / Leftmost: No dependencies, can start immediately
- Higher layers: Depend on lower layers
- Same layer: Can run in parallel
Status Icons
Icons indicate issue state:○open◐in_progress●blocked✓closed❄deferred
Relationships
The graph shows:- Blocking dependencies: Arrows from blocker to blocked
- Parent-child: Epic/subtask hierarchies
- Connected components: Issues grouped by dependency relationships
Flags
| Flag | Description |
|---|---|
--all | Show graph for all open issues |
--compact | Tree format, one line per issue |
--box | ASCII boxes showing layers |
--dot | Graphviz DOT format |
--html | Self-contained interactive HTML |
--json | Output JSON format |
Examples
Visualize Epic Dependencies
For an epic with multiple subtasks:View All Open Issues
See connected components of all open work:Generate SVG Diagram
Create a visual diagram for documentation:Interactive Browser View
Create interactive HTML with zoom and pan:Compact Tree View
Quick scannable overview:Check for Parallel Work
Identify tasks that can run simultaneously:When to Use Graph
Usebd graph when:
- Planning work: Identify parallel work opportunities
- Understanding blockers: See what’s blocking critical work
- Reviewing epic scope: Visualize all subtasks and dependencies
- Communicating status: Share visual diagrams with stakeholders
- Finding ready work: Layer 0 shows unblocked tasks
Graph Types
Single Issue Mode
For a specific issue:- Shows the issue and all connected issues
- Traverses both directions (dependencies AND dependents)
- Includes all dependency types (blocks, parent-child, related)
All Issues Mode (—all)
For all open issues:- Groups issues by connected components
- Shows multiple subgraphs if work is disconnected
- Sorted by size (largest first) and priority
- Each component chooses best “root” (epics preferred)
Understanding Layers
Layer Assignment
Layers are computed using topological sort:- Layer 0: Issues with no blocking dependencies
- Layer N: Issues that depend on Layer N-1
- Parent-child lifting: Children appear in same layer as blocked parent
Parallel Work Detection
Issues in the same layer:- Have no dependencies between them
- Can be worked on simultaneously
- May still share a common parent (epic)
Critical Path
The longest path from Layer 0 to completion:- Determines minimum project duration
- Issues on this path are bottlenecks
- Prioritize resolving blockers on critical path
Troubleshooting
”Issue not found”
Cause: Invalid issue ID Solution: Verify ID withbd list or bd show <id>
Graph is empty
Cause: Issue has no dependencies or dependents Solution:- This is normal for independent issues
- Use
--allto see other work - Add dependencies with
bd deps add
Too many issues in —all mode
Cause: Large project with many open issues Solution:- Filter to specific epic:
bd graph epic-id - Use
--compactfor more scannable output - Use
--htmlfor interactive exploration
Graphviz command not found
Cause: Graphviz not installed Solution: Install with package manager:Related Commands
bd deps- Manage dependencies directlybd ready- Find unblocked work (Layer 0)bd blocked- Show blocked issues and blockersbd list- List issues with blocker annotations