CtrlK
BlogDocsLog inGet started
Tessl Logo

simon/skills

Auto-generated tile from GitHub (10 skills)

92

1.16x
Quality

94%

Does it follow best practices?

Impact

92%

1.16x

Average score across 44 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

eslint-v9-flat-config.mdskills/linting-neostandard-eslint9/rules/

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

README.md

tile.json