From 52be659206455c07d18db635ac07b8bfef95dfb1 Mon Sep 17 00:00:00 2001 From: german Date: Mon, 3 Aug 2026 06:46:14 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20AGENTS.md=20=E2=80=94=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BC=D1=8F=D1=82=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=98?= =?UTF-8?q?=D0=98-=D0=B0=D0=B3=D0=B5=D0=BD=D1=82=D0=BE=D0=B2,=20agent=3Dla?= =?UTF-8?q?ptop-agent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..cf2e11e --- /dev/null +++ b/AGENTS.md @@ -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]]`.