configuration/quality/data/knob.concept.data.json
configuration/quality/data/knob.concept.data.json is a file in GovLab Quality. 595 lines of code and 0 definitions.
{
"meta": {
"note": "Hand-authored knob overlay for the tunable concepts, taken from each tool's own schema or source. A default is null where the source inlines none or measures a different metric, and `fixed: true` marks a tool with no configurable threshold for the concept. The catalog pipeline merges this overlay with the rule catalog.",
"verified": "doc-only"
},
"concepts": {
"cyclomatic-complexity": {
"valueType": "int-threshold",
"tools": {
"eslint": {
"knob": "max",
"default": 20,
"variant": "classic|modified",
"fidelity": "exact",
"provenance": "eslint rule meta.schema + defaultOptions"
},
"eslint-sonarjs": {
"knob": "threshold",
"default": null,
"fidelity": "exact",
"provenance": "sonarjs rule meta.schema"
},
"ruff": {
"knob": "lint.mccabe.max-complexity",
"default": null,
"fidelity": "exact",
"provenance": "ruff.schema.json (McCabe; opt-in via C901)"
},
"golangci-lint": {
"knob": "gocyclo.min-complexity",
"default": 30,
"fidelity": "exact",
"provenance": "golangci jsonschema (min-complexity = ceiling; cyclop.max-complexity=10)"
},
"checkstyle": {
"knob": "max",
"default": 10,
"fidelity": "exact",
"provenance": "CyclomaticComplexityCheck DEFAULT_COMPLEXITY_VALUE"
},
"pmd": {
"knob": "methodReportLevel",
"default": 10,
"fidelity": "exact",
"provenance": "CyclomaticComplexityRule PropertyFactory (classReportLevel=40)"
},
"phpmd": {
"knob": "reportLevel",
"default": 10,
"fidelity": "exact",
"provenance": "rulesets/codesize.xml"
},
"rubocop": {
"knob": "Max",
"default": 7,
"fidelity": "exact",
"provenance": "config/default.yml Metrics/CyclomaticComplexity"
},
"swiftlint": {
"knob": "warning|error",
"default": "10|20",
"fidelity": "exact",
"provenance": "CyclomaticComplexityConfiguration.swift (two-threshold)"
},
"lintr": {
"knob": "complexity_limit",
"default": 15,
"fidelity": "exact",
"provenance": "cyclocomp_linter roxygen @param"
},
"luacheck": {
"knob": "max-cyclomatic-complexity",
"default": null,
"fidelity": "exact",
"provenance": "docsrc/cli.rst (opt-in)"
},
"revive": {
"knob": "(positional arg)",
"default": 10,
"fidelity": "exact",
"provenance": "rule/cyclomatic.go defaultMaxCyclomaticComplexity"
},
"sonar": {
"knob": "Threshold",
"default": null,
"fidelity": "exact",
"provenance": "SonarSource rspec S1541 (per-language; superseded by cognitive S3776)"
},
"slither": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "detectors/functions/cyclomatic_complexity.py (cc>11 hardcoded)"
},
"codeql": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "cyclomatic-complexity-per-function metric query"
}
}
},
"cognitive-complexity": {
"valueType": "int-threshold",
"tools": {
"eslint-sonarjs": {
"knob": "(threshold)",
"default": 15,
"fidelity": "exact",
"provenance": "sonarjs cognitive-complexity"
},
"sonar": {
"knob": "Threshold",
"default": 15,
"fidelity": "exact",
"provenance": "SonarSource rspec S3776"
},
"rubocop": {
"knob": "Max",
"default": 8,
"fidelity": "approximate",
"provenance": "Metrics/PerceivedComplexity (perceived ~ cognitive)"
},
"golangci-lint": {
"knob": "gocognit.min-complexity",
"default": 30,
"fidelity": "exact",
"provenance": "golangci jsonschema"
},
"pmd": {
"knob": "methodReportLevel",
"default": 15,
"fidelity": "exact",
"provenance": "CognitiveComplexityRule (classReportLevel=50)"
}
}
},
"long-function": {
"valueType": "int-threshold",
"tools": {
"eslint": {
"knob": "max",
"default": 50,
"fidelity": "exact",
"provenance": "max-lines-per-function meta.schema (max-lines file=300, max-statements=10)"
},
"eslint-sonarjs": {
"knob": "maximum",
"default": null,
"fidelity": "exact",
"provenance": "sonarjs max-lines-per-function meta.schema"
},
"rubocop": {
"knob": "Max",
"default": 10,
"fidelity": "exact",
"provenance": "Metrics/MethodLength (ClassLength=100)"
},
"ruff": {
"knob": "lint.pylint.max-statements",
"default": null,
"fidelity": "approximate",
"provenance": "ruff.schema.json (statements, not lines)"
},
"pylint": {
"knob": "max-statements",
"default": 50,
"fidelity": "approximate",
"provenance": "pylint design_analysis.py (statements)"
},
"clippy": {
"knob": "too_many_lines_threshold",
"default": 100,
"fidelity": "exact",
"provenance": "clippy_config conf.rs"
},
"golangci-lint": {
"knob": "funlen.lines",
"default": 60,
"fidelity": "exact",
"provenance": "golangci funlen (statements=40)"
},
"checkstyle": {
"knob": "max",
"default": 150,
"fidelity": "exact",
"provenance": "MethodLengthCheck DEFAULT_MAX_LINES"
},
"swiftlint": {
"knob": "warning|error",
"default": "50|100",
"fidelity": "exact",
"provenance": "FunctionBodyLengthRule"
},
"codeql": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "lines-of-code metric query"
}
}
},
"too-many-params": {
"valueType": "int-threshold",
"tools": {
"eslint": {"knob": "max",
"default": 3,
"fidelity": "exact",
"provenance": "max-params meta.schema"},
"eslint-ts": {
"knob": "max",
"default": 3,
"fidelity": "exact",
"provenance": "@typescript-eslint/max-params meta.schema"
},
"rubocop": {"knob": "Max",
"default": 5,
"fidelity": "exact",
"provenance": "Metrics/ParameterLists"},
"ruff": {
"knob": "lint.pylint.max-args",
"default": 5,
"fidelity": "exact",
"provenance": "ruff.schema.json (PLR0913)"
},
"pylint": {
"knob": "max-args",
"default": 5,
"fidelity": "exact",
"provenance": "pylint design_analysis.py"
},
"clippy": {
"knob": "too_many_arguments_threshold",
"default": 7,
"fidelity": "exact",
"provenance": "clippy_config conf.rs"
},
"checkstyle": {
"knob": "max",
"default": 7,
"fidelity": "exact",
"provenance": "ParameterNumberCheck DEFAULT_MAX_PARAMETERS"
},
"swiftlint": {
"knob": "warning|error",
"default": "5|8",
"fidelity": "exact",
"provenance": "FunctionParameterCountConfiguration"
},
"phpmd": {
"knob": "minimum",
"default": 10,
"fidelity": "exact",
"provenance": "rulesets/codesize.xml ExcessiveParameterList"
},
"perlcritic": {
"knob": "max_arguments",
"default": 5,
"fidelity": "exact",
"provenance": "ProhibitManyArgs.pm"
},
"revive": {
"knob": "argument-limit (arg)",
"default": null,
"fidelity": "exact",
"provenance": "revive argument-limit rule"
},
"codeql": {"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "metric query"}
}
},
"deep-nesting": {
"valueType": "int-threshold",
"tools": {
"eslint": {
"knob": "max",
"default": 4,
"fidelity": "exact",
"provenance": "max-depth meta.schema (max-nested-callbacks=10)"
},
"eslint-sonarjs": {
"knob": "maximumNestingLevel",
"default": 3,
"fidelity": "exact",
"provenance": "sonarjs nested-control-flow"
},
"rubocop": {"knob": "Max",
"default": 3,
"fidelity": "exact",
"provenance": "Metrics/BlockNesting"},
"ruff": {
"knob": "lint.pylint.max-nested-blocks",
"default": 5,
"fidelity": "exact",
"provenance": "ruff.schema.json"
},
"checkstyle": {
"knob": "max",
"default": 1,
"fidelity": "exact",
"provenance": "NestedForDepth/NestedIfDepthCheck"
},
"golangci-lint": {
"knob": "nestif.min-complexity",
"default": 5,
"fidelity": "exact",
"provenance": "golangci nestif"
},
"codeql": {"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "metric query"},
"error-prone": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "bug-pattern checker, no threshold"
}
}
},
"line-length": {
"valueType": "value-setting",
"tools": {
"eslint": {
"knob": "code",
"default": null,
"fidelity": "exact",
"provenance": "max-len meta.schema (opt-in)"
},
"eslint-stylistic": {
"knob": "code",
"default": null,
"fidelity": "exact",
"provenance": "@stylistic/max-len meta.schema"
},
"rubocop": {"knob": "Max",
"default": 120,
"fidelity": "exact",
"provenance": "Layout/LineLength"},
"ruff": {"knob": "line-length",
"default": 88,
"fidelity": "exact",
"provenance": "ruff.schema.json"},
"pylint": {
"knob": "max-line-length",
"default": 100,
"fidelity": "exact",
"provenance": "pylint format.py"
},
"checkstyle": {
"knob": "max",
"default": 80,
"fidelity": "exact",
"provenance": "LineLengthCheck DEFAULT_MAX_COLUMNS"
},
"swiftlint": {
"knob": "warning|error",
"default": "120|200",
"fidelity": "exact",
"provenance": "LineLengthConfiguration"
},
"prettier": {
"knob": "printWidth",
"default": 80,
"fidelity": "approximate",
"provenance": "prettier options (soft wrap target)"
},
"lintr": {"knob": "length",
"default": 80,
"fidelity": "exact",
"provenance": "line_length_linter"}
}
},
"indentation": {
"valueType": "value-setting",
"tools": {
"eslint": {
"knob": "indent",
"default": null,
"fidelity": "exact",
"provenance": "indent meta.schema (tab | integer size)"
},
"eslint-stylistic": {
"knob": "indent",
"default": null,
"fidelity": "exact",
"provenance": "@stylistic/indent meta.schema"
},
"eslint-yml": {
"knob": "indent",
"default": null,
"fidelity": "exact",
"provenance": "yml/indent meta.schema"
},
"rubocop": {
"knob": "Width",
"default": 2,
"fidelity": "exact",
"provenance": "Layout/IndentationWidth"
},
"ruff": {"knob": "indent-width",
"default": 4,
"fidelity": "exact",
"provenance": "ruff.schema.json"},
"checkstyle": {
"knob": "basicOffset",
"default": 4,
"fidelity": "exact",
"provenance": "IndentationCheck DEFAULT_INDENTATION"
},
"prettier": {"knob": "tabWidth",
"default": 2,
"fidelity": "exact",
"provenance": "prettier options"},
"pylint": {
"knob": "indent-string",
"default": "4 spaces",
"fidelity": "exact",
"provenance": "pylint format.py"
},
"lintr": {"knob": "indent",
"default": 2,
"fidelity": "exact",
"provenance": "indentation_linter"},
"yamllint": {
"knob": "spaces",
"default": null,
"fidelity": "exact",
"provenance": "rules/indentation.py"
},
"sqlfluff": {
"knob": "tab_space_size",
"default": 4,
"fidelity": "exact",
"provenance": "default_config.cfg"
},
"codeql": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "query, no indent-size config"
},
"semgrep": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "pattern rule, no config"
},
"shellcheck": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "SC check, no indent config"
},
"clang-tidy": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "indent size is clang-format's, not clang-tidy"
},
"luacheck": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "linter, no indent-size knob"
},
"revive": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "gofmt owns Go indentation"
},
"swiftlint": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "consistency check, no size knob"
},
"eslint-react": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "jsx layout-consistency; size via core/stylistic indent"
},
"eslint-unicorn": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "no indent-size knob"
},
"eslint-jsdoc": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "no indent-size knob"
},
"eslint-sonarjs": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "no indent-size knob"
}
}
},
"quote-style": {
"valueType": "enum",
"enum": [
"single",
"double"
],
"tools": {
"eslint": {
"knob": "quotes",
"default": null,
"fidelity": "exact",
"provenance": "quotes meta.schema (single|double|backtick)"
},
"eslint-stylistic": {
"knob": "quotes",
"default": null,
"fidelity": "exact",
"provenance": "@stylistic/quotes meta.schema"
},
"eslint-yml": {
"knob": "quotes",
"default": null,
"fidelity": "exact",
"provenance": "yml/quotes meta.schema"
},
"rubocop": {
"knob": "EnforcedStyle",
"default": "single_quotes",
"fidelity": "exact",
"provenance": "Style/StringLiterals"
},
"ruff": {
"knob": "format.quote-style",
"default": "double",
"fidelity": "exact",
"provenance": "ruff.schema.json"
},
"prettier": {
"knob": "singleQuote",
"default": false,
"fidelity": "exact",
"provenance": "prettier options"
},
"shellcheck": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "SC quoting-safety check, not style"
},
"perlcritic": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "policy, no single/double enforce knob"
},
"codeql": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "pattern query, no config"
},
"hadolint": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "Dockerfile check, no quote-style knob"
},
"brakeman": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "security scanner, not a style linter"
},
"semgrep": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "pattern rule, no config"
},
"jsonc": {
"knob": null,
"fixed": true,
"fidelity": "advisory",
"provenance": "JSON is double-quote by spec; jsonc/quote-props is a different axis"
}
}
}
}
}