mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
64 lines
3.5 KiB
Markdown
64 lines
3.5 KiB
Markdown
# AGENT.md — правила работы с репозиторием
|
||
|
||
## Источник истины: GitVerse (gitverse.ru)
|
||
|
||
- **GitVerse (gitverse.ru) — ИСТОЧНИК ИСТИНЫ (authoritative upstream).**
|
||
Все коммиты и изменения проекта пушатся именно туда.
|
||
- **Gitea (gitea.nixg.ru) — ЗЕРКАЛО (mirror).** Не источник; используется
|
||
как вторичная/внутренняя копия. Не пушить в gitea как в основное хранилище.
|
||
Pull mirror: `estorozhenko/email-assistant` ← gitverse `kpa39l/email-assistant`,
|
||
интервал 12h (создан 2026-09-15).
|
||
|
||
## 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 `estorozhenko/email-assistant` создан
|
||
(201, id 54, интервал 12h), HEAD совпадает с gitverse, mirror-sync 200. |