Getting Started
Install Nanovision and generate your first coverage report.
New to coverage?
If you are new to code coverage, it is often worth taking a step back and reading About Coverage first.
Prerequisite: Generate Coverage First
Nanovision is an analysis tool. You must generate coverage files (like
lcov.info, cobertura.xml, or coverage.out) using your language's
standard testing tools first.
Installation
Nanovision is distributed as a single binary. Choose the installation method for your platform.
Windows (winget)
Install Nanovision using the Windows Package Manager:
winget install nanovisionLinux (install script)
Use the official install script to download and place the binary:
curl -sL https://raw.githubusercontent.com/IgorBayerl/nanovision/main/scripts/install.sh | bashThis script downloads the latest release and installs it on your system.
PATH.
Quickstart: First Report
Once you have coverage files and Nanovision installed, the simplest command is:
nanovision -report coverage.out -sourcedirs .
This reads coverage.out, scans the current directory for source files, and writes an HTML
report to the default output directory (typically coverage-report).
Inputs & Configuration
Nanovision is flexible. You can pass arguments directly via the CLI or use a YAML configuration file for more complex setups.
CLI Arguments
These are the flags for basic usage. For the full set of options, advanced features, and CI generators, use the Configurator .
nanovision [flags]
Path to the coverage file (e.g., coverage.out, lcov.info).
Comma-separated paths to source code directories.
Directory where the report will be written (for example coverage-report).
Path to a specific config file (default: nanovision.yaml in the current directory).
Configuration File
For repeatable setups it is recommended to use a nanovision.yaml file. You can also
generate this file with the Configurator
.
reports:
- "coverage.out"
source_dirs:
- "."
output_dir: "coverage-report"
report_types:
- "Html"
- "TextSummary"
When a nanovision.yaml file is present in the current directory, you can simply run
nanovision with no arguments and the configuration will be picked up automatically.
CI/CD Integration
Nanovision is designed to run in your CI pipeline after your tests complete and coverage files are written. It returns a non-zero exit code if coverage thresholds are not met, so you can fail the build when coverage drops below your standards.
For complex setups (multiple inputs, filters, thresholds, and GitHub Actions workflows), use the Configurator to generate ready-to-use commands and config files.
Need a configuration file or CI workflow?
Use the interactive configurator to generate a CLI command, nanovision.yaml, or GitHub Actions
workflow tailored to your project.