# Eslint

> ESLint JavaScript linter with plugins. Use for code quality. Use when this capability is needed.

- Skill: `tomevault-io/eslint-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/eslint-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/eslint-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/eslint-2

---


# ESLint

ESLint is the standard linter for JS/TS. v9 (2024/2025) moved to **Flat Config** (`eslint.config.js`), a major breaking change that simplifies configuration.

## When to Use

- **Enforcing Rules**: `no-unused-vars`, `react-hooks/rules-of-hooks`.
- **Code Quality**: Catching bugs before they run.

## Core Concepts

### Flat Config (`eslint.config.js`)

An array of objects. No more `extends` string hell.

```js
export default [js.configs.recommended, { rules: { semi: "error" } }];
```

### Plugins

NPM packages that add rules. `eslint-plugin-react`.

### Parsers

`@typescript-eslint/parser` allows ESLint to understand TS.

## Best Practices (2025)

**Do**:

- **Use Flat Config**: Use the new format.
- **Use `typescript-eslint`**: The typed linting rules are powerful (e.g. `no-floating-promises`).

**Don't**:

- **Don't configure formatting rules**: Disable all formatting rules (use Prettier or Biome for that). use `eslint-config-prettier`.

## References

- [ESLint Documentation](https://eslint.org/)

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/g1joshi) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

