Files
root daa623fe73 feat(mesh-bg): fade-in шейдера фона + modulepreload графа
- canvas стартует с opacity:0 и плавно проявляется (0.9s) при .is-ready
- initPageMeshShader ставит is-ready после первого кадра
- modulepreload page-mesh-shader.js для параллельной загрузки с main.js
- пересборка страниц (build:pages)
2026-09-24 21:37:40 +02:00

7.0 KiB
Raw Permalink Blame History

Подсказки для агента (Cursor)

Сборка и деплой

Деплой автоматический, но только по пушу в ветку main → автодеплой на хостинг.

Пуш в любую другую ветку (включая dev) деплоя не вызывает — dev это обычная рабочая ветка, в неё можно пушить свободно.

Правило коммитов: после каждой правки делай локальный git commit (без пуша, если не просили). Пуш — только по явному запросу пользователя, и для деплоя он должен идти в main.

По запросу пользователя «собрать», «билд»:

  1. При правках src/pages/** или src/partials/** — npm run build:pages.
  2. При смене шрифтов/Plyr или package.json — npm run build (включает vendor:copy).
  3. Для деплоя — пуш в main (предварительно сделав commit).

Если пользователь просит «влить в мастер» — см. раздел «Влить в master» ниже. Это не то же самое, что пуш в dev.

Git

Репозиторий: http://x1qnvk08zec2u5cx6yh5iexh.155.212.186.39.sslip.io/admin/site-portfolio.git

Влить в 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

Перед работой с UI прочитай DESIGN.md в корне проекта — там описаны токены, типографика, компоненты и правила их применения.

Страницы-каталоги (живые примеры):

  • src/pages/cases/design-system.html → токены, типографика, кнопки, карточки, секции
  • src/pages/cases/template-elements-demo.html → элементы лонгрида: медиа, галереи, видео, callout
  • src/pages/cases/mini-projects-showcase.html → карточки активности (mp-card)

При глобальных правках стилей (токены в public/css/main.css, компоненты главной, блоки лонгрида кейса) обновляй соответствующий каталог: живой пример и краткое описание в секции, при необходимости — 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.

PDF резюме (по запросу)

По запросу «обнови PDF», «перегенерируй PDF»:

  1. Убедиться, что dev-сервер запущен (localhost:4175).
  2. Запустить npm run generate:resume-pdf.
  3. Файл обновится в public/assets/resume/Mamadaev_Nik__CV__Product_Designer_UX-UI.pdf.

Подробнее: docs/resume-pdf.md.

Скрипт требует запущенный сервер — нельзя встроить в обычный build.

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).

Ключевые файлы

Файл Назначение
DESIGN.md Описание дизайн-системы для AI-агентов
public/css/main.css Единый CSS: токены + все компоненты
src/pages/cases/design-system.html Живой каталог токенов, типографики, кнопок, карточек
src/pages/cases/template-elements-demo.html Элементы лонгрида: медиа, галереи, видео, callout
src/pages/cases/mini-projects-showcase.html Карточки активности (mp-card)
docs/case-page-blocks.md Инструкция по блокам лонгридов
docs/resume-pdf.md Генерация PDF резюме (Puppeteer)
docs/translation.md Локализация (ru/en) и перевод через apinex