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

eslint-v9-flat-config.mdrules/

name:
eslint-v9-flat-config
description:
Configure ESLint 9 flat config, with neostandard as the preferred baseline
metadata:
{"tags":"eslint, eslint9, flat-config, neostandard, javascript, typescript"}

ESLint v9 uses flat config by default. Prefer eslint.config.js or eslint.config.mjs over legacy .eslintrc* files.

Preferred setup in this skill: neostandard baseline

Install:

npm install --save-dev eslint neostandard

Create config (ESM helper):

npx neostandard --esm > eslint.config.js

Run lint:

npx eslint .

Manual flat config (when not using neostandard)

Install (example):

npm install --save-dev eslint @eslint/js typescript-eslint

Basic eslint.config.mjs (JS + TS):

import js from '@eslint/js'
import tseslint from 'typescript-eslint'

export default [
  js.configs.recommended,
  ...tseslint.configs.recommended,
  {
    files: ['**/*.{js,mjs,cjs,ts,mts,cts}'],
    languageOptions: {
      ecmaVersion: 'latest',
      sourceType: 'module'
    },
    rules: {
      'no-unused-vars': 'off',
      '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }]
    }
  }
]

Package scripts

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}

Good practices

  • Use a single root flat config unless package-level variance is required
  • Keep TypeScript-aware rules scoped to TS files
  • Avoid duplicate JS/TS rules; disable base rule when TS extension rule is used
  • Keep CI on non-fix lint runs; reserve --fix for local workflows

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