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.

Back to About Coverage

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 nanovision

Linux (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 | bash

This script downloads the latest release and installs it on your system.

Prefer manual installation? Download the binaries for Windows or Linux from the Releases page and add the binary to your 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]
-report (string)

Path to the coverage file (e.g., coverage.out, lcov.info).

-sourcedirs (string)

Comma-separated paths to source code directories.

-output (string)

Directory where the report will be written (for example coverage-report).

-conf (string)

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.

Open Configurator