Verification · Static analysis · Linting
Correctness rules
Rules for likely bugs: unused results, shadowing, unreachable code, wrong comparisons.
How to build it
- Enable the bug-finding rule groups in the linter config, such as ruff's F and B sets or ESLint's recommended set.
- Fix or baseline existing findings before the lint job starts failing builds.
- Run the linter in CI on every pull request so new findings block merge.
Signals in a repository
- A select or extend-select list under [tool.ruff.lint] that includes F and B rule codes.
- Clippy correctness lints set to deny in lib.rs or Cargo.toml [lints] tables.
- Inline noqa or eslint-disable comments that name a specific correctness rule.
In practice
175 repositories run a tool for this check in the scanned set.
ruff-check· 64 reposeslint· 107 reposgolangci-lint· 26 reposclippy· 45 repos
Examples
-
freeCodeCamp/freeCodeCamp ·
eslinteslint --max-warnings 0 -
nousresearch/hermes-agent ·
ruff-checkruff check --output-format json --exit-zero > $R/head/ruff.json -
TheAlgorithms/Python ·
ruff-checkruff check --output-format=github . -
microsoft/vscode ·
clippycargo clippy ${args[@]} -- -D warnings -
ollama/ollama ·
golangci-lintuses golangci/golangci-lint-action