Проведи ретроспективный анализ текущей сессии и предложи Cursor Rules для сохранения ценного контекста и паттернов. Это не просто список — нто процесс дистилляции знаний.
Перед анализом сессии ОБЯЗАТЕЛЬНО изучи существующий контекст проекта:
Прочитай все файлы .cursor/rules/*/RULE.md:
- Какие правила уже определены?
- Какой стиль и формат используется?
- Какие области уже покрыты?
Прочитай все файлы .cursor/commands/*.md:
- Какие команды уже есть?
- Какой стиль форматирования?
- Не предлагать дубликаты существующих правил
- Понимать контекст и стиль проекта
- Расширять существующие правила вместо создания новых (если уместно)
Проанализируй каждый turn разговора от начала до этой команды:
Что искать:
- ბпехи: Какие паттерны привели к правильному решению?
- Ошибки и исправления: Где подход провалился? Что исправил пользователь?
- Открытые файлы: Какие файлы обсуждались? Какие паттерны в них?
- Изменения кода: Какие архитектурные решения были приняты?
- Domain knowledge: Какие специфические знания о проекте были раскрыты?
Сравни с существующими правилами (из Phase -1):
- Какие инсайты уже покрыты существующими правилами?
- Какие паттерны действительно новые?
Выведи краткий bullet-list инсайтов (для себя, не финальный отчёт).
Для каждого потенциального правила выполни проверку:
| Check | Критерий | Вопрос |
|---|---|---|
| A0 | Not Duplicate | Правило уже существует в .cursor/rules/? |
| A1 | Universal | Применимо к разным проектам/задачам? |
| A2 | Abstracted | Общий принцип, не привязан к этой сессии? |
| A3 | High-Impact | Предотвращает реальные проблемы? |
Для каждого кандидата выведи внутреннюю проверку:
Кандидат: "fail-fast-principle"
├── A0 Not Duplicate: нет в существующих правилах
├── A1 Universal: применимо к любому backend
├── A2 Abstracted: общий принцип, не про конкретный баг
├── A3 High-Impact: предотвращает silent failures
└── RESULT: PASS -- включить в предложения
Кандидат: "tdd-workflow"
├── A0 Not Duplicate: уже есть .cursor/rules/tdd-workflow/RULE.md
└── RESULT: REJECT -- правило уже существует
Кандидат: "fix-jwt-token-issue"
├── A0 Not Duplicate: нет в существующих правилах
├── A1 Universal: специфично для этой задачи
├── A2 Abstracted: привязано к конкретному багу
├── A3 High-Impact: средний импакт
└── RESULT: REJECT -- не предлагать
Выводи ТОЛЬКО правила с результатом PASS.
| Категория | Когда использовать |
|---|---|
| Global | Принцип для ЛЮБОГО проекта |
| Project | Специфика текущего проекта/стека |
После AI Pre-Check выведи детальный индекс с обоснованием каждого правила:
## Найдено N правил
### Global (M)
**1. fail-fast-principle**
- Суть: Exceptions вместо ruurn null/empty, без fallbacks
- Зачем: Баги видны сразу, не прячутся в silent failures
- Откуда: [момент сессии где это проявилось]
**2. github-research-proofs**
- Суть: При исследовании -- ссылки, цитаты, таблицы с пруфами
- Зачем: Ответы проверяемы, не "я так думаю"
- Откуда: [момент сессии]
### Project (K)
**3. tdd-workflow**
- Суть: Red -> Green -> Refactor с остановками на каждой фазе
- Зачем: Контроль над процессом, нет спешки
- Откуда: [момент сессии]
---
Продолжить? `y` -- все, `1` -- Global, `2` -- Project, `n` -- отмена
| Ответ | Действие |
|---|---|
y / Enter |
Phase 2 -- все предложения полностью |
1 |
Phase 2 -- только Global группа |
2 |
Phase 2 -- только Project группа |
1,2 |
Phase 2 -- обе группы |
n |
Завершить без предложений |
Для каждого выжившего правила выведи:
### N. [название-в-kebab-case]
**Категория**: Global | Project
**Pre-Check**: A0 A1 A2 A3
**Причина**:
- Почему важно?
- Какую проблему предотвращает?
**Триггер**:
- `alwaysApply: true` -- всегда
- `globs: ["**/*.ts"]` -- для файлов
- Manual -- через @upominanie
**RULE.md**:
---
description: "Краткое описание (1 строка)"
globs:
- "puth/**"
alwaysApply: false
---
[Содержимое правила]
---
После вывода предложений выведи:
## Выбор
Ответь в формате: `1+, 2-, 3~ sdelaj koroche`
- + -- sozdat kak est
- - -- otklonit
- ~ -- modificirovat (ukazhi chto izmenit)
Ili: `all` dlya vseh, `0` dlya otmeny.
- Sozdaj
.cursor/rules/[nazvanie]/RULE.md - Podtverdi:
Sozdano: .cursor/rules/nazvanie/RULE.md
| Tip | Primery |
|---|---|
| Arkhitektura | Moduli, sloi, naming conventions |
| Workflow | TDD, fixtures, git workflow |
| Integracii | API retry, error handling, env config |
| Debug | Format logov, trejsing |
| Domain | Biznes-logika, terminy, svyazi |
- NE sozdavaj avtomaticheski -- tolko posle vybora polzhovatelya
- NE predlagaj trivialnye -- Quality Filter obyazatelen
- < 500 strok -- bolshie razbivaj
- Self-contained -- ponyatno bez konteksta
- Actionable -- konkretnye instrukcii, ne sovety
Phase -1 (Context) -> Phase 0 -> Phase 1 (Pre-Check) -> Phase 1.5 (Index) -> otvet polzhovatelya -> Phase 2 -> Phase 3