Files
CDNManager/.cursor/rules/commit-messages-ru.mdc
T
Denozordec 64e6df8703
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 6s
quality / changes (push) Successful in 4s
quality / docker-check (push) Skipped
quality / web (push) Successful in 57s
quality / api (push) Successful in 41s
CD / quality (push) Successful in 1m46s
CD / publish (push) Successful in 11m48s
ci(hooks): добавить commit-msg и шаблон Conventional Commits
Без type/scope semantic-release не ставил тег и пропускал bake.
2026-09-04 13:43:48 +07:00

51 lines
1.9 KiB
Plaintext

---
description: Conventional commits на русском — обязательно для semantic-release
globs: "**/*"
alwaysApply: true
---
# Commit messages (русский)
Формат: `тип(scope): описание на русском`
semantic-release на push в `main` создаёт тег и публикует Docker **только** если среди коммитов с прошлого тега есть `feat` / `fix` / `perf` / `ci` / `refactor` (или BREAKING).
Сообщения вроде `Init Commit`, `Update CDN Manager: …`, `Enhance …` **не парсятся** → CD пишет `No releasable commits — skipping image publish`.
## Типы
- `feat` — только новая UX-фича для пользователя
- `fix` — исправление бага / регрессии / вёрстки
- `chore` / `docs` / `build` — конфиг, правила, документация (**без** релиза)
- `ci` — CI/CD, hooks (patch-релиз)
- `refactor` — рефакторинг без смены UX (patch)
- `test` / `style` / `perf` — как обычно
## Правила
- Префикс `type` и `scope` — **английский**; текст после `:` — **только русский** (кириллица)
- Subject в **императиве**, без точки в конце
- Scope — **один** идентификатор **без запятых**: `web`, `api`, `ci`, `docker`, `fleet`
- Локальный hook `.husky/commit-msg` гоняет `commitlint`
## Примеры
```
feat(fleet): добавить CRUD нод и алиасов
fix(web): выровнять AttentionQueue на дашборде
ci(hooks): добавить commit-msg для Conventional Commits
chore(docs): описать Traefik deploy
```
## Запрещено
```
Init Commit
Update CDN Manager: Add …
Enhance CDN Manager: …
Refactor: Remove …
feat: add nodes
```