id = "minizinc"
name = "MiniZinc"
homepage = "https://www.minizinc.org/"
description = "Medium-level constraint modeling language"
executables = ["minizinc"]
[dotfiles]
paths = [
"~/.minizinc/Preferences.json",
"~/.minizinc/solvers/",
]
secret = []
[commands]
format = 1
label = "Solve a model"
description = "Solve a MiniZinc model with optional data files, solver choice and solution limits. Compiler tuning and output-file options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "manual"
kind = "manual"
url = "https://docs.minizinc.org/en/stable/command_line.html"
revision = "stable 2026-10-27"
evidence = """
--solver <id>, --solver <solver configuration file>.msc
-a, --all-solutions
-n <i>, --num-solutions <i>
-p <i>, --parallel <i>
-r <i>, --random-seed <i>
-f, --free-search
-s, --statistics
-v, -l, --verbose
-c, --compile
-d <file>, --data <file>
-D <data>, --cmdline-data <data>
--output-mode <item|dzn|json>
--solvers
"""
[[commands.field]]
id = "model"
label = "Model file"
type = "path"
path = { kind = "file", role = "input" }
position = 0
sources = ["manual"]
[[commands.field]]
id = "data"
label = "Data file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--data", "-d"]
multiple = true
sources = ["manual"]
[[commands.field]]
id = "solver"
label = "Solver"
type = "string"
option = ["--solver"]
sources = ["manual"]
[[commands.field]]
id = "all_solutions"
label = "All solutions"
type = "boolean"
option = ["--all-solutions", "-a"]
sources = ["manual"]
[[commands.field]]
id = "num_solutions"
label = "Stop after N solutions"
type = "integer"
option = ["--num-solutions", "-n"]
sources = ["manual"]
[[commands.field]]
id = "parallel"
label = "Parallel threads"
type = "integer"
option = ["--parallel", "-p"]
sources = ["manual"]
[[commands.field]]
id = "free_search"
label = "Free search"
type = "boolean"
option = ["--free-search", "-f"]
sources = ["manual"]
[[commands.field]]
id = "statistics"
label = "Print statistics"
type = "boolean"
option = ["--statistics", "-s"]
sources = ["manual"]
[[commands.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["--verbose"]
sources = ["manual"]
[[commands.field]]
id = "compile_only"
label = "Compile only"
type = "boolean"
option = ["--compile", "-c"]
sources = ["manual"]
[[commands.field]]
id = "output_mode"
label = "Output mode"
type = "enum"
option = ["--output-mode"]
choices = [{ value = "item", label = "Output item" }, { value = "dzn", label = "DZN" }, { value = "json", label = "JSON" }]
sources = ["manual"]
[[commands.task]]
id = "solve"
label = "Solve"
fields = ["model", "data", "solver", "statistics"]
required = ["model"]
[[commands.task]]
id = "all"
label = "All solutions"
fields = ["model", "data", "solver", "all_solutions"]
required = ["model"]
set = { all_solutions = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["model", "data", "solver", "all_solutions", "num_solutions", "output_mode"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["parallel", "free_search", "statistics", "verbose", "compile_only"]