← ClaudeAtlas

eslint-flat-configlisted

How this repo's ESLint flat config (eslint.config.js) works and how to change it safely — scoping rules, override blocks, `ignores`, plugins, or type-checked lint errors (projectService, TS5110). Use for "eslint is complaining", "turn off this rule for tests", "why is eslint failing", or "add an eslint rule" — anything touching eslint.config.js here.
monte3l/m3l-automation · ★ 0 · Code & Development · score 56
Install: claude install-skill monte3l/m3l-automation
# ESLint flat config (m3l-automation) The single source of lint truth is [`eslint.config.js`](../../../eslint.config.js) at the repo root. It is an **ordered array** built with `tseslint.config(...)`. There is no `.eslintrc`; flat config is the only format ESLint 10 supports. ## When to use Editing `eslint.config.js`: adding/scoping a rule, adding an override block, changing `ignores`, wiring a plugin, or debugging a type-checked-lint failure. ## How this config is laid out (top to bottom — order matters) Later objects override earlier ones for the files they match, so the sequence is deliberate: 1. **Global `ignores`** — a standalone object with only `ignores` (no `files`). Ignores `**/dist/**`, `**/node_modules/**`, `**/coverage/**`, `.claude/{agents,skills,rules,worktrees}/**`, and `.remember/**`. Note `bin/**` and `.claude/hooks/**` are deliberately **not** ignored — they are the only real code under `.claude/` and get their own block below. 2. **Shared presets, spread in** — `js.configs.recommended`, `...tseslint.configs.recommendedTypeChecked`, `importX.flatConfigs.recommended`, `importX.flatConfigs.typescript`. Flat config has **no top-level `extends` key**; you compose by spreading preset arrays/objects into the top-level array. 3. **`**/*.ts` (type-checked core)** — turns on `projectService`, sets the import resolver, and enforces the project's rules (`.js` extension via `import-x/extensions`, `no-explicit-any`, `no-floating-promises`