Files
email-assistant/AGENT.md
T

61 lines
3.3 KiB
Markdown

# AGENT.md — правила работы с репозиторием
## Источник истины: GitVerse (gitverse.ru)
- **GitVerse (gitverse.ru) — ИСТОЧНИК ИСТИНЫ (authoritative upstream).**
Все коммиты и изменения проекта пушатся именно туда.
- **Gitea (gitea.nixg.ru) — ЗЕРКАЛО (mirror).** Не источник; используется
как вторичная/внутренняя копия. Не пушить в gitea как в основное хранилище.
## URL-ы
- **GitVerse (истина, https c токеном):** `https://kpa39l:<GITVERSE_PAT>@gitverse.ru/kpa39l/email-assistant.git`
(remote `gitverse`; токен в `/opt/hermes/.hermes/secrets/git-tokens.env` — source его,
значения не хранить в коде/коммитах)
- **GitVerse API:** `api.gitverse.ru` (переменная `GITVERSE_API` из git-tokens.env)
- **Gitea (зеркало, https):** `https://gitea.nixg.ru/hermes/email-assistant.git`
(текущий remote `origin`)
- **SSH-ключ gitverse:** `~/.ssh/gitverse` (алиас `Host gitverse.ru` в `~/.ssh/config`,
IdentityFile ~/.ssh/gitverse, IdentitiesOnly yes) — валиден для аутентификации,
но push-to-create отключён; для создания репо — API.
## Как пушить
```bash
cd /opt/hermes/email-assistant
set -a && source /opt/hermes/.hermes/secrets/git-tokens.env && set +a
# пуш в источник истины (gitverse)
git push gitverse master
# (опционально) обновить зеркало gitea
git push origin master
```
Создание репозитория на gitverse (если его нет) — через API:
```bash
curl -X POST "$GITVERSE_API/user/repos" \
-H "Authorization: Bearer $GITVERSE_PAT" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{"name":"<repo>","description":"<описание>","private":true,"auto_init":false}'
```
HTTP 201 = создан; 409 = уже существует. `auto_init:false` — иначе первый push упадёт
(non-fast-forward).
## Правила работы
- Перед работой: `git fetch` + аудит сделанного (`git ls-files`, `git log`) —
не дублировать чужую/прошлую работу (см. USER.md: пользователь сам
коммитит в dedinit.ru; импорт old_content 358d56d).
- Все правки — в /opt/hermes/email-assistant; за пределами проекта не
оставлять артефактов.
- Внутри проекта не удалять чужие файлы (правило пользователя).
- Токены НЕ хранить в коде/README/коммитах — только в remote URL git и
в /opt/hermes/.hermes/secrets/git-tokens.env.
---
**Статус (2026-09-15):** репозиторий `kpa39l/email-assistant` создан на gitverse
(private, id 336792, https://gitverse.ru/kpa39l/email-assistant); remote `gitverse`
добавлен; master запушен (HEAD 39df85b51cd4263b0b3350e79eeb8926c7a95ec7).
Пуш подтверждён ls-remote. Грядёт настройка pull mirror в gitea (см. project-git-setup).