Iris

.irisconfig.json

Drop a .irisconfig.json at your project root and commit it. Every developer on the team runs Iris with the same thresholds — no per-machine drift.

Priority order: .irisconfig.json → VS Code settings → defaults

.irisconfig.json
{
  "functionLengthThreshold": 40,
  "fileLengthThreshold": 300,
  "maxFunctionsPerFile": 10,
  "maxImportsPerFile": 8,
  "maxParameterCount": 5,
  "complexityThreshold": 7,
  "enableConsoleLogWarnings": true,
  "enableMagicNumberDetection": true,
  "enableTodoDetection": true,
  "enableLongParamDetection": true,
  "enableUnusedDetection": true,
  "enableMissingReturnTypeWarnings": true,
  "enableSecretsDetection": true,
  "enableCodeLens": true,
  "enableStatusBar": true,
  "enableInlineDiagnostics": true,
  "inlineDiagnostics": {
    "hardcodedSecrets": true,
    "errorWarnings": true,
    "warningLevelWarnings": true,
    "tsIgnore": true,
    "unusedFunctions": true,
    "anyUsage": true,
    "consoleLogs": false,
    "magicNumbers": false,
    "longParamLists": false,
    "unusedVars": false,
    "todos": false
  },
  "minHealthScore": 70,
  "ignoreFiles": [
    "**/*.test.ts",
    "**/*.spec.ts",
    "**/generated/**"
  ],
  "ignoreFunctions": [
    "main",
    "handler"
  ],
  "testConvention": "colocated",
  "sidebarFontSize": 14,
  "severityOverrides": {
    "file-too-long": "warning",
    "function-too-long": "warning",
    "too-many-functions": "warning",
    "too-many-imports": "warning",
    "no-exports": "warning"
  }
}

Only include the keys you want to override — anything omitted falls back to VS Code settings, then defaults.

testConvention — controls where Iris looks for test files alongside the analysed file. "colocated" (default) checks for foo.test.ts / foo.spec.ts next to the source file. "dedicated" looks in __tests__/foo.test.ts. "both" checks all locations.

sidebarFontSize — base font size in pixels (10–20, default 14) for the Iris sidebar and detached panel.

enableSecretsDetection — enables two-layer hardcoded credential scanning across JS/TS, Go, and Python (default true).

enableInlineDiagnostics — master toggle for squiggles and Problems panel entries. The inlineDiagnostics object controls per-category behaviour. See Inline Diagnostics.

minHealthScore — threshold used by the CLI and git pre-push hook. Files below this score are considered failures. CLI-only key (not a VS Code setting).

Severity Overrides

Override the severity of any warning type on a per-project basis:

Warning keyValid severities
file-too-longerror · warning · info
function-too-longerror · warning · info
too-many-functionserror · warning · info
too-many-importserror · warning · info
no-exportserror · warning · info