docs: AGENTS.md — памятка для ИИ-агентов, agent=laptop-agent
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# egorin — правила для ИИ-агентов
|
||||
|
||||
Рабочий репозиторий подрядчика Егорина по проекту «Servaki Monitor» — единая смартпанель мониторинга (энергомониторинг Sunways/Wiren Board, GPS-мониторинг Navtelecom/Traccar, сетевая инфраструктура mesh2). Фронт: React 18 + Vite + TypeScript + Tailwind. Основной/боевой репозиторий проекта — `german/servaki-monitor` (см. `DEPLOY-mapviewgl-lilia.md`), деплой прод-версии — на узле vm-mts1 (`2.59.83.139`) за Caddy, домен `monitor.servaki.online`.
|
||||
|
||||
> Контекст флота — vault `german/fleet-vault` (`00-MOC/HOME.md`), правила работы с ним — `knowledge/skill-vault-workflow.md`. Здесь — только специфика этого репозитория.
|
||||
|
||||
## Структура — ключевые папки/файлы, куда класть новое
|
||||
|
||||
- `README.md`, `SPEC.md` — описание продукта и сводное ТЗ/архитектура
|
||||
- `src/` — фронт: `App.tsx`, `main.tsx`, `api/`, `components/`, `config/` (реестр модулей), `core/` (типы MonitoredEntity/MonitorEvent), `data/` (моки), `lib/`, `modules/` (energy / smart / gps)
|
||||
- `server/` — Node-шлюз (Express + ws), свои `package.json`, `Dockerfile`, `.env.example`
|
||||
- `deploy/` — приёмная инфраструктура: `ingest/` (flex-server), `ingress-watchdog.*`, MQTT/n8n скрипты, systemd-юниты
|
||||
- `prototypes/` — HTML-прототипы (референсы UI, напр. `orbit-gps-mobile.html`)
|
||||
- `docker-compose.yml`, `Dockerfile`, `nginx.conf` — контейнеризация и прод-прокси
|
||||
- `DEPLOY-mapviewgl-lilia.md` — пример задачи-инструкции для агента по деплою фичи
|
||||
- `.env.example` — плейсхолдеры переменных фронта/шлюза, настоящие значения сюда не класть
|
||||
- Новые компоненты/модули фронта — в `src/modules/<модуль>/`, новые адаптеры шлюза — в `server/src/`
|
||||
|
||||
## Объект и доступ — какое оборудование/узлы/домены затрагивает репо
|
||||
|
||||
- vm-mts1 (`2.59.83.139`, ключ `~/.ssh/id_mts`, НЕ `id_rsa0404`) — прод фронт+шлюз, за Caddy, путь `/opt/servaki-monitor/dist`
|
||||
- Дубль/тяжёлые данные (InfluxDB/Grafana/MQTT/flex-server) — офис-Proxmox
|
||||
- Домен: `monitor.servaki.online`; ingest GPS: `gps.servaki.online:2000` (протокол FLEX/NTCB)
|
||||
- **ru1 трогать нельзя** (правило Германа) — если vm-mts1 виден только через ru1, использовать его ТОЛЬКО как транзитный SSH-прокси (scp), без изменения конфига ru1
|
||||
- Секреты (JWT, Яндекс OAuth client_secret, токены, `.env`) — только на ноде (`chmod 600`) и на Я.Диске; в репо только `.env.example`
|
||||
|
||||
## Зона ответственности — кто ведёт репо
|
||||
|
||||
Ведёт подрядчик Егорин; координация и постановка задач — от german-агента (см. пример в `DEPLOY-mapviewgl-lilia.md`). Правило флота: один узел/ВМ/роутер не трогают два агента одновременно — сверяйся с `owner_agent` заметки в vault и делай свежий `git pull` перед началом работы. vm-mts1 — общий узел с продакшн-репозиторием `german/servaki-monitor`, синхронизируй изменения между репозиториями перед деплоем.
|
||||
|
||||
## Git-воркфлоу
|
||||
|
||||
`git pull --rebase` до работы; `git add -A && git commit -m "<что/зачем>, agent=<имя>" && git push` после каждого атомарного изменения; коммитить мелко и часто; в markdown-конфликтах сохранять обе правки.
|
||||
|
||||
## Что НЕ коммитить
|
||||
|
||||
`.env` (кроме `.env.example`), `*.key`/`*.pem`/`*.crt`, JWT-секреты, Яндекс OAuth client_secret, токены доступа, `node_modules`, `dist` (уже в `.gitignore`), персональные данные клиентов (демо-клиент в SPEC — `tempelhoff`, реальные данные клиентов сюда не класть).
|
||||
|
||||
## Деплой / проверка
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev # http://localhost:5180
|
||||
npm run build # -> dist/
|
||||
```
|
||||
Прод-деплой на vm-mts1:
|
||||
```bash
|
||||
scp dist/index.html ops@2.59.83.139:/opt/servaki-monitor/dist/index.html
|
||||
scp -r dist/assets ops@2.59.83.139:/opt/servaki-monitor/dist/
|
||||
```
|
||||
Проверка: открыть `https://monitor.servaki.online` (десктоп/мобайл-режимы карты), консоль без ошибок, `docker compose up -d --build` для контейнерного варианта. TODO: уточнить актуальный процесс деплоя шлюза (`server/`) — в README описан только этап фронта.
|
||||
|
||||
## Куда писать наработки
|
||||
|
||||
Код/конфиги — сюда. Решение/факт/грабля — заметкой в `fleet-vault/memory/`, по объекту — в `clients/`, плюс ссылка в нужный `00-MOC/*.md`. Копия знаний — Я.Диск `servaki.online\_vault-copy`.
|
||||
|
||||
## Связанное
|
||||
|
||||
Боевой репозиторий проекта — `german/servaki-monitor`; узел деплоя — vm-mts1 (`2.59.83.139`); прототипы UI — `orbit-gps-panel.html`, `sunways-dashboard.html` (наработки «Мониторинг ПО/NAvtelecom»); заметка по проекту — `fleet-vault/knowledge/mobile-map-maplibre-verdict-2026-07-05.md` и `[[servaki-monitor-2026-06-30]]`.
|
||||
Reference in New Issue
Block a user