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 neostandard and ESLint v9 flat config for a TypeScript project, including correct package installation, flat config file, TypeScript support, and lint scripts in package.json.",
"type": "weighted_checklist",
"checklist": [
{
"name": "eslint devDependency",
"description": "package.json devDependencies includes 'eslint' (version 9.x or as 'eslint@9' or just 'eslint')",
"max_score": 8
},
{
"name": "neostandard devDependency",
"description": "package.json devDependencies includes 'neostandard'",
"max_score": 8
},
{
"name": "Flat config file",
"description": "An eslint.config.js or eslint.config.mjs file is created (NOT .eslintrc.json, .eslintrc.js, or .eslintrc.yml)",
"max_score": 10
},
{
"name": "neostandard import in config",
"description": "The flat config file imports from 'neostandard' and calls neostandard() as the config base",
"max_score": 10
},
{
"name": "TypeScript option enabled",
"description": "The neostandard() call includes { ts: true } (or equivalent ts option) to enable TypeScript linting",
"max_score": 12
},
{
"name": "lint script",
"description": "package.json scripts includes a 'lint' entry whose value is 'eslint .' (not 'neostandard' or any other command)",
"max_score": 12
},
{
"name": "lint:fix script",
"description": "package.json scripts includes a 'lint:fix' entry whose value is 'eslint . --fix'",
"max_score": 8
},
{
"name": "No .eslintrc files",
"description": "No .eslintrc.json, .eslintrc.js, .eslintrc.yml, or .eslintrc file is created",
"max_score": 8
},
{
"name": "TS rules scoped to TS files",
"description": "If any TypeScript-specific rules are added manually (beyond neostandard's ts:true), they are scoped to *.ts/*.mts/*.cts files, not applied globally to all files",
"max_score": 12
},
{
"name": "Base rule disabled for TS variant",
"description": "If a TypeScript extension rule (e.g. @typescript-eslint/no-unused-vars) is added, the base JS rule (e.g. no-unused-vars) is explicitly turned off",
"max_score": 12
}
]
}