Files
docs/projects/template-sync-strategy/canons/index.md
S.Gromov bdb99ade62
All checks were successful
CI/CD Pipeline / build (push) Successful in 39s
CI/CD Pipeline / docker (push) Successful in 1m30s
CI/CD Pipeline / deploy (push) Successful in 8s
refactor: перенести сборку в проекты
- перенесены каноны и VitePress-конфиги в projects/<slug>

- добавлены корневой и проектные build.ts для сборки артефактов

- добавлены shared-библиотеки сборки в projects/_shared/lib

- обновлены CI, Dockerfile, package.json, gitignore и README

- удалена сборка frontend-агента
2026-05-22 19:07:10 +03:00

3.7 KiB
Raw Blame History

title, description, keywords
title description keywords
Template Sync Strategy Управляемое обновление проектов от шаблона через чистую ветку template, временные sync-ветки и PR/MR.
template sync
шаблон проекта
обновление шаблона
git template
sync branch
template branch

Template Sync Strategy

Template Sync Strategy описывает процесс, при котором приложение создаётся от шаблона и дальше регулярно получает обновления шаблона без ручного копирования файлов.

Основной маршрут:

templates/master -> template -> sync/* -> master

Где:

  • templates/master — основная ветка внешнего репозитория шаблона.
  • template — чистый слепок шаблона внутри репозитория приложения.
  • sync/* — временная ветка, где шаблон накладывается на приложение.
  • master — основная ветка приложения.

Задача

Шаблон хорошо решает старт проекта: приносит CI/CD, Dockerfile, зависимости, линтер, сборку, структуру и базовую документацию. Но после старта приложения расходятся: где-то обновили CI, где-то забыли, где-то сделали локальную кастомизацию.

Стратегия нужна, чтобы шаблон оставался общей технической базой не только в первый день проекта, но и на всём жизненном цикле приложения.

Главный принцип

Ветка template должна оставаться чистым слепком оригинального шаблона.

В неё нельзя коммитить изменения приложения и нельзя решать конфликты. Все конфликтные решения выполняются только во временных ветках sync/*.

Состав документации