Skip to content

Структура репозитория

Где что лежит в монорепозитории BirdLense Hub. Версия релиза — корневой файл VERSION (дублируется в mkdocs.yml, app/ui/package.json, app/web/openapi.yaml; проверка — scripts/check-docs-version.py).

English


Корень репозитория

Путь Назначение
app/ Рабочий стек: Docker Compose, web (Flask API), processor (детекция), ui (React/Vite). Обычно: cd app && make local / make start — см. LOCAL_DEV.ru.
docs/ Документация для операторов и разработчиков; исходники MkDocs. Оглавление: README.ru.
scripts/ Деплой (deploy.sh, deploy.local.sh.example), диагностика, датасеты, скрипты GitHub Project, верификация.
mkdocs.yml, overrides/ Статический сайт документации (GitHub Pages). Сборка: make docs-site или Documentation.ru.
Makefile (корень) deploy, docs-site, Telegram proxy, restore-config и т.д. Сборка/запуск приложения — в app/Makefile.
VERSION Текущая semver-версия хаба (единый источник для проверок версии).
examples/ Примеры конфигов (например правила Prometheus), приложение их само не подхватывает.
docker/gallery-test/ Небольшой отдельный Docker-пример (галерея); не основной стек из app/.
wiki-source/ Заготовки / автоматизация для GitHub Wiki — см. WIKI_AUTOMATION.ru.
screenshots/ Картинки для доков и статей.
docs/article/ Черновики внешних публикаций (например Хабр); не часть рантайма.
datasets/ Опциональная локальная выгрузка датасетов (корень в .gitignore). См. DATASETS.ru и scripts/datasets/.

Внутри app/

Путь Назначение
app/web/ Flask, REST API, OpenAPI (openapi.yaml).
app/processor/ Конвейер детекции, YOLO/Ultralytics; тяжёлые веса — см. .gitignore.
app/ui/ Фронтенд React 19 + Vite 6; артефакт npm run build отдаёт web-слой (см. LOCAL_DEV.ru).
app/app_config/ Поставляемые дефолты и шаблоны. Файл user_config.yaml создаётся на инсталляции и не коммитится — см. CONFIGURATION.ru.
app/data/ SQLite, записи, локальное состояние — при деплое по умолчанию не затирается; см. INSTALL.ru.

Порядок (для контрибьюторов)

  • Не коммить отладочные дампы и разовые json/txt в корень репозитория. Типичные маски уже в .gitignore; временное — в /tmp или локальную папку вне репо.
  • Конфиг: рабочий user_config.yaml и данные — под app/, а не пустой дубликат app_config/ в корне.
  • Код vs доки: рантайм в app/; тексты и гайды в docs/.

См. также