Промпты для Cursor: 7 шаблонов с проверкой

Промпты для Cursor: 7 шаблонов с проверкой

Хороший промпт для Cursor — это контекст (файл, ветка, что уже пробовали) + одна цель + ограничения + формат ответа + проверка (lint/test или явный критерий «готово»). Ниже — семь шаблонов, которые я гоняю с учениками, с антипримерами.

Почему «почини» взрывает diff

Чаще всего вижу одно: Agent получает «сделай нормально» и чинит «заодно» соседние модули. Потом час на откат. Проблема редко в модели — ей не дали границ и definition of done.

Cursor читает открытые файлы, `.cursor/rules` и историю. Пустоты заполняет сам. Промпт — ТЗ на одну итерацию, не заклинание.

| Симптом | Первый фикс |

| --- | --- |

| Правки не там | `@файл` + символ |

| «Сделал», но не работает | Команда теста в промпте |

| Разросся diff | Одна цель на чат |

| Повторяет ошибку | «Попытка 1 → результат» |

Формула CGCFV без аббревиатурной магии

1. **Контекст** — ветка, `@`, stderr, issue.

2. **Цель** — одно действие.

3. **Ограничения** — что нельзя.

4. **Формат** — diff / план / таблица.

5. **Проверка** — команда или ручной сценарий.

Постоянные запреты — в rules. В чате оставляю цель и проверку.

Семь шаблонов

### 1. Баг

```

Контекст: @src/auth/login.ts, падает тест «invalid password».

Цель: починить без регрессии валидного пароля.

Ограничения: не трогать types.ts, без новых зависимостей.

Формат: только login.ts + 2–3 предложения «что было не так».

Проверка: npm test -- login.test.ts

```

Антипример: «Почини логин».

### 2. Рефакторинг

```

Контекст: OrderForm.tsx, дубль валидации 40–90.

Цель: хук useOrderValidation без смены UI/пропсов.

Ограничения: не трогать стили и экспорты.

Формат: план из 3 шагов → после «ок» diff.

Проверка: npm run lint && npm test -- OrderForm

```

### 3. Тесты

```

Контекст: formatPrice без покрытия.

Цель: граничные кейсы 0 / negative / big / null.

Ограничения: Vitest, не менять реализацию.

Проверка: npx vitest run price.test.ts

```

Без «не менять прод-код» агент подгоняет функцию под тест — ловил это не раз.

### 4. Разбор legacy (Ask)

```

Цель: цепочка CSV → БД, без рефакторинга.

Формат: ≤12 шагов с файлами.

Проверка: каждый шаг указывает файл.

```

### 5. План фичи

```

Цель: план i18n без кода, сравнение 2 библиотек.

Формат: шаг | файл | риск | проверка.

```

### 6. Ревью diff

```

Цель: findings high/medium/low по @src/notifications/*.

Ограничения: не править код в том же чате.

```

### 7. Документация API

```

Цель: JSDoc + пример Postman для handleStripeEvent.

Ограничения: не менять логику, ≤15 строк на блок.

```

Ошибки после шаблона

Ask и Agent в одном чате. Нет git checkpoint. Промпт-простыня. Проверка «на глаз». Копипаст чужих путей.

Рабочий цикл у меня: промпт → прогон проверки → уточнение фактами. Три итерации без прогресса — режу цель.

Полная версия с таблицами и FAQ: https://vaybkoder.ru/blog/prompty-dlya-cursor/