63 lines
5.5 KiB
Markdown
63 lines
5.5 KiB
Markdown
# Подсказки для агента (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`).
|