Files
docs/canons/template-sync-strategy/index.md
S.Gromov 1a14df9366 feat: добавить документацию Template Sync Strategy
- добавлены каноны и VitePress-сайт стратегии обновления шаблонов

- подключена карточка документации на главной странице

- добавлены сборочные скрипты, Caddy-маршрут и Docker-сборка

- добавлена git-иконка для карточки и сгенерированы публичные артефакты
2026-05-13 23:23:31 +03:00

49 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Template Sync Strategy
description: Управляемое обновление проектов от шаблона через чистую ветку template, временные sync-ветки и PR/MR.
keywords: [template sync, шаблон проекта, обновление шаблона, git template, sync branch, template branch]
---
# Template Sync Strategy
Template Sync Strategy описывает процесс, при котором приложение создаётся от шаблона и дальше регулярно получает обновления шаблона без ручного копирования файлов.
Основной маршрут:
```text
templates/master -> template -> sync/* -> master
```
Где:
- `templates/master` — основная ветка внешнего репозитория шаблона.
- `template` — чистый слепок шаблона внутри репозитория приложения.
- `sync/*` — временная ветка, где шаблон накладывается на приложение.
- `master` — основная ветка приложения.
## Задача
Шаблон хорошо решает старт проекта: приносит CI/CD, Dockerfile, зависимости, линтер, сборку, структуру и базовую документацию. Но после старта приложения расходятся: где-то обновили CI, где-то забыли, где-то сделали локальную кастомизацию.
Стратегия нужна, чтобы шаблон оставался общей технической базой не только в первый день проекта, но и на всём жизненном цикле приложения.
## Главный принцип
Ветка `template` должна оставаться чистым слепком оригинального шаблона.
В неё нельзя коммитить изменения приложения и нельзя решать конфликты. Все конфликтные решения выполняются только во временных ветках `sync/*`.
## Состав документации
- [Зачем это нужно](./concepts/why.md) — какие проблемы появляются без update-flow.
- [Модель веток](./concepts/model.md) — роли `templates/master`, `template`, `sync/*` и `master`.
- [Правила процесса](./concepts/rules.md) — ограничения, которые удерживают схему чистой.
- [Новый проект от шаблона](./setup/clean-repository.md) — старт приложения с правильной историей.
- [Миграция существующего master](./setup/existing-master-migration.md) — одноразовое связывание несвязанных историй.
- [Обычное обновление шаблона](./workflows/update-template.md) — регулярный рабочий процесс.
- [Решение конфликтов](./workflows/resolve-conflicts.md) — где и как совместить шаблон с приложением.
- [Review и merge](./workflows/review-and-merge.md) — как доставлять sync-ветку в `master`.
- [Памятка](./reference/cheatsheet.md) — короткий набор команд.
- [Troubleshooting](./reference/troubleshooting.md) — типовые ошибки и диагностика.
- [Глоссарий](./reference/glossary.md) — основные термины.