Imported from larchanka-training/dmc-1-t1-notebook-mono (
.agents/skills/git-discipline/SKILL.md). Install upstream withnpx skills add larchanka-training/dmc-1-t1-notebook-mono --skill git-discipline. Copyright stays with the author.
Skill: git-discipline
Правила работы с git в монорепозитории и submodules.
Когда использовать
- Начинаешь или закрываешь задачу.
- Готовишь любой коммит.
- Работаешь с submodule'ами (api, ui).
Алгоритм
- Ветки. Основная —
main, рабочие —feat/<краткое-описание>,fix/<краткое-описание>,chore/<краткое-описание>. - Коммиты — атомарные, по Conventional Commits. Текст — на русском, идентификаторы — латиницей.
feat(analytics): добавить endpoints аналитикиfix(executor): обработать ошибку Web Workerdocs(readme): актуализировать структуру проектаchore: add graphify config
- Формат коммита проекта:
<Тема: максимум 50 символов> # Краткое описание * Что реализовано # Почему * Причины выбора подхода # План тестирования ✅ pytest: X/X пройдены (включая N новых) ✅ vitest: X/X пройдены - Submodule workflow. При правках в
api/илиui/:- Commit внутри submodule → вернуться в mono →
git add api(илиui) → commit обновления pointer'а. - Никогда не коммитить submodule pointer без commit'а внутри submodule.
- Commit внутри submodule → вернуться в mono →
- Перед каждым кодовым коммитом — тесты зелёные:
- API:
ruff check . && pytest - UI:
npm run lint && npm run test && npm run build
- API:
.gitignoreобязан содержать:.env,.venv/,__pycache__/,node_modules/,dist/,*.egg-info/,graphify-out/,.graphweave/.
Чего избегать
- Коммита
.env, токенов, логов,*.db. - Push / merge в
main— это делает только пользователь по явному запросу. - Неатомарных коммитов (несколько несвязанных правок в одном).
- Коммита при красных тестах.
- Прямых правок в submodule без commit'а внутри него.
Что делать при утечке секрета
Если токен случайно попал в историю — ротировать токен, удалить из истории (git filter-repo).