CodeAtlas я разработал как самостоятельный fullstack-продукт для разработчиков, ревьюеров и техлидов, которым нужно быстро разобраться в незнакомом GitHub-репозитории перед доработкой, техническим аудитом или code review.
Проблема в том, что сведения о стеке, структуре, точках входа, важных файлах, рисках и открытых Pull Request разбросаны по всему репозиторию. Ручной первичный разбор занимает время, а обычный AI-чат без контекста может давать непроверяемые ответы.
Целью было собрать единое инженерное рабочее пространство. Пользователь вставляет ссылку на GitHub и получает обзор репозитория, карту архитектуры, список значимых source references и риск-сигналы. В том же интерфейсе можно задать вопрос по проиндексированному контексту, оценить изменения в PR, сохранить важные файлы и экспортировать результат в отчёт.
Дополнительные требования к продукту: server-side работа с GitHub и Gemini, гостевой режим и GitHub OAuth, восстановление рабочего контекста, адаптивный интерфейс, светлая/тёмная темы и мультиязычность.
Я разделил детерминированный анализ и AI-слой, чтобы базовые выводы не зависели от генеративной модели. Проект организовал как monorepo на npm workspaces: Nuxt 3/Vue 3 приложение с server API, отдельный TypeScript-пакет анализатора, MCP-server и прототип GitHub Action.
Через GitHub REST API сервер получает метаданные репозитория, рекурсивное дерево файлов, README, package manifests и сведения об открытых PR. На этой основе анализатор определяет технологии, точки входа, архитектурные узлы, значимые файлы и риски репозитория: отсутствие тестов, CI, lock-файла, наличие env-подобных путей и install lifecycle scripts.
Gemini подключил как дополнительный слой объяснений. Для Q&A реализовал strict grounding: модель получает отобранные source references и риск-сигналы, ответ показывает использованный контекст и confidence, а при недостатке данных сервис не маскирует это выдуманным ответом.
Для Pull Request реализовал отдельный review-пайплайн: загрузка changed files, оценка масштаба изменений, группировка затронутых модулей, поиск пропущенных тестов, чувствительных путей, миграций, API- и build-изменений. Результат включает risk score, findings, рекомендации ревьюеру, checklist и Markdown-отчёт.
Добавил persistence на Turso/libSQL для анализов, AI-сессий, PR-review, отчётов и share links; для гостевого сценария — восстановление workspace из localStorage. Отчёты выгружаются в Markdown и JSON, копируются в буфер, открываются по публичной read-only ссылке или в print-ready виде для сохранения в PDF через браузер.
Интерфейс собрал на собственной Tailwind-дизайн-системе с семантическими токенами, переиспользуемыми контролами и адаптивной компоновкой от 320 px. Добавил переключение между шестью языками, режимы Light/Dark/System, клавиатурные действия и состояния загрузки, ошибок и отсутствия данных. Качество закрепил strict TypeScript, unit-тестами анализатора, Playwright smoke, CI, Docker и production-сборкой Nuxt/Nitro.
В результате получился не статичный макет, а работающий fullstack-сервис, развёрнутый на Vercel и способный анализировать реальные публичные GitHub-репозитории. Он объединяет девять рабочих разделов: обзор репозитория, архитектуру, AI Q&A, PR Review, метрики, закладки, отчёты, интеграции и настройки.
CodeAtlas можно применять как стартовую точку при знакомстве с чужой кодовой базой, как вспомогательный инструмент перед code review и как способ передать коллегам структурированный отчёт об архитектуре и рисках. Детерминированный анализ остаётся полезным без Gemini, а AI дополняет его объяснениями с привязкой к найденным источникам.
Проект демонстрирует полный цикл разработки SaaS-интерфейса: продуктовую декомпозицию, frontend, BFF/API, интеграции, хранение данных, безопасность токенов, тестирование, CI/CD и публикацию рабочего демо.