Every Iris surface, from editor signal to local gate.

Iris is most useful when the product surfaces, thresholds, and enforcement path are obvious. Start with the active file, expand to folder and workspace scans, then carry the same rules into diagnostics, pre-push checks, and build enforcement.

surfaces
fileactive editoractive
folderfeature areaqueued
wsfull repoready
issuesfilterable findingsindexed
todoscomment debtindexed
active module / file analysislocal run
score
82
complexity
4 / 10
functions
8
warnings
3
warningsfunction too long, too many imports
smellsconsole log, long parameter list
secrets0 findings in active file
navigationclick rows to jump to source
signal feed
src/routes/billing.ts
function-length
118 > 80
src/auth/secrets.ts
hardcoded-secret
push blocked
src/ui/sheet.tsx
unused-import
1 import
src/providers/sidebar.ts
complexity
7 / 10
01
editor surface

Read the file in front of you before review starts.

The file tab is the shortest path to useful feedback. Iris scores the active file locally, inventories functions, tracks imports, highlights secrets, and keeps the result close to the code instead of sending you to a separate dashboard.

Auto-runs on JS, TS, Go, and Python when the active file changes or saves.
Groups score, complexity, warnings, smells, imports, and function inventory in one compact pane.
Keeps click targets code-adjacent: diagnostics in Problems, rows that jump to lines, and detached panel support when the sidebar is too narrow.
compact output
score0-100
signalsinline
scopesingle file
health-score.......... 82
complexity............ 4 / 10
functions............. 8
imports............... 12
02
project surface

Switch from one file to the shape of the repository.

Folder and workspace analysis turn Iris into a ranking system for technical debt. Scan a feature area or the full repository to rank large files, complex files, unused packages, and the problems worth fixing first.

Scans supported files recursively while skipping generated and vendor directories.
Ranks largest files, most complex files, language spread, directories, and unused packages.
Keeps folder and workspace views aligned so you can zoom from a feature area to the whole codebase without changing mental models.
compact output
foldersscoped
wsfull repo
rankingtop offenders
largest-files......... billing.ts 1148L
most-complex.......... auth.ts 9 / 10
unused-packages....... 2
trend-history......... enabled
03
enforcement surface

Turn signals into local rules, then keep them consistent in your editor, build, and git flow.

The same Iris findings can surface as editor diagnostics, fail a pre-build check, and fail a pre-push check. Thresholds stay consistent because the extension, CLI, and local hooks all use the same scoring model.

Secrets detection combines suspicious variable names with known key patterns so obvious placeholders are ignored and real leaks surface fast.
Inline diagnostics mirror findings into VS Code squiggles and the Problems panel with configurable category toggles.
The build hook stops a failing build before the language toolchain runs — catching issues earlier than the push gate.
The pre-push hook reuses the same threshold logic as the build hook so local enforcement stays consistent.
compact output
diagnosticseditor + problems
build hookpre-build
git hookpre-push
min-health-score...... 70
hardcoded-secrets..... enabled
build-hook............ block on fail
pre-push.............. block on fail
threshold matrix

See how the same rule moves from the editor to enforcement.

Each row maps an Iris surface to its output, the workflow it supports, and the config boundary that controls it.

same analyzer to sidebar to diagnostics to hook
surface
File tab
runs on
active editor
shows
score, smells, functions, imports
use it to
jump to lines, inspect structure
config
free
surface
Folder tab
runs on
selected folder
shows
ranked files, tree, unused packages
use it to
triage one area before merging
config
pro
surface
WS tab
runs on
whole workspace
shows
aggregate health, trend history
use it to
set a repo-wide baseline
config
pro
surface
Issues tab
runs on
latest scan set
shows
filterable findings list
use it to
search warnings by file and severity
config
mixed
surface
TODOs tab
runs on
latest scan set
shows
TODO, FIXME, HACK rows
use it to
turn comment debt into a queue
config
mixed
surface
Inline diagnostics
runs on
current editor
shows
squiggles + Problems entries
use it to
fix without opening the sidebar
config
configurable
surface
Build hook
runs on
pre-build (pnpm/npm/make)
shows
pass-fail threshold
use it to
stop a failing build before it starts
config
.irisconfig.json
surface
Git hook
runs on
pre-push
shows
pass-fail threshold
use it to
stop weak code before it leaves the machine
config
.irisconfig.json
workflow timeline

The product arc is analyze, configure, enforce, and confirm.

Start in the editor, set the threshold once, then carry the same check through build and pre-push.

01 / Analyze locally

Open a file and let Iris score it in place.

The first loop stays inside VS Code: file analysis, functions, smells, secrets, and score changes on save.

payload
editor / local-first
02 / Set the rule

Choose thresholds once, then reuse them everywhere.

Function length, complexity, imports, parameter counts, severity overrides, and minimum score live in config instead of team folklore.

payload
.irisconfig.json / thresholds
03 / Block at build time

Stop a failing build before the language toolchain runs.

The build hook catches failing files earlier than the push gate. Node projects use the prebuild lifecycle so pnpm build and npm run build trigger it automatically. Go and Python use a Makefile target.

payload
prebuild / make build
04 / Enforce on push

Block bad pushes before they become review comments.

The git hook runs the same analyzer through the CLI and exits non-zero when files drop below the agreed score or expose critical findings.

payload
iris check / pre-push
05 / Confirm before push

Use the local gate before review starts.

Run the same check through the bundled CLI or the pre-push hook so score drops and critical findings are stopped before they leave the machine.

payload
iris check / local gate

Install Iris. Set a threshold. Stop bad code before it ships.

Two minutes from install to your first blocked push.