id = "atmos"
name = "Atmos"
homepage = "https://atmos.tools/"
description = "Universal Tool for DevOps and Cloud Automation"
executables = ["atmos"]
[dotfiles]
paths = [
"~/.atmos/atmos.yaml",
"[configHome]/atmos/atmos.yaml",
"%LOCALAPPDATA%/atmos/atmos.yaml",
]
secret = []
[commands]
format = 1
label = "Atmos"
description = "Plan an Atmos Terraform component in a stack. Other Atmos commands and passthrough Terraform flags are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["terraform", "plan"]
label = "Terraform plan"
description = "Generate an execution plan for a component in a stack; the plan is saved to a planfile unless skipped."
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://github.com/cloudposse/atmos/blob/main/website/docs/cli/commands/terraform/terraform-plan.mdx"
revision = "main 2026-10-27"
evidence = """
atmos terraform plan <component> -s <stack> [options]
<dt>`--stack` / `-s` <em>(required)</em></dt>
<dt>`--skip-planfile` <em>(optional)</em></dt>
Skip writing the plan to a file. When set, Atmos will not pass the `-out` flag to Terraform.
<dt>`--affected` <em>(optional)</em></dt>
<dt>`--all` <em>(optional)</em></dt>
<dt>`--dry-run` <em>(optional)</em></dt>
<dt>`--skip-init` <em>(optional)</em></dt>
"""
[[commands.subcommand.field]]
id = "component"
label = "Component"
type = "string"
position = 0
sources = ["docs"]
[[commands.subcommand.field]]
id = "stack"
label = "Stack"
type = "string"
option = ["--stack", "-s"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "skip_planfile"
label = "Do not write a planfile"
type = "boolean"
option = ["--skip-planfile"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "affected"
label = "Only affected components"
type = "boolean"
option = ["--affected"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "all"
label = "All components"
type = "boolean"
option = ["--all"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run"
type = "boolean"
option = ["--dry-run"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "skip_init"
label = "Skip init"
type = "boolean"
option = ["--skip-init"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "plan"
label = "Plan one component"
fields = ["component", "stack", "skip_planfile", "skip_init"]
required = ["component", "stack"]
[[commands.subcommand.task]]
id = "plan-affected"
label = "Plan affected components"
set = { affected = [true] }
lock = ["affected"]
fields = ["stack", "affected", "dry_run"]
required = ["stack"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["component", "stack"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["affected", "all", "skip_planfile", "skip_init", "dry_run"]