main ← продакшн (тегированные релизы)
dev ← интеграционная ветка
├── feat/prd-018-dag ← ветка новой функциональности
├── fix/search-bug ← ветка исправления ошибок
└── docs/rfc-002 ← ветка только для документации
| Ветка | Создаётся из | Вливается в | Стратегия |
|---|
feat/*, fix/* | dev | dev | Коммит слияния через PR |
release/v0.x.0 | dev | main + dev | Коммит слияния |
hotfix/* | main | main + dev | Cherry-pick |
<type>(<scope>): <description>
Refs: RFC-001, FR-001..004
| Тип | Когда |
|---|
feat | Новая функциональность |
fix | Исправление ошибки |
docs | Документация / артефакты |
refactor | Без изменения поведения |
test | Только тесты |
chore | Сборка, зависимости, CI |
Code → Audit → Fix → Test → Fmt → Lint → PR
Никогда не создавайте PR сразу после написания кода. PR означает: “Я протестировал, проверил, отформатировал, и всё работает.”
cargo fmt # форматирование
cargo fmt -- --check # проверка: 0 различий
cargo check # компиляция: 0 предупреждений
cargo test # все проходят