# Руководство для ИИ-агентов (экономия контекста) Краткие ориентиры по репозиторию **EvoBGP**, чтобы не тратить токены на полное сканирование дерева и повторное чтение одних и тех же файлов. ## С чего начать (минимум чтения) 1. **[docs/README.md](docs/README.md)** — оглавление и роли читателя. 2. **[docs/architecture.md](docs/architecture.md)** — компоненты `cmd/`, карта `internal/`, потоки данных (одного этого файла обычно достаточно для ориентации). 3. Задача-специфично: [docs/api.md](docs/api.md), [docs/access.md](docs/access.md), [web/README.md](web/README.md) — только если меняете API, доступ или фронт. Источник правды по HTTP-контракту: **[docs/openapi.yaml](docs/openapi.yaml)**. Не дублируйте длинные фрагменты спецификации в ответах — ссылайтесь на путь и тег/операцию. ## Карта кода (куда смотреть) | Область | Где искать | |---------|------------| | REST, auth, CORS | `internal/httpapi/` | | Бизнес-слой и абстракция хранилища | `internal/store/` | | PostgreSQL | `internal/repository/`, `internal/db/`, `migrations/` | | Фоновые задачи | `internal/jobs/` | | Цепочка refresh модуля (ingest+render, BIRD preview) | `internal/pipeline/` | | Конфиг BIRD, `birdc` | `internal/birdfmt/`, `internal/birddeploy/` | | Бандлы и подписи | `internal/bundle/`, `internal/signing/` | | Точки входа процессов | `cmd/*/` | | Веб (SvelteKit) | `web/` | | Compose, деплой | `deploy/compose/` | Точки входа бинарников и их роли — в таблице в начале [docs/architecture.md](docs/architecture.md). ## Как не раздувать контекст - **Сначала узкий поиск:** `grep`/поиск по символу или короткий семантический запрос по одной папке (`internal/httpapi/`, `internal/pipeline/`, …), а не чтение всех `.go` подряд. - **Читайте файлы целиком только при необходимости:** большие файлы — с `offset`/`limit` или по найденным строкам. - **Не подтягивайте в контекст:** `web/node_modules/`, сгенерированные артефакты сборки, бинарники, полный `openapi.html`, если достаточно `openapi.yaml`. - **Повторное использование:** если [docs/architecture.md](docs/architecture.md) уже описывает поток — не пересказывайте его длинно; укажите документ и конкретный подпункт задачи. - **Длинные планы:** `.cursor/plans/*.plan.md` — для истории решений; для навигации пользователю достаточно `docs/`; не читайте план целиком без причины. ## Команды и среда - Консоль пользователя: **PowerShell**; пути в стиле `deploy\compose`. - Быстрый старт и переменные: [docs/quickstart.md](docs/quickstart.md), [README.md](README.md). ## Язык документации проекта Пользовательская документация в `docs/` — преимущественно на русском. Комментарии и имена в коде — в существующем стиле репозитория. ## Svelte / фронтенд При правках `web/**/*.svelte` или Svelte-модулей следуйте навыкам/инструментам проекта (официальный Svelte MCP и скиллы Cursor, если подключены).