# AGENTS.md — Правила для AI-агентов (Hermes) ## ЖЁСТКОЕ ТРЕБОВАНИЕ: все изменения — через OpenSpec **ЛЮБОЕ изменение проекта** (код, docker-compose.yml, config, системные юниты, документация, статусы) **ОБЯЗАНО** проходить через OpenSpec-воркфлоу: 1. `/openspec-propose <имя-изменения>` — создать change (proposal.md → specs/ delta → design.md → tasks.md). 2. `/openspec-apply-change <имя>` — реализовать задачи из tasks.md (с реальной верификацией каждой). 3. `/openspec-archive-change <имя>` — влить delta в main specs (`openspec/specs/`), после `openspec validate`. **Запрещено** (без исключений): - ❌ Править docker-compose.yml / config.yaml / код / юниты напрямую без openspec-change. - ❌ Коммитить изменения без соответствующего openspec-change (коммит = `feat/fix(...): ...; openspec: `). - ❌ «Мелкие правки» в обход openspec: статус-файлы, README, доки — тоже изменения, оформляются так же (допускается `skip_specs: true` для чисто документационных правок). **Исключения**: только по явной команде пользователя («сделай в обход openspec» / подтверждение на прямой фикс). ## Рабочий процесс - Прочитать перед действиями: `STATUS.md`, `PRD.md`, `README.md`, `TODO.md`, `openspec/specs/**/spec.md`. - Верификация каждой задачи — реальная команда (curl, docker ps, systemctl status), не предположение. - Секреты: в `.env`, в git не попадают. - Рестарт сервисов — только извне (SSH sudo systemctl restart). - Git: маленькие коммиты; источник истины gitverse.ru. ## Текущая спецификация - `openspec/specs/gotosocial/` — trusted-proxies, webfinger-and-registration, webclient-and-clean-footer, smtp-email. ## Справочник essentials - Контейнер: `gotosocial` (image superseriousbusiness/gotosocial:0.22.1) - Данные: `/opt/gotosocial/data/` (sqlite.db + storage/) - Порт: 8080 внутри, Caddy vps02 → 10.8.0.2:8080 - SMTP: smtp.jino.ru:587, `GTS_SMTP_FROM`, `GTS_SMTP_USERNAME` (соц@dedinit.ru)