Awesome Reviewers checks + prompts

Linting

Rule-based detection of bug-prone patterns, unused code and conventions the formatter does not cover.

V1005 technique
tactic Static analysis
144 of 256 scanned repositories run it (56%)

Sub-techniques

3

IDNameDescription
V1005.001Correctness rulesRules for likely bugs: unused results, shadowing, unreachable code, wrong comparisons.
V1005.002Convention rulesProject conventions encoded as lint rules instead of review comments.
V1005.003Custom lint rulesRepository-specific rules written as plugins or pattern rules for mistakes that recur in review.

Craft it

  1. Enable the linter's recommended set and fix or baseline existing findings.
  2. Turn recurring review comments into custom rules (an ESLint plugin, a Semgrep rule, a Clippy lint config).
  3. Fail CI on new findings only, so the baseline shrinks without blocking work.

Reverse engineer it

Signs that a codebase already runs this technique, and where to read how it is configured.

  • Lint config in pyproject.toml ([tool.ruff]), eslint.config.js, .golangci.yml or clippy.toml.
  • A CI job named lint, or a lint script in package.json, Makefile or justfile.
  • Inline suppressions (noqa, eslint-disable) show which rules are enforced.

Where the scanned repositories configure it:

  • .github/workflows/*.yml in 101 repositories
  • package.json in 64 repositories
  • pyproject.toml in 40 repositories
  • .pre-commit-config.yaml in 37 repositories
  • Makefile in 27 repositories
  • eslint.config.mjs in 23 repositories

Detected by the scanner as: Linting (bug-prone patterns, unused code and conventions the formatter does not cover.)

Open-source packages

6

Tools seen in scans

by repositories that run them

ToolReposCommand seenRuns inDocs
eslint autofix 107 eslint . pre-commit, ci, local docs
ruff-check autofix 64 ruff check . pre-commit, ci, local docs
clippy 45 cargo clippy --workspace --all-targets -- -D warnings pre-commit, ci, local docs
golangci-lint 26 golangci-lint run ./... pre-commit, ci, local docs
biome autofix 24 biome format --write . ci, local docs
flake8 17 flake8 . pre-commit, ci, local docs
pylint 17 pylint comfy_api_nodes pre-commit, ci, local docs
shellcheck 10 shellcheck -V pre-commit, ci docs
go-vet 9 go vet ./... ci, local docs
staticcheck 1 staticcheck -checks=U1000 ./... 2>&1 ci docs

Procedure examples

repositories that run it, most-starred first; 40 of 144

RepositoryToolsRuns inEvidence
freeCodeCamp/freeCodeCamp eslint local api/package.json scripts.lint
nousresearch/hermes-agent eslint, ruff-check pre-commit, ci, local lefthook.yml pre-commit.jobs[1]
TheAlgorithms/Python ruff-check pre-commit, ci .github/workflows/ruff.yml jobs.ruff.steps[2]
microsoft/vscode clippy ci .github/workflows/pr-linux-cli-test.yml jobs.cli.steps[6] (Clippy lint)
ollama/ollama golangci-lint ci .github/workflows/test.yaml jobs.test.steps[13]
iptv-org/iptv eslint local package.json scripts.lint
vercel/next.js eslint local package.json scripts.lint-eslint
facebook/react-native eslint local package.json scripts.lint
langgenius/dify eslint, golangci-lint, ruff-check ci, local package.json scripts.lint:eslint
nodejs/node shellcheck ci .github/workflows/linters.yml jobs.lint-sh.steps[1]
langflow-ai/langflow ruff-check pre-commit, ci, local .github/workflows/py_autofix.yml jobs.lint.steps[2]
axios/axios eslint ci, local .github/workflows/run-ci.yml jobs.build-and-run-vitest.steps[3] (Lint)
mui/material-ui eslint local package.json scripts.eslint
fatedier/frp go-vet, golangci-lint ci, local Makefile target vet (line 37)
ant-design/ant-design biome, eslint local package.json scripts.format
mermaid-js/mermaid eslint ci, local .github/workflows/autofix.yml jobs.autofix.steps[4] (Fix Linting)
fastapi/fastapi ruff-check pre-commit, ci .github/workflows/pre-commit.yml jobs.pre-commit.steps[10]
django/django biome, flake8 pre-commit, ci, local .github/workflows/linters.yml jobs.biome.steps[3]
comfyanonymous/ComfyUI pylint, ruff-check ci .github/workflows/ruff.yml jobs.pylint.steps[4] (Run Pylint)
sveltejs/svelte eslint ci, local .github/workflows/ci.yml jobs.Lint.steps[5] (lint)
ggml-org/llama.cpp flake8 pre-commit .pre-commit-config.yaml hooks.flake8
gin-gonic/gin golangci-lint ci .github/workflows/gin.yml jobs.lint.steps[2] (Setup golangci-lint)
home-assistant/core pylint, ruff-check pre-commit, ci .github/workflows/ci.yaml jobs.pylint.steps[3] (Run pylint (fully))
infiniflow/ragflow ruff-check pre-commit lefthook.yml pre-commit.jobs[3]
earendil-works/pi clippy ci .github/workflows/env.yml jobs.tests.steps[4] (Daemon format, lint and unit t...
oven-sh/bun clippy ci, local .github/workflows/rust-lints.yml jobs.clippy.steps[2] (cargo clippy)
python/cpython ruff-check pre-commit .pre-commit-config.yaml hooks.ruff-check
microsoft/playwright eslint ci, local .github/workflows/infra.yml jobs.doc-and-lint.steps[5]
pallets/flask ruff-check pre-commit, ci, local .github/workflows/pre-commit.yaml jobs.main.steps[4]
unionlabs/union eslint local app2/package.json scripts.lint
TauricResearch/TradingAgents ruff-check ci .github/workflows/ci.yml jobs.lint.steps[3] (Lint the repository)
expressjs/express eslint ci, local .github/workflows/ci.yml jobs.lint.steps[3] (Run lint)
browser-use/browser-use ruff-check pre-commit, ci .github/workflows/lint.yml jobs.lint-syntax.steps[2]
grafana/grafana eslint, golangci-lint pre-commit, ci, local .github/workflows/frontend-lint.yml jobs.lint-frontend-prettier.steps[4]
google-gemini/gemini-cli eslint local package.json scripts.lint:fix
zed-industries/zed clippy ci .github/workflows/autofix_pr.yml jobs.run_autofix.steps[10] (autofix_pr::run_...
astral-sh/uv clippy ci .github/workflows/check-lint.yml jobs.clippy-ubuntu.steps[3] (Clippy)
alacritty/alacritty clippy ci .github/workflows/ci.yml jobs.build.steps[4] (Clippy)
prometheus/prometheus golangci-lint ci .github/workflows/ci.yml jobs.golangci.steps[4] (Lint)
nuxt/nuxt eslint local package.json scripts.lint