# linter-docs

Справочник по правилам ESLint, Ruff, Pylint, RuboCop, Stylelint и Clippy. Нужен, когда пишешь или отлаживаешь правило enforce() в vigiles.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2000 установок · ★ 15
- Автор: zernie
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/zernie/vigiles/tree/HEAD/skills/linter-docs/SKILL.md
- Обновлён: 2026-10-14
- HTML: https://affpapa.org/nevibecode/skills/linter-docs

## Что делает

Скилл открывает файл с деталями по конкретному линтеру: точные имена правил, AST-селекторы, конфигурация, автофиксы. Внутри шесть файлов — `eslint.md`, `ruff.md`, `pylint.md`, `rubocop.md`, `stylelint.md`, `clippy.md`. Для ESLint это таблица плагинов и правила с учётом типов, для Ruff — больше 800 переписанных правил и настройка в `pyproject`, для Pylint — таблица плагинов и astroid AST, для RuboCop — таблица гемов и DSL node pattern, для Stylelint — PostCSS AST и SCSS, для Clippy — группы линтов и конфигурация.

Это справочник, а не действие. Скилл не запускается сам: в нём стоит `disable-model-invocation: true`, поэтому файл открываешь вручную, когда нужен точный идентификатор правила или разбор, почему правило помечено как отсутствующее либо отключённое. Его читают скиллы `strengthen` и `edit-spec`, когда сопоставляют правило из инструкции с реальным правилом линтера.

Линтеры для JVM и Go — detekt, ktlint, Checkstyle, golangci-lint — вместе с Cedar тоже упоминаются в `enforce()`, но глубокого разбора по ним здесь нет. Их возможности и ограничения лежат в `docs/linter-support.md`. Учти: ktlint работает только с форматированием, а у Checkstyle состояние включения задаётся белым списком. Если пишешь правило под Go или JVM, этот скилл не поможет — иди сразу в `docs/linter-support.md`.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add zernie/vigiles --skill linter-docs -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add zernie/vigiles --skill linter-docs -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add zernie/vigiles --skill linter-docs -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install zernie/vigiles linter-docs
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add zernie/vigiles --skill linter-docs -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/zernie/vigiles --path skills/linter-docs
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add zernie/vigiles --skill linter-docs -a opencode
```

### Claude.ai

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

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

## Когда брать
- найти точное имя правила ESLint для своего случая
- понять, почему правило vigiles помечено как отключённое
- настроить выбор правил Ruff в pyproject
- разобраться с node pattern DSL в RuboCop
- сопоставить правило из инструкции с реальным правилом линтера

## Примеры запросов агенту
- Открой `eslint.md` и найди правило для запрета `any` в аргументах функций
- Мне нужно написать `enforce()` для Ruff — покажи, как выбираются правила в `pyproject`
- Почему vigiles считает правило Pylint отсутствующим? Посмотри `pylint.md`

## Похожие
- [lint-on-save](https://affpapa.org/nevibecode/hooks/lint-on-save.md) — хук · 3235 установок
- [typescript-docs](https://affpapa.org/nevibecode/skills/typescript-docs.md) — скилл · 4200 установок
- [rust-best-practices](https://affpapa.org/nevibecode/skills/rust-best-practices.md) — скилл · 21100 установок
- [coding-guidelines](https://affpapa.org/nevibecode/skills/coding-guidelines.md) — скилл · 4000 установок
- [ruff](https://affpapa.org/nevibecode/skills/ruff.md) — скилл · 3400 установок
- [python-code-style](https://affpapa.org/nevibecode/skills/python-code-style.md) — скилл · 16456 установок

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

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

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