Files
onGuard24/docs/AI_CONTEXT.md

36 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Контекст для доработок (агент / разработчик)
Кратко, что нужно знать перед изменениями в репозитории **onGuard24**.
## Продукт
- **onGuard24** — сервис класса **IRM** (дежурства, эскалации, инциденты), модульный монолит.
- **v1.0.0** — только каркас: API, БД, webhook Grafana, заглушки модулей, страница статусов.
## Стек
- Python **≥3.11**, **FastAPI**, **asyncpg**, **httpx**, **pydantic-settings**.
- Фронт опционально: **Vite + React** в `web/`.
## Правила
1. **Секреты** — только `.env` (gitignore). В репо — `.env.example` без значений.
2. **Версия** — синхронизировать: `pyproject.toml`, `onguard24/__init__.py`, тег git, `CHANGELOG.md`.
3. **Новые модули** — пакет `onguard24/modules/`, роутер подключать в `main.py` с префиксом `/api/v1/modules/<имя>`.
4. **Миграции БД** — пока правки в `onguard24/db.py` (константа SQL); не ломать таблицу `ingress_events` без миграционного плана.
5. **Статус интеграций** — логика в `status_snapshot.py` и `integrations/*`.
## Точки входа в код
| Задача | Файл |
|--------|------|
| Новый эндпоинт | `main.py` или `modules/*.py` |
| Настройки | `config.py` |
| Webhook Grafana | `ingress/grafana.py` |
| Проверка Vault/Grafana/Forgejo | `status_snapshot.py`, `integrations/` |
| HTML главной | `root_html.py` |
## Откат
См. [VERSIONING.md](VERSIONING.md). Теги `v1.0.0`, `v1.1.0`, …