# typescript-clean-code

Скилл для ревью и рефакторинга TypeScript: каталоги запахов кода, четыре слоя проверки и готовые рабочие процессы.

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

## Что делает

Скилл разбирает TypeScript на четырёх уровнях. Первый — репозиторий: какие запахи решает линтер, чтобы не писать двадцать замечаний руками, а один раз завести правило в CI. Дальше строка и функция, потом изменение, потом тип. Уровни смотрят на разное, поэтому находят то, что пропускают остальные.

Внутри двенадцать запахов изменения формы — Shotgun Surgery, Feature Envy, Data Clumps, Long Method и другие — с вопросом на обнаружение, средством для TypeScript и пометкой, когда чинить не надо. Отдельный файл про типы: утечка `any`, `as` против валидации, исчерпывающие проверки, строгие флаги, branded types. Есть рабочие процессы: ревью кода, ревью pull request, рефакторинг с тестами, TDD, новая фича, починка бага, стратегия тестов, оценка задач по PERT и разговор о нереальных сроках. Каждый шаг обновляет `stepsCompleted` во фронтматтере документа, поэтому после сжатия контекста работа продолжается с последнего шага.

Три правила в справочниках помечены как спорные: длина функции, комментарии и полиморфизм G23. Например, исчерпывающий `switch` по размеченному объединению — идиома TypeScript, а не запах. Скилл советует показать обе стороны и опираться на доводы автора кода, а не на число. Установка идёт через `npx skills add`, для GitHub Copilot — через `gh skill install`.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bmad-labs/skills --skill typescript-clean-code -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bmad-labs/skills --skill typescript-clean-code -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bmad-labs/skills --skill typescript-clean-code -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install bmad-labs/skills typescript-clean-code
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bmad-labs/skills --skill typescript-clean-code -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/bmad-labs/skills --path skills/typescript-clean-code
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add bmad-labs/skills --skill typescript-clean-code -a opencode
```

### Claude.ai

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

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

## Когда брать
- разобрать diff на запахи кода перед мержем
- решить, что вынести в линтер, а что оставить на суждение ревьюера
- убрать утечку `any` и лишние `as` в типах
- провести рефакторинг с тестами и не сломать поведение
- оценить задачу и объяснить, почему срок нереальный

## Примеры запросов агенту
- отревьюй этот pull request по всем четырём слоям запахов
- прогони рефакторинг `src/orders.ts` с тестами
- помоги оценить эту задачу по PERT

## Похожие
- [clean-code](https://affpapa.org/nevibecode/skills/clean-code.md) — скилл · 7176 установок
- [clean-code-guard](https://affpapa.org/nevibecode/skills/clean-code-guard.md) — скилл · 4700 установок
- [typescript](https://affpapa.org/nevibecode/skills/mindrally-typescript.md) — скилл · 955 установок
- [solid](https://affpapa.org/nevibecode/skills/solid.md) — скилл · 3500 установок
- [clean-code-principles](https://affpapa.org/nevibecode/skills/clean-code-principles.md) — скилл · 1800 установок
- [code-refactoring-refactor-clean](https://affpapa.org/nevibecode/skills/code-refactoring-refactor-clean.md) — скилл · 1200 установок

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

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

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