Files
preland/CLAUDE.md
Panfilov Konstantin b4dedcfea5
deploy-preland / deploy barbariskatest (push) Skipped
deploy-preland / deploy zoomstage.online (push) Successful in 33s
deploy-preland / deploy zoompixel.online (push) Skipped
deploy-preland / deploy zoompixel.ru (push) Skipped
fix: preserve stage example sets during deploy
2026-10-18 04:28:06 +03:00

45 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкции агентов для `preland`
Область действия — репозиторий `preland/`. Общие правила рабочей области находятся в
[AGENTS.md](../AGENTS.md) и [CLAUDE.md](../CLAUDE.md); канонический процесс и каталог ролей —
[в общей политике](../.known-base/Соглашения/Процесс%20командной%20разработки%20и%20каталог%20ролей.md).
Этот файл и [CLAUDE.md](CLAUDE.md) содержат одинаковые локальные правила; обновлять их вместе.
## Перед работой
- Прочитать [README.md](README.md), [заметку проекта](../.known-base/Проекты/Преленд%20—%20anton-preland.md),
а для выката — `.gitea/workflows/deploy.yml` и единственный `config.json`.
- Проверить состояние ветки и чужие изменения в `preland/`; изменения API сайта согласовать
с его контрактом и инструкциями `api/`.
## Локальные ограничения
- Преленд — PHP без фреймворка и сборки; `Yii::t` реализован локальной заглушкой `i18n.php`.
Сохранять существующие компоненты и передачу меток трафика на сайт.
- Загрузка идёт на `POST /api/images/public/create` с `file` и случайным `client_key`,
переход — через `/api/images/public/claim?key=…`. Ключ одноразовый, срок 30 минут;
переход напрямую на `/public/upscale` не заменяет передачу владельца через claim.
- `host` задаёт сайт назначения; HTTPS необходим для `crypto.randomUUID()`.
Не обходить серверные правила доступа к загрузке и результату обработки.
- Рабочий `config.json` на каждом хостинге настраивает владелец. Деплой не имеет
права перезаписывать его значений. При появлении новой обязательной UTM workflow
получает текущий хостовый конфиг и меняет только ключи, которые прямо
согласованы в задаче. Иные значения, включая уже настроенные UTM, остаются
байт-в-байт прежними. Для #274 `bin/ensure-focus-config.php` — явное
исключение: он задаёт только новый `focus=face` (default и rnd). После каждого
такого выпуска фактический stage-config следует забрать и зафиксировать в Git.
`requisites.html` также живёт только на хостинге и не перезаписывается. Не
создавать target-specific конфиги или `config.json.example`.
- Корневые числовые наборы примеров `/N/` на `zoomstage.online` — редактируемый
контент stage. Обычный push в `staging` должен исключать `[0-9]+/` из SFTP-заливки:
актуальные примеры нельзя перезаписывать Git-версией. Снимок stage фиксируется в
Git отдельной синхронизацией по задаче.
- Коммит в `main` запускает FTP-автодеплой на все цели workflow; откат через `git revert`
также запускает выкат. Коммит, push и изменения хостинга — только по прямому поручению.
- Проверки кода и браузера проводить в Docker без установки ПО на хост.
Проверка загрузки по боевому адресу вызывает реальную обработку; выполнять её только
в согласованном окружении, не публиковать ключи загрузок и FTP-секреты.
План, журнал и база знаний ведутся в корне рабочей области по общим правилам. Ссылки на
политику и документацию не подключают MCP и не дают разрешения на публикацию или выкат.