Skip to main content
Dependencies define the relationships between issues in your project. When issue B depends on issue A, B is blocked until A is completed. tk uses these relationships to power graph analytics, prioritization, and execution planning.

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

Sample output:
Closed dependencies show a checkmark. Only open dependencies block progress.

Graph Analytics


Dependency Best Practices

Only add dependencies that are truly blocking. Over-specifying dependencies reduces parallelization opportunities.
tk detects cycles but can’t resolve them. If A depends on B and B depends on A, neither can be completed.
Don’t make subtasks depend on the epic. Use parent field instead:
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:

Graph Analytics

Deep dive into how tk uses graph algorithms for prioritization.

Common Patterns

Feature Development

Bug Fix with Test

Epic Breakdown


Troubleshooting

Use tk dep cycles to find the cycle, then remove one dependency to break it.
Run tk triage to find high-impact blockers. Clear these first to unblock the most work.
Ensure the dependency ID matches exactly. IDs are case-sensitive and include the tk- prefix.

Next Steps

Stacks

Learn about linear dependency chains.

Graph Analytics

Understand priority scoring and bottleneck detection.

CLI Reference

Full command reference for dependency management.

Quickstart

Get started with tk in 60 seconds.