.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
{
"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 key | Valid severities |
|---|---|
file-too-long | error · warning · info |
function-too-long | error · warning · info |
too-many-functions | error · warning · info |
too-many-imports | error · warning · info |
no-exports | error · warning · info |