| name | linting-neostandard-eslint9 |
| description | 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. |
| metadata | {"tags":"linting, neostandard, eslint, eslint9, flat-config, javascript, typescript"} |
When to use
Use this skill when you need to:
- Set up linting in a JavaScript or TypeScript project
- Use
neostandard as a Standard-like ESLint v9 flat-config baseline
- Configure
eslint@9 with the flat config system (eslint.config.js/eslint.config.mjs)
- Migrate from
standard to neostandard or ESLint v9
- Migrate from legacy
.eslintrc* configuration to ESLint v9
- Run linting consistently in CI and local development
Quick start: basic neostandard setup
Install dependencies and create a minimal eslint.config.js:
npm install --save-dev eslint@9 neostandard
import neostandard from 'neostandard'
export default neostandard()
Verify the config works:
npx eslint .
Common setup workflow (new project)
- Install
eslint@9 and neostandard (see Quick start above)
- Create
eslint.config.js with neostandard() as the base
- Add any project-specific rule overrides on top
- Run
npx eslint . to confirm no config errors
- Add a lint script to
package.json: "lint": "eslint ."
- Integrate into CI with a non-fix run; use
--fix only in local workflows
How to use
Read individual rule files for implementation details and examples:
Core principles
- Prefer reproducible linting with pinned major versions
- Keep config minimal and explicit
- Use flat config for ESLint v9 projects
- Treat lint failures as quality gates in CI
- Enable auto-fix for local workflows, but validate with non-fix CI runs