id = "terramate" name = "Terramate" homepage = "https://terramate.io/docs/cli/reference/configuration/" description = "An infrastructure-as-code orchestration and code-generation CLI." executables = ["terramate"] [dotfiles] # The official CLI reference documents the per-user HCL file as .terramaterc # on Unix and terramate.rc under %APPDATA% on Windows. # https://terramate.io/docs/cli/reference/cmdline/ paths = ["~/.terramaterc", "%APPDATA%/terramate.rc"] # `terramate cloud login` stores id_token and refresh_token in this JSON file; # those are credentials, not portable settings. # https://terramate.io/docs/cli/reference/cmdline/cloud/ secret = [ "~/.terramate.d/credentials.tmrc.json", "%APPDATA%/.terramate.d/credentials.tmrc.json", ] side_effect = false # user_terramate_dir is an absolute path selected by the user for the local # credential/state directory, so preserve it as machine-specific rebuild data. [[dotfiles.machine_lines]] file = ["~/.terramaterc", "%APPDATA%/terramate.rc"] match = { prefix = ["user_terramate_dir"] } scope = "backup" [commands] format = 1 label = "Terramate" description = "Run a command in Terramate stacks, or list stacks. Terramate Cloud sync options, dependency selection and target options are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["run"] label = "Run a command in stacks" description = "Execute a command in each selected stack. The command goes after --; use Dry run to only plan the execution." [[commands.subcommand.source]] id = "run-docs" kind = "manual" url = "https://terramate.io/docs/cli/cmdline/run" revision = "2026-10-27" evidence = """ terramate run terraform apply terramate run --changed --parallel 5 -- --continue-on-error Do not stop execution when an error occurs. --dry-run Plan the execution but do not execute it. --reverse Reverse the order of execution. --parallel , -j Run independent stacks in parallel. --changed, -c --tags --no-tags """ [[commands.subcommand.field]] id = "command" label = "Command and arguments" description = "The command to run in each stack, for example terraform plan." type = "string" position = 0 multiple = true sources = ["run-docs"] [[commands.subcommand.field]] id = "changed" label = "Only changed stacks" type = "boolean" option = ["--changed", "-c"] sources = ["run-docs"] [[commands.subcommand.field]] id = "parallel" label = "Parallel stacks" type = "integer" option = ["--parallel", "-j"] sources = ["run-docs"] [[commands.subcommand.field]] id = "dry_run" label = "Dry run" description = "Plan the execution but do not execute it." type = "boolean" option = ["--dry-run"] sources = ["run-docs"] [[commands.subcommand.field]] id = "continue_on_error" label = "Continue on error" type = "boolean" option = ["--continue-on-error"] sources = ["run-docs"] [[commands.subcommand.field]] id = "reverse" label = "Reverse order" type = "boolean" option = ["--reverse"] sources = ["run-docs"] [[commands.subcommand.field]] id = "tags" label = "Tags filter" type = "string" option = ["--tags"] sources = ["run-docs"] [[commands.subcommand.field]] id = "no_tags" label = "Exclude tags" type = "string" option = ["--no-tags"] sources = ["run-docs"] [[commands.subcommand.task]] id = "changed_run" label = "Run in changed stacks" fields = ["command", "changed", "parallel", "continue_on_error"] required = ["command"] set = { changed = [true] } [[commands.subcommand.task]] id = "dry_run_all" label = "Dry run in all stacks" fields = ["command", "dry_run", "tags"] required = ["command"] set = { dry_run = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["command", "changed", "parallel", "dry_run"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["continue_on_error", "reverse", "tags", "no_tags"]