# Сгенерировать commit message (EvoBGP)

Сгенерируй сообщение коммита для **текущих staged-изменений**. Не выполняй `git commit`, если пользователь явно не просил закоммитить.

## Обязательный workflow (MUST)

1. Прочитай скилл [`.cursor/skills/commit-message/SKILL.md`](../skills/commit-message/SKILL.md).
2. Следуй правилу [`.cursor/rules/conventional-commits.mdc`](../rules/conventional-commits.mdc).
3. **Первым вызовом Shell** из корня репозитория:

```powershell
powershell -NoProfile -File scripts/commit/staged-context.ps1
```

4. Строй текст **только** по JSON stdout (`groups`, `stat`, `diff_excerpt`). Exit `1` → index пуст, сообщи пользователю.
5. **Запрещено** обходить скрипт через один `git diff --cached`.

## Формат вывода

Для каждого коммита (при auto-split — по одному блоку):

```
<type>(<scope>): <summary in English>

<тело на русском>
```

Плюс пояснение (RU): semver impact (`minor`|`patch`|`none`|`major`), почему выбран type, был ли split.

## Semver (кратко)

- Новая пользовательская возможность → `feat` (minor)
- Починка ожидаемого поведения / баг → `fix` (patch)
- Follow-up баги после недавнего `feat` в том же scope → **`fix`**, не `feat`
- Только перестройка без нового поведения → `refactor` (patch, без новых функций)

Заголовок — EN, императив, ≤72 символов. Тело — RU.
