From 53dd4be2dd7b328ad337554f2fab43720cfa378a Mon Sep 17 00:00:00 2001 From: "a.tolmachev" Date: Sun, 12 Apr 2026 01:56:49 +0300 Subject: [PATCH] docs: clarify tdd and delivery workflow --- AGENTS.md | 4 +++- docs/development-rules.md | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f1bb0d7..7f084f3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,11 +24,13 @@ If code and docs diverge, update docs first or together with code. ## Workflow - Follow `Red -> Green -> Refactor -> Commit`. -- Every feature uses its own branch: `feat/`. +- Backend changes follow `TDD` strictly. Frontend layout, copy, and UX cleanup do not require strict `TDD`, but working frontend behavior should still be verified before commit. +- Large features use their own branch: `feat/`. - Commits must be atomic. - Push periodically after one or more logically complete `RGR + commit` cycles. - Do not wait for the whole feature to be finished before pushing. - Delete merged feature branches both locally and in `origin`. +- During the current refactoring and small-fix phase, changes are merged directly into `main` on GitHub without opening PRs by default. ## Language rules diff --git a/docs/development-rules.md b/docs/development-rules.md index afed24a..2d774bd 100644 --- a/docs/development-rules.md +++ b/docs/development-rules.md @@ -59,18 +59,28 @@ - `crank-mapping` - `crank-registry` - `crank-runtime` +- `admin-api` +- `mcp-server` - YAML import/export - versioning logic +- любая backend-логика, меняющая доменный контракт, поведение runtime, storage, auth, execution или transport ### 5.2. Что допускается делать сначала каркасом, потом тестами - frontend layout; +- frontend copy, UX cleanup и визуальная реструктуризация; - wiring приложений; - пустые `axum` handlers; - начальный scaffold `cargo workspace`. Но как только появляется логика, она должна переходить под тесты. +Практическое правило проекта: + +- для backend `TDD` обязателен; +- для frontend строгий `TDD` не требуется на уровне верстки, копирайта и UX-правок; +- frontend-изменения все равно должны подтверждаться проверками, smoke-тестами или e2e там, где это уместно. + ### 5.3. Правило минимального шага Нельзя писать сразу большую "умную" реализацию на сотни строк без промежуточных тестов. @@ -179,7 +189,7 @@ git@github.com:bsodfather/crank.git Фиксируем такой workflow: - `main` - стабильная ветка; -- каждая фича делается в отдельной ветке `feat/`. +- крупные фичи делаются в отдельной ветке `feat/`; - после merge feature-ветка удаляется и в `origin`, и локально. Примеры: @@ -215,7 +225,25 @@ git@github.com:bsodfather/crank.git - push делается после одного или нескольких логически связанных `RGR + commit`; - push должен оставлять ветку в консистентном состоянии. -### 8.5. Merge cleanup +### 8.5. Current delivery mode + +Для текущего этапа проекта фиксируется отдельное правило доставки: + +- рефакторинг; +- небольшие исправления; +- UX/copy cleanup; +- documentation-driven remediation + +по умолчанию вливаются напрямую в `main` в GitHub без обязательного PR. + +PR остается допустимым, если: + +- изменение большое; +- меняется публичный контракт; +- нужен отдельный review gate; +- работа идет рискованным или спорным срезом. + +### 8.6. Merge cleanup После merge в `main` обязательно: