id = "cue"
name = "CUE"
homepage = "https://cuelang.org/"
description = "Validate and define text-based and dynamic configuration"
executables = ["cue"]
[dotfiles]
paths = [
"[appData]/cue/",
"[configHome]/cue/",
"%APPDATA%/cue/",
]
secret = [
"[appData]/cue/logins.json",
"[configHome]/cue/logins.json",
"%APPDATA%/cue/logins.json",
]
[commands]
format = 1
label = "Work with CUE files"
description = "Export, validate or format CUE configuration. Other subcommands, value injection, protobuf and non-CUE file options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["export"]
label = "Export as JSON, YAML or TOML"
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://cuelang.org/docs/reference/command/cue-help-export/"
revision = "2026-10-27"
evidence = """
cue export [flags] [inputs]
-e, --expression stringArray export this expression only
-f, --force force overwriting existing files
--out string output format (run 'cue help filetypes' for more info)
-o, --outfile string filename or - for stdout with optional file prefix
cue Output as CUE (can encode any value)
json Output as JSON (can encode any value)
toml Output as TOML (can encode any value)
yaml Output as YAML (can encode any value)
text Output as text (can only encode values of type string)
binary Output as binary (can only encode values of type string or bytes)
"""
[[commands.subcommand.field]]
id = "inputs"
label = "Inputs"
description = "Packages, CUE files or data files; empty means the current package."
type = "path"
position = 0
multiple = true
min = 0
path = { kind = "any", role = "input" }
sources = ["help"]
[[commands.subcommand.field]]
id = "out"
label = "Output format"
type = "enum"
option = ["--out"]
choices = [{ value = "cue", label = "CUE" }, { value = "json", label = "JSON" }, { value = "toml", label = "TOML" }, { value = "yaml", label = "YAML" }, { value = "text", label = "Text" }, { value = "binary", label = "Binary" }]
sources = ["help"]
[[commands.subcommand.field]]
id = "expression"
label = "Expression"
description = "Export this expression only; repeatable."
type = "string"
option = ["--expression", "-e"]
multiple = true
sources = ["help"]
[[commands.subcommand.field]]
id = "outfile"
label = "Output file"
type = "path"
option = ["--outfile", "-o"]
path = { kind = "file", role = "output", must_exist = false }
effect = "overwrite"
sources = ["help"]
[[commands.subcommand.field]]
id = "force"
label = "Overwrite existing files"
type = "boolean"
option = ["--force", "-f"]
effect = "overwrite"
sources = ["help"]
[[commands.subcommand.task]]
id = "yaml"
label = "Export as YAML"
fields = ["inputs", "out", "expression", "outfile"]
required = []
set = { out = ["yaml"] }
[[commands.subcommand.task]]
id = "json"
label = "Export as JSON"
fields = ["inputs", "out", "expression", "outfile"]
required = []
set = { out = ["json"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["inputs", "out", "expression", "outfile", "force"]
[[commands.subcommand]]
path = ["vet"]
label = "Validate data against CUE"
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://cuelang.org/docs/reference/command/cue-help-vet/"
revision = "2026-10-27"
evidence = """
cue vet [flags] [inputs]
-c, --concrete require the evaluation to be concrete, or set -c=false to allow incomplete values
-d, --schema string expression to select schema for evaluating values in non-CUE files
"""
[[commands.subcommand.field]]
id = "inputs"
label = "Inputs"
description = "Packages, CUE files or data files; empty means the current package."
type = "path"
position = 0
multiple = true
min = 0
path = { kind = "any", role = "input" }
sources = ["help"]
[[commands.subcommand.field]]
id = "concrete"
label = "Require concrete values"
type = "boolean"
option = ["--concrete", "-c"]
sources = ["help"]
[[commands.subcommand.field]]
id = "schema"
label = "Schema expression"
description = "Expression selecting the schema used to check non-CUE data files."
type = "string"
option = ["--schema", "-d"]
sources = ["help"]
[[commands.subcommand.task]]
id = "check"
label = "Validate"
fields = ["inputs", "concrete", "schema"]
required = ["inputs"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["inputs", "concrete", "schema"]
[[commands.subcommand]]
path = ["fmt"]
label = "Format CUE files"
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://cuelang.org/docs/reference/command/cue-help-fmt/"
revision = "2026-10-27"
evidence = """
cue fmt [flags] [inputs]
--check exits with non-zero status if any files are not formatted
-d, --diff display diffs instead of rewriting files
--files treat arguments as paths to files or directories to recursively format
"""
[[commands.subcommand.field]]
id = "inputs"
label = "Inputs"
description = "Packages, CUE files or data files; empty means the current package."
type = "path"
position = 0
multiple = true
min = 0
path = { kind = "any", role = "input" }
sources = ["help"]
[[commands.subcommand.field]]
id = "check"
label = "Check only"
description = "Exit non-zero if any file is not formatted."
type = "boolean"
option = ["--check"]
sources = ["help"]
[[commands.subcommand.field]]
id = "diff"
label = "Show diffs instead of rewriting"
type = "boolean"
option = ["--diff", "-d"]
sources = ["help"]
[[commands.subcommand.field]]
id = "files"
label = "Treat arguments as paths"
description = "Recursively format the given files or directories."
type = "boolean"
option = ["--files"]
sources = ["help"]
[[commands.subcommand.task]]
id = "format"
label = "Format in place"
fields = ["inputs", "files"]
required = []
[[commands.subcommand.task]]
id = "preview"
label = "Preview changes"
fields = ["inputs", "diff", "files"]
required = []
set = { diff = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["inputs", "check", "diff", "files"]