Skip to main content
Iris supports four languages with native parsers and language-aware rules. Rather than applying a generic analysis to every file, Iris routes each file through a dedicated parser that understands the idioms of that language — how functions are declared, what constitutes a third-party import, which debug-print patterns to flag, and how to detect unused packages. The result is a health score and set of findings that are meaningful in context, not just a count of lines and tokens.
Health scores are not directly comparable across languages. TypeScript files carry TypeScript-specific deductions (for any usage, @ts-ignore suppressions, missing return types, and non-null assertions) that do not apply to Go or Python. A score of 80 in a Go file and a score of 80 in a TypeScript file reflect different things.
Iris scans .js, .jsx, .ts, and .tsx files with a single TS/JS parser. All four extensions are treated as the same language family and share the same rule set.TypeScript / JavaScript-specific features:
  • Unused import detection — named, default, and namespace bindings that are imported but never referenced in the file are flagged as unused imports. This detection is TS/JS only — Go and Python handle unused imports at the compiler or runtime level.
  • TypeScript quality metricsany usages, @ts-ignore suppressions, non-null assertions (!), and exported functions missing a return type annotation are surfaced as separate counters in the File tab. See TypeScript Metrics for the full breakdown.
  • Debug printsconsole.log, console.warn, and console.error calls are flagged in Code Lens and in the Code Smells section.