# eslint-prettier-config

Скилл разворачивает ESLint и Prettier в проекте на TypeScript и React: конфиги, правила, скрипты и хук на коммит.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 установок · ★ 63
- Автор: patricio0312rev
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/patricio0312rev/skills/tree/HEAD/foundation/eslint-prettier-config/SKILL.md
- Обновлён: 2026-01-12
- HTML: https://affpapa.org/nevibecode/skills/eslint-prettier-config

## Что делает

Скилл ведёт агента по шагам: поставить зависимости, написать конфиг ESLint, настроить Prettier, связать их между собой, добавить скрипты и pre-commit проверку. Внутри лежат готовые шаблоны `eslint.config.mjs` для flat config (ESLint v9+) и `.eslintrc.json` для старого формата. Для React подключены `eslint-plugin-react`, `react-hooks` и `react-refresh`, для импортов — `eslint-plugin-import` с сортировкой групп и запретом дублей.

Prettier идёт отдельным файлом `.prettierrc`: точка с запятой, одинарные кавычки, ширина 100, перевод строки `lf`. Плюс `.prettierignore` на `node_modules`, `dist`, `build`, `.next`, `coverage` и lock-файлы. Конфликтующие правила отключает `eslint-config-prettier` — он идёт последним в массиве, иначе форматирование и линт начнут спорить друг с другом.

В конфиге TypeScript прописан `project: './tsconfig.json'`. Если файла нет или он лежит в другом месте, правила с проверкой типов не заработают. Тестовые файлы вынесены в отдельный блок: там сняты запреты на `any` и non-null assertion.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill eslint-prettier-config -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/eslint-prettier-config/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/eslint-prettier-config/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill eslint-prettier-config -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/eslint-prettier-config/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill eslint-prettier-config -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/eslint-prettier-config/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install patricio0312rev/skills eslint-prettier-config
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/eslint-prettier-config/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill eslint-prettier-config -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/patricio0312rev/skills --path foundation/eslint-prettier-config
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/eslint-prettier-config/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill eslint-prettier-config -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/patricio0312rev/skills/tree/HEAD/foundation/eslint-prettier-config/SKILL.md

## Когда брать
- поднять ESLint с нуля в проекте на TypeScript и React
- развести правила ESLint и Prettier, чтобы они не конфликтовали
- настроить сортировку импортов и запрет дублей
- добавить pre-commit проверку перед коммитом
- перевести проект со старого `.eslintrc` на flat config

## Примеры запросов агенту
- Настрой ESLint и Prettier в этом проекте на TypeScript и React
- Переведи конфиг ESLint на flat config для v9
- Добавь pre-commit хук, который прогоняет линт и форматирование

## Похожие
- [sap-fiori-eslint-plugin](https://affpapa.org/nevibecode/skills/sap-fiori-eslint-plugin.md) — скилл · 584 установки
- [fix](https://affpapa.org/nevibecode/skills/react-fix.md) — скилл · 2300 установок
- [ultracite](https://affpapa.org/nevibecode/skills/ultracite.md) — скилл · 11400 установок
- [typescript-quality](https://affpapa.org/nevibecode/skills/typescript-quality.md) — скилл · 1100 установок
- [create-hook](https://affpapa.org/nevibecode/skills/create-hook.md) — скилл · 1200 установок
- [linting-neostandard-eslint9](https://affpapa.org/nevibecode/skills/linting-neostandard-eslint9.md) — скилл · 1100 установок

Из того же набора: [patricio0312rev/skills](https://affpapa.org/nevibecode/by/patricio0312rev/skills.md) — 26 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
