diff --git a/.ai/conventions/engineering.md b/.ai/conventions/engineering.md index 64c9ef7..cebf732 100644 --- a/.ai/conventions/engineering.md +++ b/.ai/conventions/engineering.md @@ -14,8 +14,8 @@ checkout. Внешний API задаётся предоставленным п Начни с результата и affected areas. До edits проследи flow/invariants, найди owner и 1–3 примера. Код показывает механизм; случайный аналог не меняет контракт. -Выбери lightweight или SDD по Engineering Workflow из AGENTS; OpenSpec lifecycle -начинай после явного решения Change Owner. +Выбери lightweight или SDD по [Engineering Workflow](https://git.personal.ksv741.ru/WealthLedger/main/src/commit/59e0831ad28d6990416e651f55d783b8d2ac98c2/.ai/conventions/engineering-workflow.md); +OpenSpec lifecycle начинай после явного решения Change Owner. Перед Node-командами активируй местную `.nvmrc`: если `nvm` не загружен в non-interactive shell, загрузи установленный `$HOME/.nvm/nvm.sh`; затем выполни `nvm use --silent` из frontend. Если `nvm.sh` недоступен, остановись, @@ -83,7 +83,7 @@ generated artifacts), сомнении в evidence или явном запро Работа — в ветке `/-` от актуального `develop`, затем PR в `develop`; для cross-repo ссылки укажи owner/repo#number. Сохраняй чужие изменения; перед commit просмотри staged paths и diff. -Commits и PR titles — Conventional Commits со ссылкой на Issue (`fix: … (#12)` +Commits и PR titles — Conventional Commits с parser-recognized Issue reference (`fix: … (#12)` или `chore: … (WealthLedger/main#27)`); допустим `spec:`. Каждый commit содержит одну связанную задачу. Исключения release и правила ссылки — в Engineering Workflow из AGENTS. Root другого checkout не управляет этим repo. diff --git a/AGENTS.md b/AGENTS.md index c5f4f4f..079beb8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,7 +5,8 @@ [порядок работы](.ai/conventions/engineering.md#граница-и-порядок-работы), затем объединяй triggers задачи и путей; читай активированные темы до решения. До edits найди/создай подходящую Gitea Issue, проверь AC и ветку; чтение -допускается без Issue. Общий маршрут — [Engineering Workflow](https://git.personal.ksv741.ru/WealthLedger/main/src/branch/develop/.ai/conventions/engineering-workflow.md). +допускается без Issue. Общий маршрут — [Engineering Workflow](https://git.personal.ksv741.ru/WealthLedger/main/src/commit/59e0831ad28d6990416e651f55d783b8d2ac98c2/.ai/conventions/engineering-workflow.md) +(main#28; после merge — актуальная версия `develop`). | Решение / сигнал | Читать | | --- | --- | diff --git a/README.md b/README.md index 6f34fa5..d65a396 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,8 @@ Checkout frontend содержит все входы сборки и прове локальную копию и не обращаются к исходникам или CI сервера. Доставка новой схемы — явное обновление snapshot с review и `npm run openapi:generate`. Runtime URL API задаётся окружением, а не расположением другого репозитория. -Разработка идёт напрямую по задаче пользователя; OpenSpec/SDD — по явному запросу. +Разработка начинается с Issue; lightweight или SDD выбирается по критериям +Engineering Workflow из AGENTS. OpenSpec — после явного решения Change Owner. Knip исключает `conventional-changelog-conventionalcommits`: release-it загружает preset по имени из `.release-it.json`. Версия preset закреплена напрямую. diff --git a/commitlint.config.cjs b/commitlint.config.cjs index ff19ddb..ae358bc 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.cjs @@ -1,7 +1,12 @@ module.exports = { + defaultIgnores: false, extends: ["@commitlint/config-conventional"], - ignores: [(message) => /^chore\(release\): \d+\.\d+\.\d+/.test(message)], + ignores: [ + message => /^chore\(release\): \d+\.\d+\.\d+$/.test(message.trim()), + message => /^Merge pull request ['"].+['"] \(#\d+\) from .+ into .+$/.test(message.trim()), + ], rules: { + "references-empty": [2, "never"], "type-enum": [ 2, "always", @@ -20,6 +25,5 @@ module.exports = { "revert", ], ], - "references-empty": [2, "never"], }, };