Skip to main content
Version: 0.4

Getting started

This guide will walk you through the steps to install and set up the Misti static analyzer.

Prerequisites

Before you begin, ensure you have the following software installed on your system:

  • Git
  • Yarn
  • Node.js version 22 or higher
  • Soufflé

Installation

Misti is distributed via npm and should be added to your Tact project in the same way as Tact itself:

yarn add @nowarp/misti

Using Development Version

The latest development version may be unstable, yet it includes all the recently added detectors and therefore can provide a more comprehensive analysis.

To install the latest development version you should:

  1. Clone Misti: git clone https://github.com/nowarp/misti
  2. Build it: cd misti && yarn install && yarn build
  3. Use it in your Tact project: cd /path/to/tact/project && yarn add file:/path/to/misti

Running the analysis

Run Misti by specifying a Tact project configuration:

npx misti path/to/tact.config.json

This will highlight any warnings the analyzer found.

You can also add a script to your package.json to simplify running the linting process:

{
"scripts": {
"lint": "npx misti path/to/tact.config.json"
}
}

More usage examples

Below are a few usage examples for common scenarios when using the misti CLI.

Suppressing Specific Detectors

To run misti while suppressing specific detectors, such as ReadOnlyVariables:

npx misti --suppress ReadOnlyVariables path/to/tact.config.json

Enabling All Detectors

Running misti with all available built-in detectors enabled:

npx misti --all-detectors path/to/tact.config.json

It is recommended to do that when auditing the project.

Running in Quiet Mode

To suppress all output while running misti getting just a return code:

npx misti --quiet path/to/tact.config.json

This might be useful in scripts and CI/CD.

Troubleshooting

If you encounter any issues during the installation process, feel free to create an issue or ask in the Misti Telegram group.