Создано на основе RepoAgent
lite4(YandexGPT Lite-4)pro4(YandexGPT Pro-4)lite5(YandexGPT Lite-5)pro5(YandexGPT Pro-5)llama8bllama70bgigachat(GigaChat-Lite)
qwen2.5i-7b(qwen2.5-7b-instruct)qwen2.5i-72b(qwen2.5-72b-instruct)deepseek-r1-qwen32b(deepseek-r1-distill-qwen-32b)gemma12b(gemma-3-12b-it)gemma27b(gemma-3-27b-it)qwen3-8bqwen3-14bqwen3-32b
В настоящее время агент поддерживает 4 языка:
- python
- java
- kotlin
- go
Пример сгенерированной документации можно найти в markdown_docs
Комплексная проектная документация в программировании крайне важна, так как она помогает разработчикам понимать, поддерживать и улучшать код. Она дает контекст, объясняет структуру и функциональность, облегчая работу команды и адаптацию новых участников.
Раньше создание документации требовало больших усилий, особенно для небольших команд. Однако с появлением LLM (языковых моделей) процесс автоматизировался: ИИ теперь генерирует документацию, а разработчики лишь проверяют и корректируют её, что экономит время и ресурсы.
- 🤖 Автоматически обнаруживает изменения в репозиториях Git, отслеживая добавления, удаления и модификации файлов.
- 📝 Самостоятельно анализирует структуру кода с помощью AST, генерируя документы для отдельных объектов.
- 🔍 Точная идентификация связей двунаправленного вызова между объектами, расширяющая глобальную перспективу содержимого документа.
- 📚 Легко заменяет содержимое Markdown на основе изменений, сохраняя согласованность документации.
- 👭 Предлагает надежный автоматизированный метод обновления документации для совместной работы в команде.
-
Установка PDM: Если еще не установлен, install PDM.
- Клонирование репозитория
git clone https://github.com/tired-racoon/CodDocAgent.git cd CodDocAgent -
Настройка окружения PDM
-
Инициализируйте виртуальную среду Python. Запустите приведенную ниже команду в
/CodDocAgentдиректории:pdm venv create --name repoagent
-
Установка зависимостей
pdm install
-
Необходимо указать все нужные токены доступа в config.yaml
В директории CodDocAgent надо выполнить следующие команды:
pdm run repoagent run # базовая команда
pdm run repoagent run --print-hierarchy # чтобы увидеть, как агент парсит структуру репозиторияАгент поддерживает такие флаги:
-m,--modelTEXT: Указывает модель, которая будет использоваться для завершения.-t,--temperatureFLOAT: Задает температуру генерации для модели. Более низкие значения делают модель более детерминированной. Default:0.2-r,--request-timeoutINTEGER: Определяет время ожидания в секундах для запроса API. По умолчанию:60-b,--base-urlTEXT: Базовый URL-адрес для вызовов API.-tp,--target-repo-pathPATH: Путь файловой системы к целевому репозиторию. Используется в качестве корневого каталога для создания документации. По умолчанию:path/to/your/target/repository-hp,--hierarchy-pathTEXT: Имя или путь к файлу иерархии проекта, используемому для организации структуры документации. По умолчанию:.project_doc_record-mdp,--markdown-docs-pathTEXT: Путь к папке, в которой будет храниться или генерироваться документация Markdown. По умолчанию:markdown_docs-i,--ignore-listTEXT: Список файлов или каталогов, которые следует игнорировать при создании документации, разделенный запятыми.-l,--languageTEXT: Код ISO 639 или название языка для документации. По умолчанию:Russian-ll,--log-level[DEBUG|INFO|WARNING|ERROR|CRITICAL]: Устанавливает уровень ведения журнала для приложения. По умолчанию:INFO
Вы также можете воспользоваться следующей функцией
pdm run repoagent clean # Удаление кэша
pdm run repoagent diff # Посмотреть, какие файлы агент удалил или изменилЕсли вы впервые создаете документацию для целевого репозитория, CodDocAgent автоматически создаст файл JSON, содержащий информацию о глобальной структуре, и папку с именем Markdown_Docs в корневом каталоге целевого репозитория для хранения документов.
После того, как вы изначально сгенерировали глобальную документацию для целевого репозитория, или если проект, который вы клонировали, уже содержит информацию о глобальной документации, вы можете легко и автоматически поддерживать внутреннюю документацию проекта со своей командой, настроив pre-commit hook в целевом репозитории!
В настоящее время CodDocAgent поддерживает создание документации для проектов, что требует некоторой настройки в целевом репозитории.
Во-первых, убедитесь, что целевой репозиторий является репозиторием git и был инициализирован.
git initУстановите pre-commit в целевом репозитории, чтобы обнаружить изменения в репозитории git.
pip install pre-commitСоздайте .pre-commit-config.yaml в корневом каталоге целевого репозитория. Пример следующий:
repos:
- repo: local
hooks:
- id: repo-agent
name: RepoAgent
entry: repoagent
language: system
pass_filenames: false # prevent from passing filenames to the hook
types: [python]Для получения информации о конкретных методах настройки крючков, пожалуйста, посмотрите pre-commit. После настройки файла yaml выполните следующую команду для установки перехватчика.
pre-commit installТаким образом, каждый git-коммит запускает функцию агента репозитория, автоматически обнаруживающую изменения в целевом репозитории и генерирующую соответствующие документы. Далее вы можете внести некоторые изменения в целевой репозиторий, например, добавить новый файл в целевой репозиторий или изменить существующий файл. Вам просто нужно следовать обычному рабочему процессу git: git add, git commit -m "your commit message", git push CodDocAgent автоматически запустится при фиксации git, обнаружит файлы, которые вы добавили на предыдущем шаге, и сгенерирует соответствующие документы.
После выполнения CodDocAgent автоматически изменит промежуточные файлы в целевом репозитории и официально отправит фиксацию. После завершения выполнения будет выведен зеленый индикатор об успешном прохождении.
Сгенерированный документ будет сохранен в указанной папке в корневом каталоге целевого хранилища.

