| name | sync-template |
| description | Подтянуть переносимые файлы (docs со стандартами BSL, скиллы, шаблоны спек) из репозитория-шаблона edt1c-ai-template в текущий проект. Использовать когда пользователь просит синхронизировать проект с шаблоном, обновить стандарты или docs из шаблона. В самом репозитории шаблона не применять. |
Синхронизируй переносимые файлы из репозитория-шаблона в текущий проект. Если в $ARGUMENTS переданы пути — ограничься ими, иначе проверяй весь переносимый набор.
Шаги
-
Remote. Если remote template не настроен — добавь git@github.com:vandalsvq/edt1c-ai-template.git. Затем git fetch template.
-
Переносимый набор (только эти пути, остальное не трогать):
docs/bsl-*.md, docs/bsp-common-modules.md, docs/mdo-integrity.md
docs/codepilot1c-reference.md, docs/model-selection.md, docs/bsl-check-setup.md
.claude/skills/
specs/_template/, specs/README.md, planning/README.md
Не переносить никогда: CLAUDE.md, README.md, .claude/settings*, planning/examples/, specs/<prefix>-*/, docs/project-init.md — это проектное или одноразовое.
-
Плейсхолдеры проекта. Прочитай из CLAUDE.md проекта (раздел «Проект»): префикс объектов (строка «Префикс всех объектов») и имя EDT-проекта (строка «EDT-проект», без завершающего слэша). В шаблоне примеры кода используют нейтральный префикс prj_ и плейсхолдер <Каталог.Имя> вместо имени EDT-проекта — все сравнения и заборы делай с поправкой на оба. Если что-то из этого в CLAUDE.md не найдено — спроси один раз и предложи записать в CLAUDE.md.
-
Diff по каждому файлу перед забором: сравнивай локальную версию с версией шаблона, в которой плейсхолдеры заменены на проектные значения (например, git show template/main:<файл> | sed -e 's/prj_/<префикс>/g' -e 's/<Каталог.Имя>/<ИмяEDTПроекта>/g' | diff - <файл> или временный файл). Правки исторически текут в обе стороны (из проектов в шаблон тоже), поэтому если локальная версия содержит содержательные правки, которых нет в шаблоне, — не затирай: покажи расхождение пользователю и спроси, в какую сторону синхронизировать (возможно, правку надо отправить в шаблон, а не наоборот).
-
Забор, замена плейсхолдеров, коммит. Одобренные файлы — через git checkout template/main -- <пути>, затем в забранных docs автоматически замени prj_ на префикс проекта и <Каталог.Имя> на имя EDT-проекта (без вопросов — это механика, а не решение). Покажи git diff --stat, закоммить одним коммитом синхронизировать docs из edt1c-ai-template (push — только по явной просьбе).
Usage examples
| Command | What it does |
|---|
/sync-template | Полная сверка и синхронизация переносимого набора |
/sync-template docs/bsl-coding-standards.md | Синхронизировать только один файл |
/sync-template docs/ | Только каталог docs |