run — Execute Checks Manually

# staged files only (default, cached)
$ metis run

# check just the diff (staged files, cached)
$ metis run --diff-only

# all tracked files (no cache)
$ metis run --all-files

# specific files
$ metis run src/main.cpp include/foo.hpp

# dry-run (list files without executing)
$ metis run --dry-run --all-files

# verbose (print each shell command)
$ metis run --verbose --all-files

# format mode (run clang-format instead of checks)
$ metis run --format --all-files

# bypass the check result cache
$ metis run --no-cache

Options

FlagAliasDescription
--all-filesCheck all tracked files, not just staged
--diff-onlyCheck just the diff (staged files), with cache enabled
--verbose-VPrint each shell command before executing
--dry-run-nList files without executing checks
--format-fRun clang-format instead of checks
--no-cacheBypass the check result cache

Caching

The cache only helps on a diff: successful staged/explicit-file check results are cached in .metis-cache/ and reused when the check config and inputs are unchanged, so unchanged files are skipped on repeat runs. --diff-only runs just the diff with the cache enabled. A full sweep (--all-files) always re-checks everything and never uses the cache.

Exit code: 0 if all checks pass, non-zero if any check fails.