ci(hooks): добавить commit-msg и шаблон Conventional Commits
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
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
Без type/scope semantic-release не ставил тег и пропускал bake.
This commit is contained in:
@@ -1,36 +1,50 @@
|
||||
---
|
||||
description: Conventional commits на русском языке
|
||||
description: Conventional commits на русском — обязательно для semantic-release
|
||||
globs: "**/*"
|
||||
alwaysApply: false
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Commit messages (русский)
|
||||
|
||||
Формат: `<type>[optional scope]: <описание>`
|
||||
Формат: `тип(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` — конфиг, зависимости, правила, CI
|
||||
- `refactor` — рефакторинг без изменения поведения
|
||||
- `docs` — документация
|
||||
- `test` — тесты
|
||||
- `perf` — производительность
|
||||
- `fix` — исправление бага / регрессии / вёрстки
|
||||
- `chore` / `docs` / `build` — конфиг, правила, документация (**без** релиза)
|
||||
- `ci` — CI/CD, hooks (patch-релиз)
|
||||
- `refactor` — рефакторинг без смены UX (patch)
|
||||
- `test` / `style` / `perf` — как обычно
|
||||
|
||||
## Правила
|
||||
|
||||
- Префикс `type` и `scope` — **английский**; текст после `:` — **только русский** (кириллица)
|
||||
- Subject в **императиве**, без точки в конце
|
||||
- Subject и body — **на русском**
|
||||
- Body (опционально) — что и зачем, не как
|
||||
- Scope в скобках при необходимости: `feat(domains): добавить фильтр по статусу`
|
||||
- Scope — **один** идентификатор **без запятых**: `web`, `api`, `ci`, `docker`, `fleet`
|
||||
- Локальный hook `.husky/commit-msg` гоняет `commitlint`
|
||||
|
||||
## Примеры
|
||||
|
||||
```
|
||||
fix(frontend): заменить raw table на shadcn Table на странице доменов
|
||||
feat(fleet): добавить CRUD нод и алиасов
|
||||
|
||||
feat(certificates): добавить предупреждение об истечении срока
|
||||
fix(web): выровнять AttentionQueue на дашборде
|
||||
|
||||
chore(rules): консолидировать правила shadcn/ui для Cursor
|
||||
ci(hooks): добавить commit-msg для Conventional Commits
|
||||
|
||||
chore(docs): описать Traefik deploy
|
||||
```
|
||||
|
||||
## Запрещено
|
||||
|
||||
```
|
||||
Init Commit
|
||||
Update CDN Manager: Add …
|
||||
Enhance CDN Manager: …
|
||||
Refactor: Remove …
|
||||
feat: add nodes
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user