Iris Code
FeaturesPlaygroundMCPTeamsPricingDocs
Get Iris Code Free
Sign inGet Iris Code Free
Features

See what Iris Code checks, where it runs, and which plan includes it.

Inspect code as you work, give agents the project's real rules, block changes that fail the gate, audit connected repositories, and collect team evidence. Local analysis stays local; cloud scans are an explicit opt-in workflow.
Install for VS CodeInstall for JetBrains
Capabilities
57
Languages
10
Uploaded by the editor
0 bytes
Analysis19Configuration7Enforcement4CLI17Languages10
FreePro
01 - Analysis

Detect and measure - every file, every save.

Open a file and it is scored in-process: functions, complexity, smells, committed credentials, and every finding pinned to a line. Free covers a file; Pro adds the whole-repository view.

Free

Every editor, one engine

Runs in VS Code and its forks (Cursor, Windsurf, VSCodium, Trae) and in JetBrains IDEs (IntelliJ IDEA, WebStorm, PyCharm, GoLand and more). One analysis engine behind all of them, so the same file gets the same score, findings, and gate decision wherever you open it.

Free

Quality Signals

Recurring workspace issues ranked by density and impact, with the raw counts and percentages kept visible.

Free

File naming conventions

Free path-aware snake_case, kebab-case, camelCase, or PascalCase checks with ordered role rules, framework exemptions, and baseline-aware rollout.

Free

Function inventory

Every function listed with its complexity and exact line numbers.

Free

Code smells

Console logs, magic numbers, TODOs, and unused vars and functions.

Free

TypeScript quality

Flags any usage, @ts-ignore, and missing return types.

Free

Hardcoded secrets

Two layers: suspicious names plus known token formats.

Free

Security smells

Nine patterns: eval/exec, SQL injection, insecure RNG, ReDoS regex, disabled TLS, weak hashing, open redirects, debug flags, and localhost URLs. Each counts as a Blocker.

Free to Pro

Duplicate code

Token-window matching finds copy-pasted blocks within and across files - renamed identifiers and changed literals do not hide them. Workspace duplication percentage, a filterable table, and a Pro side-by-side diff.

Free

Inline diagnostics

Squiggles and Problems-panel entries, opt-in per workspace.

Free

Status bar + Code Lens

Live score in the status bar; complexity above each function.

Free

Detached panel + export

Pop the report into its own window or export it to HTML.

Free to Pro

Trend tracking

2 snapshots on Free; unlimited history on Pro to chart long-range health.

Pro

Issues tab

Every blocking issue and warning aggregated into one filterable list.

Pro

TODOs tab

Every TODO, FIXME, and HACK note collected across the codebase.

Pro

Jump to line

Every finding clicks straight to the exact line it lives on.

Pro

Dependents table

Version audit and CVE scan for npm, Go, Python, RubyGems, and NuGet dependencies - lockfile-accurate, monorepo-aware, and filtered to the version you actually run.

Free

Review my changes

Check staged, unstaged, and untracked Git files before anyone else reviews them.

Pro

Git history secrets scan

Walk past commits for secrets that were committed and later removed - masked, local, rotation-first.

02 - Configuration

Set the bar once; align the whole team.

Start from a preset, preview it read-only against your own repository, then commit one .irisconfig.json that the editor, the hooks, and CI all read.

Configuration

One config, language-aware rules everywhere.

Commit it once - a one-line presetId gets you started; custom limits and per-language thresholds take over on Pro.

Pro
.irisconfig.json
1{
2 "presetId": "balanced",
3 "minHealthScore": 80,
4 "gateMaxSecrets": 0,
5 "languages": {
6 "typescript": {
7 "functionLengthThreshold": 80,
8 "gateMaxSmellsPerFile": 8
9 },
10 "python": { "functionLengthThreshold": 120 }
11 }
12}
Free

AI-assisted preset

Stricter explicit limits for teams reviewing AI-assisted code at volume, without imposing a team-specific naming style.

Free

Dashboard config sync

Pick a preset on the web and push it straight to your editor with a diff preview.

Pro

Gate Preview drilldown

Failing file names, scores, and warning pills inside each preset row.

Pro

Custom enforcement limits

Block on secret count, complexity ceiling, file size, or smell density.

Pro

Custom scoring weights

Tune how much each finding type costs the health score - make secrets fatal and TODOs cosmetic, or the reverse.

Pro

Config Studio

A visual editor for your full config, synced back to your editor - no hand-editing JSON.

Pro

Per-language overrides

Set thresholds and per-file gate caps independently for TypeScript, JavaScript, Go, Python, Ruby, C#, Java, and Rust; Vue and Svelte scripts follow their matching TS or JS policy.

03 - Enforcement

Block what falls below the line.

Enforcement is the paid half: the same config that showed you the score now decides whether a push is allowed.

Gate PreviewFree

Cycle presets, see what fails.

iris gate-preview
70threshold
2 of 528 files would fail this gate.
Pro

Git pre-push hook

Block any push that falls below your health threshold.

Pro

Build hook

Stop JS, Go, Python, and Ruby builds before they run.

Pro

Push-blocked counter

Monthly and total pushes blocked, plus health delta since Pro.

Free

Slack notifications

Set one CI secret and an existing gate step posts its result to Slack. No pipeline edit and no flag. The message is built and sent by your own runner, carries file paths, scores and counts only, and never passes through an Iris Code server. Setup guide.

$ iris check src/checkout/cart.ts cart.ts 68/100 3 issues · complexity 7/10 ! line 42 function exceeds complexity budget ! line 88 magic number — extract a constant i line 91 TODO left in source
$ iris secrets --dir src ✕ src/config/keys.ts:14 GitHub token ✕ src/config/keys.ts:15 weak password literal no authentication required · nothing uploaded 2 secrets found — exit 1
$ iris security --dir src ✕ src/db/query.ts:22 SQL built by string concatenation ✕ src/utils/hash.ts:9 weak hashing (MD5) no authentication required · nothing uploaded 2 security smells found — exit 1
$ iris gate --staged --min 80 ✓ session.ts 94 ✓ handlers.ts 88 ✕ migrate.ts 38 ✕ keys.ts · 2 secrets gate failed — 2 of 6 below threshold (exit 1)
$ iris report --out iris-report.html ✓ scored 128 files · repo health 81/100 ✓ wrote iris-report.html (standalone) open it in any browser — no server needed
Get started

One line to install.

CLI, hooks, and the editor extensions.

zsh
$ npm i -g @iris-code/cli▸ iris ready · run iris check
iris initFree
Set a project up in one command: three short questions, a recommended preset, a commented config, an AGENTS.md rules block, and the pre-push hook where your licence allows it. Safe to run again.
iris authFree
Sign in via browser or licence token. Stored at ~/.iris/credentials.
iris checkFree to Pro
Single-file scan is free. Directory, --staged, and --changed on Pro.
iris fixFree to Pro
Remove only what can be proved safe to remove: an isolated debug statement, a literal-only unused variable, or a standalone unused Java import. Previews first, refuses per finding with a reason, and never auto-fixes a secret.
iris secretsFree
Hardcoded credentials, API keys, and tokens. No auth required.
iris securityFree
Eval usage, SQL injection, insecure RNG, weak hashing, and more. No auth required.
iris depsPro
Audit package.json, go.mod, requirements.txt for CVEs. Lockfile-aware and monorepo-aware.
iris cvePro
Same scan as deps, but exits 1 only at or above a --severity threshold. Built for CI gates.
iris sbomPro
Export a CycloneDX 1.5 SBOM across npm, Go, Python, RubyGems, and NuGet. Fully offline.
iris todosPro
Collect every TODO, FIXME, and HACK comment across the codebase.
iris gatePro
Full enforcement gate. Exits 1 below threshold. Designed for CI.
iris slackFree
Set up and test Slack notifications sent directly from your own CI. Setup guide.
iris rulesFree
Write this project's limits, naming convention, and gate rules into the files your coding agents read. AGENTS.md, CLAUDE.md, Cursor, or Copilot.
iris mcpFree to Pro
Serve Iris Code to Claude Code, Codex, Cursor, Windsurf, Copilot agent mode, Zed, and JetBrains AI Assistant over MCP. Single-file findings, project config, and safe fixes are free; workspace scope, gate status, and dependency risk on Pro.
iris reportFree
Export a standalone HTML health report to the current directory.
iris hookFree to Pro
Status check is free. Install/uninstall pre-push & build hooks on Pro.
iris configFree
init generates a config with a preset; validate checks an existing one.
05 - Languages

Parsed and scored natively.

Every language below goes through the same parser, so a file scores identically in the editor, the CLI, and CI. Where a language cannot support a check honestly, the check is absent rather than guessed.

TS

TypeScript

.ts .tsx

full metrics + type safety

JS

JavaScript

.js .jsx

full metrics + smells

Vue

Vue

.vue

script blocks + native lines

Sv

Svelte

.svelte

script blocks + native lines

Go

Go

.go

complexity, smells, secrets

Py

Python

.py

complexity, smells, secrets

Rb

Ruby

.rb

Rails checks, ERB, Gemfile

C#

C#

.cs

.NET smells, .csproj secrets

Ja

Java

.java

unused imports, .properties secrets

Rs

Rust

.rs

test-aware unwrap and panic checks

Per-language capability matrix
Iris Code

Score every file. Stop the bad ones shipping.

Product
FeaturesPricingTeamsPlaygroundCompare
Surfaces
CLIMCP for agentsLanguagesDownloadVS Code MarketplaceOpen VSXJetBrains Marketplace
Learn
DocsGetting startedHealth scoreGit hooks.irisconfig.jsonCLI reference
Company
AboutBlogChangelogExtended trialsContactSupportX / Twitter
Legal
SecurityPrivacy PolicyTerms of ServiceJetBrains Plugin EULA
© 2026 Iris Code — built by David Jaja.v1.28.0