docs: добавлены workflow для bugfix и refactoring
- blog/AGENTS.md: добавлены Bugfix Lifecycle и Refactoring Lifecycle - tests/AGENTS.md: добавлены Bugfix Test Workflow и Refactor Test Workflow - Добавлены правила для regression tests - Добавлены anti-patterns для багфикса и рефакторинга - Обновлены commit rules для всех типов задач
This commit is contained in:
95
AGENTS.md
95
AGENTS.md
@@ -408,9 +408,85 @@ Commit (во все затронутые проекты)
|
||||
|-- blog, pytfm, pyaqa (root)
|
||||
```
|
||||
|
||||
### Bugfix Lifecycle
|
||||
|
||||
```
|
||||
User: "исправить баг"
|
||||
|
|
||||
v
|
||||
Reproduction Phase
|
||||
|-- Анализ бага, воспроизведение
|
||||
|-- Определение root cause
|
||||
|-- Создание artifact: pyaqa/bugfix/{name}.md
|
||||
|
|
||||
v
|
||||
Write Regression Test
|
||||
|-- Написать тест, воспроизводящий баг
|
||||
|-- Убедиться что тест падает (RED)
|
||||
|
|
||||
v
|
||||
Fix (GREEN)
|
||||
|-- Минимальный фикс
|
||||
|-- Убедиться что тест проходит
|
||||
|
|
||||
v
|
||||
Verification
|
||||
|-- Все существующие тесты проходят
|
||||
|-- Coverage не упал
|
||||
|-- Линтеры, type checker
|
||||
|
|
||||
v
|
||||
User Acceptance
|
||||
|-- Пользователь проверяет исправление
|
||||
|
|
||||
v
|
||||
Commit (во все затронутые проекты)
|
||||
```
|
||||
|
||||
### Refactoring Lifecycle
|
||||
|
||||
```
|
||||
User: "отрефакторить"
|
||||
|
|
||||
v
|
||||
Analysis Phase
|
||||
|-- Анализ кода
|
||||
|-- Определение scope и рисков
|
||||
|-- Создание artifact: pyaqa/refactor/{name}.md (опционально)
|
||||
|
|
||||
v
|
||||
Pre-check
|
||||
|-- Все тесты проходят ДО рефакторинга
|
||||
|-- Фиксация coverage baseline
|
||||
|
|
||||
v
|
||||
Refactoring
|
||||
|-- Пошаговые изменения
|
||||
|-- Проверка тестов после каждого шага
|
||||
|
|
||||
v
|
||||
Post-check
|
||||
|-- Все тесты проходят ПОСЛЕ рефакторинга
|
||||
|-- Coverage не ниже baseline
|
||||
|-- Поведение не изменилось
|
||||
|
|
||||
v
|
||||
Verification
|
||||
|-- Линтеры, type checker
|
||||
|-- Нет новых warnings
|
||||
|
|
||||
v
|
||||
User Acceptance (опционально)
|
||||
|-- Пользователь проверяет, что ничего не сломалось
|
||||
|
|
||||
v
|
||||
Commit (во все затронутые проекты)
|
||||
```
|
||||
|
||||
### Branch Naming
|
||||
- Формат: `feature/{feature-name}`
|
||||
- База: `dev`
|
||||
- **Feature**: `feature/{feature-name}` от `dev`
|
||||
- **Bugfix**: `bugfix/{bug-name}` от `dev`
|
||||
- **Refactor**: `refactor/{name}` от `dev`
|
||||
|
||||
### Test Case IDs
|
||||
- `TC-UNIT-NNN` — unit тесты (domain, use cases)
|
||||
@@ -419,20 +495,23 @@ Commit (во все затронутые проекты)
|
||||
- `TC-E2E-NNN` — End-to-end тесты (Playwright)
|
||||
|
||||
### Test Level Selection
|
||||
Все 4 уровня по умолчанию. Можно сокращать в зависимости от фичи:
|
||||
Все 4 уровня по умолчанию. Можно сокращать в зависимости от задачи:
|
||||
- **Domain-only фича**: только TC-UNIT
|
||||
- **API-only фича**: TC-UNIT + TC-API
|
||||
- **Web UI фича**: TC-UNIT + TC-WEB + TC-E2E
|
||||
- **Full-stack фича**: все 4 уровня
|
||||
- **Bugfix**: уровни в зависимости от слоя бага (минимум unit + regression)
|
||||
- **Refactor**: все существующие тесты (unit + api + web + e2e)
|
||||
|
||||
### Artifact Location
|
||||
- **Шаблон**: `pyaqa/feature/TEMPLATE.md`
|
||||
- **Артефакт фичи**: `pyaqa/feature/{feature-name}.md`
|
||||
- **Feature**: `pyaqa/feature/TEMPLATE.md` → `pyaqa/feature/{feature-name}.md`
|
||||
- **Bugfix**: `pyaqa/bugfix/TEMPLATE.md` → `pyaqa/bugfix/{bug-name}.md`
|
||||
- **Refactor**: `pyaqa/refactor/TEMPLATE.md` → `pyaqa/refactor/{name}.md`
|
||||
|
||||
### Commit Rules
|
||||
При приемке фичи коммитить во ВСЕ затронутые подпроекты:
|
||||
1. `blog/` — если затронут
|
||||
2. `pytfm/` — если затронут
|
||||
При завершении коммитить во ВСЕ затронутые подпроекты:
|
||||
1. `blog/` — если изменен
|
||||
2. `pytfm/` — если изменен
|
||||
3. `pyaqa/` (root) — всегда (обновление ссылок на подпроекты)
|
||||
|
||||
## Notes
|
||||
|
||||
Reference in New Issue
Block a user