CtrlK
BlogDocsLog inGet started
Tessl Logo

mcollina/linting-neostandard-eslint9

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

Quality

96%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

migration-from-standard.mdrules/

name:
migration-from-standard
description:
Accurate migration path from standard to neostandard on ESLint v9
metadata:
{"tags":"standard, neostandard, eslint, eslint9, migration, flat-config"}

Use this when a project currently runs standard and you want modern ESLint v9 + flat config while keeping a Standard-like baseline.

Canonical migration flow

  1. Install dependencies:
npm install --save-dev neostandard eslint
  1. (Optional preflight) verify helper command works:
npx neostandard --help
  1. Generate migrated config from existing package.json "standard" settings:
npx neostandard --migrate > eslint.config.js
  1. Replace lint scripts/CI commands from standard to eslint:
{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}
  1. Cleanup old setup:
npm uninstall standard

Then remove obsolete top-level "standard" config and editor integrations specific to standard (for example vscode-standard).

Semicolon and TypeScript variants

  • semistandard-like migration:
npx neostandard --semi --migrate > eslint.config.js
  • TypeScript support in resulting config: set ts: true (or regenerate/configure accordingly).

Behavioral differences to expect

  • neostandard is built for ESLint 9 flat config (no standard-engine wrapper)
  • rule implementation uses modern flat-config/plugin model
  • some rules differ from legacy standard/eslint-config-standard behavior
  • on neostandard v1+, import rules from eslint-plugin-import-x are not bundled by default

If you relied heavily on import linting in your old setup, either:

  • add eslint-plugin-import-x explicitly, or
  • rely on tsc --noEmit (recommended for TypeScript-heavy projects)

Run lint and fix incrementally after migration; keep tooling migration separate from rule-tuning commits.

rules

ci-and-editor-integration.md

eslint-v9-flat-config.md

migration-from-legacy-eslint.md

migration-from-standard.md

neostandard.md

SKILL.md

tile.json