quint: The core Quint tool
This directory contains the
quint CLI providing powerful tools for working
with the Quint specification language.
Node.js >= 18: Use your package manager or download nodejs.
Install the latest published version from npm:
npm i @informalsystems/quint -g
How to run
Check the quint manual.
How to develop
Make sure that you have installed npm. This is usually done with your OS-specific package manager.
Clone the repository and cd into the
git clone email@example.com:informalsystems/quint.git cd quint/quint
npm run compile
To run CLI, install the package locally:
You can run CLI by typing:
Additionally, if you want to compile the vscode plugin:
Install yalc for local package management:
npm install yalc -g
Publish the package locally with yalc:
Extend the code in src.
Compile and test the parser:
npm run compile && npm run test
Check code coverage with tests:
npm run coverage
Updating the source map test fixtures
npm run update-fixtures
All development dependencies should be tracked in the
package-lock.json. These will be installed when you run
npm install on
this project (unless you have explicitly told
npm to use
npm install <dep> --save-dev
Update tests in cli-tests.md.
Run integration tests:
npm run compile && npm link && npm run integration
Integration with Apalache
We maintain a set of integration tests against the latest release of Apalache. These tests are meant to catch any breaking changes requiring updates to Apalache's support for quint.
Generally, you should not have to run these tests locally, leaving the validation to our CI. But should you need to run these tests locally, you can do so with
npm run apalache-integration
It is required that you have a Java version meeting Apalache's minimum requirements.
We use the
antlr4ts parser generator to compile the BNF like notation specified
in ./src/generated/Quint.g4 into a typescript lexer and
parser. To regenerate the parser and lexer, run
npm run antlr