# Подсказки для агента (Cursor) ## GitVerse / деплой статики Полный чеклист: **`docs/gitverse-sync.md`** → раздел **«Инструкция для агента (Cursor)»**. Деплой на VPS: **`docs/vps-deploy.md`**. Кратко по запросу пользователя «выложить на GitVerse», «синк gitverse», «задеплоить»: 1. При правках `src/pages/**` или `src/partials/**` — `npm run build:pages`; при смене шрифтов/Plyr или `package.json` — `npm run build` (включает `vendor:copy`). 2. Затем `npm run sync-gitverse` (разрешения **network** и **git_write**). 3. Не запускать синк без явного запроса пользователя. По запросу «задеплой в Coolify», «задеплой на VPS»: 1. При правках в `public/` — `npm run deploy:vps` (разрешения **all**). 2. По запросу «задеплой везде» — `npm run deploy` (VPS + GitVerse). Не запускать деплой на VPS без явного запроса: скрипт перезаписывает `/data/static-site` на сервере. ## Git: корневой репозиторий Этот репозиторий в корне проекта **только локальный** (рабочая копия, история коммитов для себя). **Не добавлять `origin` и не пушить** в удалённый репозиторий из агента, если пользователь явно не попросил настроить remote и не дал URL. Выгрузка наружу — отдельный сценарий через **`npm run sync-gitverse`** в папку `gitverse` (см. выше), а не `git push` из корня. ### Влить в `master`, оставаясь на текущей ветке Запрос «влить в мастер» **не означает** `git checkout master`, если пользователь не просил переключиться. - **Fast-forward** (ветка впереди `master`): на текущей ветке — `git branch -f master HEAD` или `git push . HEAD:master`. - **Нужен merge-коммит** (`master` ушёл вперёд): `git checkout master` → `git merge <ветка>` → `git checkout -` (вернуться на прежнюю ветку). - После влития **не меняй** активную ветку в IDE без запроса; при необходимости уточни, на какой ветке продолжать работу. ## Design System Страница-каталог: **`src/pages/cases/design-system.html`** → после сборки `public/cases/design-system.html`. При **глобальных** правках стилей (токены в `public/css/main.css`, компоненты главной, блоки лонгрида кейса) **обновляй Design System**: живой пример и краткое описание в соответствующей секции, при необходимости — `docs/case-page-blocks.md`. ## Контент кейса в public (по запросу) Обычный путь: `src/pages/cases/` → `npm run build:pages`. Если пользователь явно просит править **собранную** страницу под `npm run serve`, см. **`.cursor/rules/case-content-edit-in-public.mdc`**: правки в `.case-article` в `public/cases/`, синхронизация в `src` по запросу. ## Русские тексты (humanizer-ru) При генерации и правке **русскоязычного контента** для сайта (кейсы, главная, `texts/**`, callout, meta) — читать скилл **`humanizer-ru`** и вычитывать текст по нему перед отдачей пользователю. Подробности: **`.cursor/rules/humanizer-ru-text.mdc`**. ## Правки контента (content-edits, localhost) Режим на странице при `npm run serve` → очередь в **`texts/content-edits/pending.json`**. Apply по запросу **«примени правки»**: читать этот файл, править **`src/pages/`**, **humanizer-ru**, **`npm run build:pages`**; **`pending.json` не очищать** (пользователь удаляет пункты сам). Подробности: **`docs/content-edit-mode.md`**, **`.cursor/rules/content-edit-apply.mdc`**. ## Vendor (шрифты, Plyr) Локально в `public/`, без CDN. Обновление: **`docs/vendor-assets.md`**, команда `npm run vendor:copy`. ## Медиа на сайте (WebP / WebM) По запросу «добавить/обновить картинку или видео» в разметке только **WebP** (изображения, постеры) и **WebM** (видео); исходник конвертировать скриптами, не ждать отдельного уточнения. Подробности: **`.cursor/rules/media-webp-webm-only.mdc`**, `docs/image-optimization.md`, `docs/video-conversion.md`. ## Остальное Правила и таблица доков: **`.cursor/rules/read-docs-before-feature-dev.mdc`** (локально; папка `.cursor/` может быть в `.gitignore`).