- Use ESLint flat config (`eslint.config.js`) with `@eslint/js` recommended rules — add `typescript-eslint` for TypeScript projects.
- Configure rules per-directory with config file nesting — stricter rules for `src/`, relaxed for `test/`.
- Run `eslint --fix .` in pre-commit hooks — catch errors before they reach CI and block the pipeline.
- Use `@typescript-eslint/recommended` for TypeScript projects. Enable `strict` preset for stricter checks.
- Combine with Prettier: use `eslint-config-prettier` to disable formatting rules ESLint shouldn't handle.
- Use framework-specific plugins: `eslint-plugin-react-hooks`, `eslint-plugin-next`, `eslint-plugin-vue`.
- Configure `no-unused-vars`, `no-console`, `prefer-const` as errors — catch real issues, not style nits.