[[command]]
name = "terragrunt"
description = "Terragrunt — thin wrapper around Terraform that adds DRY configurations and workspace orchestration. Each invocation downloads modules (network) and shells out to terraform/opentofu, which can read state, fetch providers, and apply infrastructure changes (external system writes). Carve-out covers diagnostic forms only — `--version`, `terragrunt-info`, `terragrunt-help`, `validate-inputs` — and the more-targeted subcommands stay candidates."
url = "https://terragrunt.gruntwork.io/"
researched_version = "terragrunt 0.x"
bare_flags = ["--help", "--version", "-h"]

[[command.sub]]
name = "terragrunt-info"
level = "SafeRead"
bare = true
standalone = ["--help", "-h"]

[[command.sub]]
name = "validate-inputs"
level = "SafeRead"
bare = true
standalone = ["--help", "--strict", "-h"]

[[command.sub]]
name = "graph-dependencies"
level = "SafeRead"
bare = true
standalone = ["--help", "-h"]

[[command.sub]]
name = "render-json"
level = "SafeRead"
bare = true
standalone = ["--help", "--with-metadata", "-h"]
valued = ["--out"]
write_flags = ["--out"]

[[command.sub]]
name = "version"
standalone = ["--help", "-h"]

[[command.sub]]
name = "help"
allow_all = true

[[command.sub]]
name = "run-all"
candidate = true

[[command.sub]]
name = "run"
candidate = true

[[command.sub]]
name = "init"
candidate = true

[[command.sub]]
name = "validate"
candidate = true

[[command.sub]]
name = "plan"
candidate = true

[[command.sub]]
name = "apply"
candidate = true

[[command.sub]]
name = "destroy"
candidate = true

[[command.sub]]
name = "import"
candidate = true

[[command.sub]]
name = "output"
candidate = true

[[command.sub]]
name = "show"
candidate = true

[[command.sub]]
name = "state"
candidate = true

[[command.sub]]
name = "console"
candidate = true

[[command.sub]]
name = "force-unlock"
candidate = true

[[command.sub]]
name = "hclfmt"
candidate = true

[[command.sub]]
name = "aws-providers-to-tags"
candidate = true

[[command.sub]]
name = "graph"
candidate = true

[[command.sub]]
name = "scaffold"
candidate = true

[[command.sub]]
name = "catalog"
candidate = true
