{
  "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
    },
    "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.",
        "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]\n    <dt>`--stack` / `-s` <em>(required)</em></dt>\n    <dt>`--skip-planfile` <em>(optional)</em></dt>\n        Skip writing the plan to a file. When set, Atmos will not pass the `-out` flag to Terraform.\n    <dt>`--affected` <em>(optional)</em></dt>\n    <dt>`--all` <em>(optional)</em></dt>\n    <dt>`--dry-run` <em>(optional)</em></dt>\n    <dt>`--skip-init` <em>(optional)</em></dt>\n"
          }
        ],
        "field": [
          {
            "id": "component",
            "label": "Component",
            "type": "string",
            "position": 0,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "stack",
            "label": "Stack",
            "type": "string",
            "option": [
              "--stack",
              "-s"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "skip_planfile",
            "label": "Do not write a planfile",
            "type": "boolean",
            "option": [
              "--skip-planfile"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "affected",
            "label": "Only affected components",
            "type": "boolean",
            "option": [
              "--affected"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "all",
            "label": "All components",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run",
            "type": "boolean",
            "option": [
              "--dry-run"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "skip_init",
            "label": "Skip init",
            "type": "boolean",
            "option": [
              "--skip-init"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "plan",
            "label": "Plan one component",
            "fields": [
              "component",
              "stack",
              "skip_planfile",
              "skip_init"
            ],
            "required": [
              "component",
              "stack"
            ]
          },
          {
            "id": "plan-affected",
            "label": "Plan affected components",
            "set": {
              "affected": [
                true
              ]
            },
            "lock": [
              "affected"
            ],
            "fields": [
              "stack",
              "affected",
              "dry_run"
            ],
            "required": [
              "stack"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "component",
              "stack"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "affected",
              "all",
              "skip_planfile",
              "skip_init",
              "dry_run"
            ]
          }
        ]
      }
    ]
  }
}
