Defining Dependencies
Using the CLI
In Issue Files
Dependencies are listed in the YAML frontmatter:Dependencies reference issue IDs. The ID is the filename without the
.md extension.Dependency Types
Direct vs Transitive
- Direct dependencies: Issues explicitly listed in
deps - Transitive dependencies: Issues blocked through a chain
Blockers vs Blocked
- Blockers: Issues that must complete first (
deps) - Blocked by this: Issues waiting for this to complete
Visualizing Dependencies
Dependency Tree
Graph Analytics
Dependency Best Practices
Keep dependencies minimal
Keep dependencies minimal
Only add dependencies that are truly blocking. Over-specifying dependencies reduces parallelization opportunities.
Avoid circular dependencies
Avoid circular dependencies
tk detects cycles but can’t resolve them. If A depends on B and B depends on A, neither can be completed.
Use epics for grouping, not blocking
Use epics for grouping, not blocking
Don’t make subtasks depend on the epic. Use
parent field instead:Break large dependencies
Break large dependencies
If issue A depends on 10 things from issue B, B might be too large. Consider splitting B into smaller pieces.
Working with Blocked Issues
Finding Ready Work
Issues with no open blockers are “ready”:Unblocking Work
When you complete an issue, dependents become unblocked:Handling Blocked Issues
Linear Chains (Stacks)
When issues form a linear chain of dependencies, tk recognizes them as stacks: Stacks are useful for:- Incremental feature development
- Coordinated code reviews
- Merge queue ordering
Learn about Stacks
See how tk detects and works with linear dependency chains.
Graph Analytics on Dependencies
tk analyzes your dependency graph to provide intelligent recommendations:| Analysis | What it shows |
|---|---|
| PageRank | Issues blocking the most downstream work |
| Critical Path | Longest chain determining minimum timeline |
| Betweenness | Bottleneck issues appearing in many paths |
Graph Analytics
Deep dive into how tk uses graph algorithms for prioritization.
Common Patterns
Feature Development
Bug Fix with Test
Epic Breakdown
Troubleshooting
Circular dependency detected
Circular dependency detected
Use
tk dep cycles to find the cycle, then remove one dependency to break it.Too many blocked issues
Too many blocked issues
Run
tk triage to find high-impact blockers. Clear these first to unblock the most work.Dependency not recognized
Dependency not recognized
Ensure the dependency ID matches exactly. IDs are case-sensitive and include the
tk- prefix.