Skip to main content
The Iris CLI provides nine commands covering the full code health workflow — scanning individual files, auditing dependencies, enforcing thresholds in CI, and managing hooks. Commands marked Pro require an active Iris Pro licence.

iris check

Scores source files and prints health findings. Single-file scans are free; scanning a directory or using --staged / --changed requires Pro.
FlagDescription
<path>File or directory to scan
--stagedScan staged git files only (Pro)
--changedScan files changed since the last commit (Pro)
--threshold <n>Minimum health score 0–100; overrides .irisconfig.json
--jsonOutput results as JSON
# Score a single file (free)
iris check src/index.ts

# Score a directory with a custom threshold (Pro)
iris check src/ --threshold 80

# Score staged files only (Pro)
iris check --staged
Exit codeMeaning
0All files at or above threshold
1One or more files below threshold
2Bad arguments or config error

iris secrets

Scans the project for hardcoded credentials, API keys, tokens, and passwords. Free — no authentication required.
FlagDescription
--path <dir>Directory to scan (defaults to current directory)
--ignore <pattern>Glob pattern for files to skip
--jsonOutput results as JSON
# Scan the current directory
iris secrets

# Scan a specific path and output JSON
iris secrets --path ./src --json
Exit codeMeaning
0No secrets found
1Secrets found
2Bad arguments

iris deps

Pro. Audits dependencies in package.json, go.mod, or requirements.txt for outdated versions and known CVEs.
FlagDescription
--jsonOutput results as JSON
--config <path>Path to .irisconfig.json
# Audit dependencies in the current project
iris deps

# Output results as JSON
iris deps --json
Exit codeMeaning
0All dependencies current
1Outdated or vulnerable packages found
2Bad arguments

iris todos

Pro. Lists every TODO, FIXME, HACK, and similar comment marker found across the project.
FlagDescription
--path <dir>Directory to scan (defaults to current directory)
--jsonOutput results as JSON
# List all TODO/FIXME comments in the project
iris todos

# Scan a specific path and output JSON
iris todos --path ./src --json
Exit codeMeaning
0No findings
1Findings found
2Bad arguments

iris gate

Pro. Runs a full workspace health check and exits 1 if any file falls below the configured threshold. This is the recommended command for CI quality gates.
FlagDescription
--threshold <n>Override the minimum health score; takes precedence over .irisconfig.json
--jsonOutput results as JSON
--config <path>Path to .irisconfig.json
--format githubEmit inline PR annotations in GitHub Actions format (added in v1.6.0)
# Run the gate with the configured threshold
iris gate

# Run the gate with a custom threshold
iris gate --threshold 75
Exit codeMeaning
0All files pass
1One or more files fail
2Bad arguments or config error

iris report

Pro. Runs a workspace scan and exports the results as a standalone HTML file. The output mirrors the export produced by the VS Code extension.
FlagDescription
--output <path>Output file path (default: ./iris-report.html)
--config <path>Path to .irisconfig.json
# Export a report to the default location
iris report

# Export a report to a custom path
iris report --output ./reports/latest.html
Exit codeMeaning
0Report written successfully
1Scan failed
2Bad arguments

iris hook

Installs and removes the git pre-push hook and the build gate hook — equivalent to the VS Code command palette hook commands. The status subcommand is free; install and uninstall require Pro.
SubcommandDescription
statusShow whether the git and build hooks are currently installed (free)
install gitWrite the Iris block to .git/hooks/pre-push (Pro)
install buildWire Iris into the project build command (Pro)
uninstall gitRemove the Iris block from .git/hooks/pre-push (Pro)
uninstall buildRemove the Iris build entry (Pro)
# Check current hook status (free)
iris hook status

# Install the git pre-push hook
iris hook install git

# Remove the build hook
iris hook uninstall build
Exit codeMeaning
0Success
1Hook operation failed
2Bad arguments

iris auth

Manages authentication credentials. See the Authentication page for the full guide.
SubcommandDescription
loginBrowser-based OAuth flow (interactive)
login --token <key>Licence token flow (non-interactive)
statusConfirm the active session
logoutRemove stored credentials
# Sign in via browser
iris auth login

# Check the current session
iris auth status

iris config

Reads or writes .irisconfig.json. With no arguments, prints the resolved configuration. Pass key=value pairs to set individual settings.
FlagDescription
<key>=<value>Set a config value (e.g. minHealthScore=80)
--globalRead or write ~/.iris/config.json instead of the project file
--path <dir>Project directory to resolve config from
# Print the resolved config
iris config

# Set the minimum health score in the project config
iris config minHealthScore=80

# Read or write the global config
iris config --global
Exit codeMeaning
0Success
2Invalid key or arguments