Агентская полка

Litho

CLI на Rust, который читает репозиторий и сам пишет архитектурную документацию по C4 — с диаграммами, разбором БД и проверкой Mermaid.

RustГайдыАвтоматизация
Открыть оригинал ↗

Litho (ранее известный как deepwiki-rs) - это высокопроизводительный CLI-инструмент на базе ИИ, написанный на языке Rust. Он автоматически анализирует исходный код любого репозитория и создаёт подробную архитектурную документацию по методологии C4.

Ключевые возможности

  • Автоматическая C4-документация: Избавляет от ручного написания документации. На основе анализа кода нейросеть сама строит диаграммы контекста, контейнеров, компонентов и кода.

  • Поддержка множества языков: Инструмент мультиязычен и одинаково хорошо парсит проекты на Rust, Python, Java, Go, C#, JavaScript и других популярных стеках.

  • Интеграция внешних знаний (RAG): Позволяет «подмешивать» к анализу кода внешние файлы бизнеса и архитектурных решений (PDF, Markdown, SQL, YAML/JSON) для обогащения контекста.

  • Автогенерация документации БД: Утилита способна анализировать .sql файлы и SQL-проекты, автоматически составляя схемы таблиц, описание хранимых процедур и интерактивные ER-диаграммы.

  • Интеграция в CI/CD: Легко встраивается в пайплайны автоматизации для обновления Wiki при каждом коммите.

Экосистема проекта

Проект развивается как комплексное решение и включает в себя несколько связанных утилит:

  1. Litho Book: Удобное веб-приложение для отображения и чтения документации, написанное на Rust и Axum. Поддерживает синтаксис Markdown, рендеринг графиков Mermaid и интеллектуальный полнотекстовый поиск.

  2. Mermaid Fixer: Дополнительный инструмент на базе LLM и песочницы JavaScript, который автоматически сканирует Markdown-файлы, находит синтаксические ошибки в диаграммах Mermaid и исправляет их для корректного отображения.

Четырехэтапный конвейер обработки:

Генерация документации происходит через цепочку специализированных ИИ-агентов:

  • Подготовка: Сканирование репозитория, извлечение метаданных, комментариев и построение дерева зависимостей.

  • Исследование: Набор агентов выявляет архитектурные паттерны, зоны ответственности модулей и бизнес-логику, формируя отчеты в памяти.

  • Композиция: Редакторы собирают отчеты в структурированные Markdown-файлы и генерируют схемы.

  • Валидация: Финальная проверка целостности ссылок и автоисправление синтаксиса Mermaid.

Структура полученных данных

После работы утилиты в директории ./litho.docs формируется логичная структура папок:

  1. Project Overview (Обзор проекта, стек, функции).
  2. Architecture Overview (Архитектура, разбиение на модули).
  3. Workflow Overview (Процессы и основные воркфлоу).
  4. Deep Dive/ (Глубокий разбор реализации отдельных технических тем).
  5. Boundary-Interfaces (Описание API-эндпоинтов и внешних интеграций).
  6. Database-Overview (Схемы БД и ER-диаграммы).