Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript projects, including migrating from legacy `.eslintrc*` files or the `standard` package. Use when you need to set up or fix linting with `eslint.config.js` or `eslint.config.mjs`, troubleshoot lint errors, configure neostandard rules, migrate from `.eslintrc` to flat config, or integrate linting into CI pipelines and pre-commit hooks.
96
95%
Does it follow best practices?
Impact
97%
1.25xAverage score across 5 eval scenarios
Passed
No known issues
{
"context": "Tests whether the agent correctly sets up CI linting (without auto-fix, using npm run lint) and pre-commit hooks (with lint-staged running eslint --fix on changed files only), with Node.js version alignment.",
"type": "weighted_checklist",
"checklist": [
{
"name": "CI uses npm run lint",
"description": "The CI workflow runs linting via 'npm run lint' (not 'npx eslint .' or 'eslint .' directly as a shell command)",
"max_score": 12
},
{
"name": "CI no --fix flag",
"description": "The CI workflow does NOT pass --fix to any eslint command (no auto-fix in CI)",
"max_score": 12
},
{
"name": "CI Node.js version 20",
"description": "The CI workflow specifies Node.js version 20 (matching the stated production version)",
"max_score": 8
},
{
"name": "lint-staged used",
"description": "package.json includes a 'lint-staged' configuration (not a raw pre-commit shell script linting all files)",
"max_score": 12
},
{
"name": "lint-staged targets JS/TS extensions",
"description": "The lint-staged config targets file extensions including .js (and optionally .mjs, .cjs, .ts etc.) — not all files",
"max_score": 8
},
{
"name": "pre-commit runner is eslint",
"description": "The lint-staged command uses 'eslint --fix' (not 'neostandard' or 'standard') as the lint runner",
"max_score": 12
},
{
"name": "lint-staged devDependency",
"description": "package.json devDependencies includes 'lint-staged'",
"max_score": 8
},
{
"name": "husky or equivalent hook setup",
"description": "A pre-commit hook tool (e.g. husky, simple-git-hooks) is configured to run lint-staged on commit",
"max_score": 8
},
{
"name": "CI lint is required step",
"description": "The CI workflow file contains a lint job or step that would fail the workflow if lint fails (not just a warning or informational step)",
"max_score": 10
},
{
"name": "SETUP.md documents hook setup",
"description": "SETUP.md exists and includes instructions for a developer to initialize the pre-commit hooks locally (e.g. npm install + hook initialization command)",
"max_score": 10
}
]
}