Skip to content

MiniZinc source, easier to work with.

Format models, check modelling advice and ask questions about your data. Zincite works directly on .mzn and .dzn files.
Rust tools · MiniZinc 2.10.1 · Under development

Zincite shares a source-preserving parser across its commands. Formatting keeps comments and identifier spelling. Linting reports rules with source locations. Queries inspect declarations and data without running a solver.

Use a current stable Rust toolchain. The packages on crates.io are name reservations; install the working commands from a checkout.

Terminal window
git clone https://github.com/zayenz/zincite.git
cd zincite
cargo install --locked --path .

These commands read stdin and need no model files or standard library.

Terminal window
printf 'int: capacity=20;\n' | zincite fmt
printf 'int: capacity = 20;\n' | zincite lint --isolated --rules naming,missing-constraint-label
printf 'capacity = 20;\n' | zincite query --stdin-filepath data.dzn 'filter(kind("assignment")) | count'

Formatting may change before a stable release. Semantic inspection has explicit limits and can return Unknown. Read the support guide before applying the tools to a whole project.