docs(governance): enforce OpenSpec workflow for all changes; openspec: enforce-openspec-workflow

This commit is contained in:
estorozhenko
2026-09-13 11:12:21 +00:00
parent 1cee142631
commit 568335a643
4 changed files with 132 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# 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: <change-name>`).
- ❌ «Мелкие правки» в обход 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)