docs(docs): добавить правила оформления коммитов

- Зачем:
  - унифицировать стиль коммитов для всех участников проекта
- Что сделано:
  - добавлен документ docs/COMMIT_RULES.md с форматом и примерами
  - добавлена ссылка на правила в AGENTS.md
- Проверка:
  - проверен staged diff перед коммитом
This commit is contained in:
2026-02-08 16:42:43 +03:00
parent 284dc3dc1f
commit 60cb20406f
2 changed files with 80 additions and 0 deletions
+2
View File
@@ -84,6 +84,7 @@
- Держать изменения минимальными и по теме задания (инфра, схема, ingest, витрины). - Держать изменения минимальными и по теме задания (инфра, схема, ingest, витрины).
- Не коммитить секреты. Если требуется пароль/ключи — использовать `.env` и примеры `.env.example`. - Не коммитить секреты. Если требуется пароль/ключи — использовать `.env` и примеры `.env.example`.
- Оформлять коммиты по правилам из [COMMIT_RULES.md](./docs/COMMIT_RULES.md).
- README/планы обновлять вместе с изменениями инфраструктуры/DDL. - README/планы обновлять вместе с изменениями инфраструктуры/DDL.
- Для спорных или меняющихся API (особенно Airflow/operators/providers) проверять актуальную документацию через `context7` и фиксировать решение в коде/документации. - Для спорных или меняющихся API (особенно Airflow/operators/providers) проверять актуальную документацию через `context7` и фиксировать решение в коде/документации.
- **Комментарии в коде — на русском языке**: - **Комментарии в коде — на русском языке**:
@@ -103,6 +104,7 @@
- [README.md](./README.md) — пользовательская документация (быстрый старт, архитектура) - [README.md](./README.md) — пользовательская документация (быстрый старт, архитектура)
- [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) — подробное описание слоёв и технических решений - [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) — подробное описание слоёв и технических решений
- [data/DE-task.md](./data/DE-task.md) — исходное задание - [data/DE-task.md](./data/DE-task.md) — исходное задание
- [COMMIT_RULES.md](./docs/COMMIT_RULES.md) — правила оформления коммитов
## Примечания по текущему состоянию (если что-то “не встаёт”) ## Примечания по текущему состоянию (если что-то “не встаёт”)
+78
View File
@@ -0,0 +1,78 @@
# Правила оформления коммитов
Документ задаёт единый стиль коммитов для всех участников проекта.
## Язык
- Язык коммитов: русский.
- Технические термины (`Airflow`, `ClickHouse`, `Kafka`, `MV`, `DDL`) допускаются на английском.
## Формат заголовка
- Формат: `<type>(<scope>): <краткое действие>`
- Максимальная длина заголовка: 72 символа.
- Заголовок пишется в повелительном стиле, без точки в конце.
### Разрешённые `type`
- `feat` — новая функциональность
- `fix` — исправление ошибки
- `refactor` — изменение структуры без смены поведения
- `docs` — документация
- `test` — тесты/проверки
- `chore` — сервисные изменения (конфиги, скрипты, хуки)
- `ci` — CI/CD
- `perf` — оптимизация производительности
- `revert` — откат коммита
### Рекомендуемые `scope` для этого репозитория
- `airflow`
- `stg`
- `ods`
- `dds`
- `dm`
- `kafka`
- `superset`
- `monitoring`
- `scripts`
- `docs`
- `infra`
## Структура тела коммита
Если изменение не тривиальное, тело коммита обязательно. Для удобства чтения используйте буллеты.
Рекомендуемый шаблон:
```text
<type>(<scope>): <краткое действие>
- Зачем:
- причина изменения
- Что сделано:
- ключевое изменение 1
- ключевое изменение 2
- Проверка:
- как проверено (команда/тест/смоук-чек)
```
## Размер и границы коммита
- Один коммит = одна логическая задача.
- Не смешивать в одном коммите функциональные изменения и крупный рефакторинг без необходимости.
- Документацию обновлять в том же коммите, где меняется поведение пайплайна или инфраструктуры.
## Ломающие изменения
- Для ломающих изменений используйте `!` в заголовке:
- `feat(ods)!: изменить контракт таблицы browser_event`
- Добавляйте footer:
- `BREAKING CHANGE: ...`
## Примеры
- `feat(ods): перенести STG->ODS в batch шаг Airflow`
- `fix(airflow): ждать данные в STG перед load_ods`
- `docs(architecture): обновить схему потока после миграции ODS`
- `chore(scripts): синхронизировать make transform с новым ETL`