From c2cdf40cad384db8a2964b6eb8dec7308e1ffa1f Mon Sep 17 00:00:00 2001 From: Aleksey Shakhmatov Date: Thu, 16 Jul 2026 13:10:34 +0300 Subject: [PATCH] docs(skills): fill cross-cutting Git/Jira conventions - commit format: Conventional Commits (all six *-standards) - branches/deploy: feature branches from main; release-* -> stage, tag v* -> prod (all six *-standards) - jira-workflow: statuses To Do -> In Progress -> Review -> Done; who moves status when; MR link + status transition policy; comment guidance - key-prefix list stays TODO (unknown project prefixes) Verified: no leftover commit-format TODOs, deploy convention in all 6, skills still load via pi. --- skills/go-standards/SKILL.md | 6 ++++-- skills/jira-workflow/SKILL.md | 13 +++++++------ skills/kotlin-standards/SKILL.md | 5 ++++- skills/python-standards/SKILL.md | 5 ++++- skills/rust-standards/SKILL.md | 5 ++++- skills/swift-standards/SKILL.md | 5 ++++- skills/typescript-standards/SKILL.md | 5 ++++- 7 files changed, 31 insertions(+), 13 deletions(-) diff --git a/skills/go-standards/SKILL.md b/skills/go-standards/SKILL.md index 24261f5..3db86bb 100644 --- a/skills/go-standards/SKILL.md +++ b/skills/go-standards/SKILL.md @@ -40,8 +40,10 @@ api/ # спецификации API (proto/openapi) ## Коммиты и MR -- **Формат коммитов:** ``. -- **Ветки:** от основной, именование ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - **Описание MR:** что и зачем изменено, как проверено (линтеры + тесты), ссылка на тикет diff --git a/skills/jira-workflow/SKILL.md b/skills/jira-workflow/SKILL.md index a0c9d87..67a7048 100644 --- a/skills/jira-workflow/SKILL.md +++ b/skills/jira-workflow/SKILL.md @@ -56,12 +56,13 @@ MR из защищённой ветки (`main`/`master`/`release/*`) скрип ## Соглашения - - -- **Формат ключей задач:** `` -- **Статусы и переходы:** `` -- **Кто и когда меняет статус:** `` -- **Что писать в комментарии при старте/готовности:** `` +- **Формат ключей задач:** вида `PROJ-123` (буквенный префикс проекта + номер). + `` +- **Статусы и переходы:** To Do → In Progress → Review → Done. +- **Кто и когда меняет статус:** разработчик переводит тикет: в **In Progress** — при старте работы; + в **Review** — при выставлении MR (в тикет добавляется ссылка на MR); в **Done** — после мержа. +- **Что писать в комментарии:** при старте — кратко о начале работы; при готовности — ссылку на MR + (используй `create-mr.sh`, который сразу приложит ссылку, либо `link-mr.sh`). ## Полезное diff --git a/skills/kotlin-standards/SKILL.md b/skills/kotlin-standards/SKILL.md index 8ee9039..a4c1b8c 100644 --- a/skills/kotlin-standards/SKILL.md +++ b/skills/kotlin-standards/SKILL.md @@ -44,7 +44,10 @@ app/ # Android-модуль приложения ## Коммиты и MR -- **Формат коммитов:** ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `ktlintCheck`, `detekt`, `test` (и `lint`) — всё зелёное. diff --git a/skills/python-standards/SKILL.md b/skills/python-standards/SKILL.md index 64899f3..ad7775f 100644 --- a/skills/python-standards/SKILL.md +++ b/skills/python-standards/SKILL.md @@ -40,7 +40,10 @@ tests/ ## Коммиты и MR -- **Формат коммитов:** ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `ruff check .`, `ruff format --check .`, `mypy .`, `pytest` — всё зелёное. diff --git a/skills/rust-standards/SKILL.md b/skills/rust-standards/SKILL.md index 1899286..7529d92 100644 --- a/skills/rust-standards/SKILL.md +++ b/skills/rust-standards/SKILL.md @@ -44,7 +44,10 @@ benches/ # бенчмарки (если есть) ## Коммиты и MR -- **Формат коммитов:** ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `cargo fmt --check`, `cargo clippy -D warnings`, `cargo test` — всё зелёное. diff --git a/skills/swift-standards/SKILL.md b/skills/swift-standards/SKILL.md index 673ba6a..a9d221a 100644 --- a/skills/swift-standards/SKILL.md +++ b/skills/swift-standards/SKILL.md @@ -39,7 +39,10 @@ Tests/Tests/... ## Коммиты и MR -- **Формат коммитов:** ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `swiftformat --lint .`, `swiftlint --strict`, тесты — всё зелёное. diff --git a/skills/typescript-standards/SKILL.md b/skills/typescript-standards/SKILL.md index 21bc037..7613bfe 100644 --- a/skills/typescript-standards/SKILL.md +++ b/skills/typescript-standards/SKILL.md @@ -42,7 +42,10 @@ test/ | *.test.ts # рядом с кодом или в test/ ## Коммиты и MR -- **Формат коммитов:** ``. +- **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). +- **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). + Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. + Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `tsc --noEmit`, `eslint .`, `prettier --check .`, тесты — всё зелёное.