# Шаблоны промптов

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Дать **готовые заготовки** под типовые задачи в Cursor — адаптируйте под свой репозиторий.

## Предварительно

- [Структура промпта](struktura-promta.md)

## Время

**40–60 минут** (выберите 2–3 шаблона и примените)

---

## Шаблон: Bugfix

```markdown
Цель: Исправить [описание бага] в [компонент/модуль].

Контекст:
- @[путь/к/файлу]
- @[путь/к/тесту] — воспроизводит баг / должен быть добавлен
- Симптом: [сообщение ошибки, шаги]

Ограничения:
- Минимальный diff
- Не рефакторить вне scope
- [стек / стиль из rules]

Шаги:
1. Воспроизвести (тест или команда)
2. Fix root cause, не симптом
3. Regression test

Готово когда: [команда тестов] exit 0
```

---

## Шаблон: Новая фича (малая)

```markdown
Цель: Добавить [фича] в [модуль].

Контекст:
- @ [аналогичная существующая фича]
- @ [модели / типы]

Ограничения:
- Следовать существующим patterns
- Без новых зависимостей
- Только файлы в [папка]

Готово когда:
- Unit/integration тесты
- [линтер] без новых ошибок
```

---

## Шаблон: Рефакторинг

```markdown
Цель: [что улучшить: именование / разбиение / удаление дубля] в @path/

Ограничения:
- Поведение не меняется (кроме явно указанного)
- Все существующие тесты остаются зелёными
- Коммиты не создавать

Шаги:
1. Перечисли план изменений (файлы)
2. После моего OK — выполни по одному файлу

Готово когда: тесты + diff только в ожидаемых файлах
```

---

## Шаблон: Code review (Chat или субагент)

```markdown
Проведи code review изменений в @path/ (или текущий git diff).

Фокус:
- Корректность и edge cases
- Безопасность (инъекции, секреты)
- Соответствие @.cursor/rules/

Формат: таблица | Severity High/Med/Low | файл:строка | рекомендация

Не переписывай код — только замечания.
```

Для автоматизации используйте ECC agent `code-reviewer`.

---

## Шаблон: Объяснение кода

```markdown
Объясни @file для разработчика, который знает [язык], но новый в проекте.

Структура ответа:
1. Назначение модуля (2–3 предложения)
2. Ключевые функции/типы
3. Поток данных (вход → выход)
4. Зависимости от других пакетов
5. Три «подводных камня»

Без предложений рефакторинга, если не спрошу отдельно.
```

---

## Шаблон: Написание тестов

```markdown
Цель: Покрыть тестами @target.go до [цель coverage / критичные ветки].

Контекст:
- @target.go
- @target_test.go — дополнить, не дублировать
- Использовать стиль существующих тестов в пакете

Ограничения:
- Table-driven tests где уместно
- Без изменения production кода (если не баг)

Готово когда: `go test -cover` / `pytest` показывает [X]% или все ветки case Y покрыты
```

С ECC skill `tdd-workflow` порядок может быть «тест первым» — укажите явно.

---

## Шаблон: Документация

```markdown
Цель: Обновить README раздела [X] после изменений в @src/feature/.

Контекст:
- @README.md
- @src/feature/ — источник правды

Ограничения:
- Русский язык
- Примеры команд copy-paste
- Без реальных секретов (YOUR_API_KEY)

Готово когда: новый разработчик может запустить фичу по README alone
```

---

## Шаблон: Миграция / rename

```markdown
Цель: Переименовать [OldName] → [NewName] во всём пакете @pkg/.

Ограничения:
- Включая тесты и комментарии
- Не трогать другие пакеты
- Проверить импорты

Шаги:
1. grep список вхождений — покажи мне
2. После OK — применить rename

Готово когда: `go build ./...` / `npm run build` успешен
```

---

## Шаблон: Исследование (Plan)

```markdown
Режим: только план, без правок файлов.

Вопрос: [как интегрировать X / выбрать между A и B]

Контекст: @релевантные файлы

Выход:
- 2–3 варианта
- Плюсы/минусы/риски
- Рекомендация с обоснованием
- Оценка трудозатрат S/M/L
```

---

## Как хранить свои шаблоны

| Место | Плюсы |
|-------|-------|
| Личные заметки | Быстрый доступ |
| `.cursor/prompts/` (если используете) | В проекте |
| Skill «team-prompts» | Переиспользование в ECC |

Периодически выносите повторяющиеся ограничения в [rules](../04-rules/README.md).

---

## Самопроверка

1. Какой шаблон для падающего теста?
2. Чем review-шаблон отличается от bugfix?
3. Зачем в миграции шаг «покажи grep»?
4. Какой шаблон вы сохраните в свой набор первым?

## Дальше

→ [Антипаттерны](anti-patterny.md)
