- canvas стартует с opacity:0 и плавно проявляется (0.9s) при .is-ready - initPageMeshShader ставит is-ready после первого кадра - modulepreload page-mesh-shader.js для параллельной загрузки с main.js - пересборка страниц (build:pages)
7.0 KiB
Подсказки для агента (Cursor)
Сборка и деплой
Деплой автоматический, но только по пушу в ветку main → автодеплой на хостинг.
Пуш в любую другую ветку (включая dev) деплоя не вызывает — dev это обычная рабочая ветка, в неё можно пушить свободно.
Правило коммитов: после каждой правки делай локальный git commit (без пуша, если не просили). Пуш — только по явному запросу пользователя, и для деплоя он должен идти в main.
По запросу пользователя «собрать», «билд»:
- При правках
src/pages/**илиsrc/partials/**—npm run build:pages. - При смене шрифтов/Plyr или
package.json—npm run build(включаетvendor:copy). - Для деплоя — пуш в
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→ элементы лонгрида: медиа, галереи, видео, calloutsrc/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»:
- Убедиться, что dev-сервер запущен (
localhost:4175). - Запустить
npm run generate:resume-pdf. - Файл обновится в
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 |