atmos list dependencies
Use this command to visualize the dependency relationships between Atmos components across stacks. By default it renders a tree showing both directions for every component — what each component depends on, and what depends on it. Dependencies are read from both dependencies.components (preferred) and the legacy settings.depends_on, so the output stays consistent with atmos describe dependents.
Usage
Execute the list dependencies command like this:
atmos list dependencies
Focus on a single component in a stack by passing the component as a positional argument:
atmos list dependencies <component> --stack <stack>
Run atmos list dependencies --help to see all the available options.
Examples
List dependencies for every component (tree, both directions):
atmos list dependencies
Limit to a single stack:
atmos list dependencies --stack plat-ue2-dev
Focus on a single component:
atmos list dependencies vpc --stack plat-ue2-dev
Show only one direction:
# What the component depends on (its prerequisites)
atmos list dependencies vpc --stack plat-ue2-dev --direction forward
# What depends on the component (its dependents)
atmos list dependencies vpc --stack plat-ue2-dev --direction reverse
Output as structured data:
# JSON
atmos list dependencies --format json
# YAML
atmos list dependencies --format yaml
Tree Output
The default tree format keeps stack context next to the component dependency
tree. The Component column carries the hierarchy, while Type is secondary
metadata on the right. Repeated metadata is omitted on child rows unless the
stack or type changes.
Dependencies
Stack Component Type
plat-ue2-dev app-config terraform
├──depends on ↓
│ ├──▶ dynamodb-table
│ └──▶ kms-key
└──required by ↑
└──(none)
plat-ue2-dev kms-key terraform
├──depends on ↓
│ └──(none)
└──required by ↑
└──◀ app-config
The filled triangle marker shows edge direction:
▶marks a forward dependency edge: the selected component depends on that child.◀marks a reverse dependency edge: that child depends on the selected component.
When you select a single direction with --direction forward or
--direction reverse, the dependency subtree is attached directly under each
component (no depends on / required by branch labels).
Circular dependencies are detected and marked with (circular reference) so the
tree always terminates instead of recursing forever — unlike the execution
dependency graph used by terraform --affected, this command tolerates cycles so
they can be inspected.
Levels Output
The levels format shows each component's shortest dependency-graph distance
from the selected root(s). It lists every reachable component ordered by distance:
Level Stack Component Type
0 plat-ue2-dev app terraform
1 plat-ue2-dev database terraform
1 plat-ue2-dev vpc terraform
2 plat-ue2-dev kms-key terraform
With --direction forward, each level is a deployment prerequisite distance.
--direction reverse follows dependents. With the default --direction both,
Level is the shortest path in either direction. Components selected by
the positional component argument, --stack, --tags, or --labels start
at level 0.