Как создать документацию к коду, а потом ее обновить с помощью нейросети
- понедельник, 29 декабря 2025 г. в 00:00:11
На самом деле, я человек, который предпочитает писать всю документацию самостоятельно. Меня не страшит код, я довольно хорошо работаю с регулярными выражениями, поэтому преобразование файлов из кода в Markdown не занимает у меня много времени. Но даже мне пришлось согласиться, что в некоторых случаях использовать нейросеть гораздо быстрее и удобнее. И я разберу эти два случая в этой статье.
В этой статье я покажу:
Кейс 1: как сгенерировать документацию к коду с помощью расширения VS Code;
Кейс 2: как получить информацию о пул-реквесте на GitHub и сгенерировать пул-реквест для обновления документации.
Чтобы была возможность работать с тестовым репозиторием на GitHub, у вас должен быть действующий аккаунт.
Для действий на компьютере понадобятся git, VS Code и Roo Code.
В этом кейсе мы возьмем папку deckhouse-test-ai/global-hooks/, дадим к ней доступ для нейросети и сгенерируем описание вебхуков в этой папке.
Чтобы получить контент папки:
Склонируйте тестовый репозиторий: https://github.com/elenashliaga/deckhouse-test-ai.
В ветке main сейчас уже лежат файлы с описанием кода. Чтобы сгенерировать файлы с нуля, перейдите на ветку test-branch.
Перед настройкой Roo Code нужно выбрать провайдера для работы с нейросетью. Подойдет любой провайдер, который предоставляет нейросети с API, совместимым с OpenAI (а это практически любой провайдер). Я использовала Yandex Cloud, потому что у меня был действующий грант.
От провайдера для работы нужно получить ссылку на сервер, API-ключ и название нейросети.
В настройках Roo Code это будет выглядеть так:

Чтобы перейти в настройки Roo Code, нажмите "шестерёнку".
В поле API Provider выберите OpenAI Compatible для API, совместимых с OpenAI.
В поле Base URL вставьте ссылку, полученную у провайдера.
В поле API Key вставьте ключ, полученный у провайдера.
В поле Model вставьте название нейросети по шаблону от провайдера. Я использовала Qwen3-235B-A22B.
Откройте Roo Code через левую панель и введите запрос:
Возьми папку по пути deckhouse-test-ai/global-hooks/. В этой папке лежат вебхуки для приложения deckhouse. Проанализируй код в этой папке и каждой подпапке. Сделай общее описание назначения вебхуков в каждой папке и создай страницу в формате markdown с описанием. Описание должно быть сгенерировано по шаблону:
Общие вебхуки/Вебхуки миграции/(подставь название согласно назначению вебхуков в подпапке)
Напиши общее описание всех вебхуков. Напиши, зачем они нужны
Список вебхуков
Создай список вебхуков с их названиями, назначением и примером использования по шаблону:
вебхук 1
название: ...
назначение: ...
пример использования: ...
После запроса расширение запросит доступ к контенту в папке. Подтвердите доступ и подождите немного, пока будут генерироваться файлы README.
Проверьте с помощью git status или в VS Code, что файл или файлы были сгенерированы.
Готово, вы установили расширение Roo Code и сгенерировали описание кода с помощью нейросети. При желании вы можете создать собственную ветку и внести коммит в тестовый репозиторий.
Для этого кейса в тестовом репозитории я создала пул-реквест, в котором удалила один из вебхуков из папки deckhouse-test-ai/global-hooks/. Чтобы обновить документацию на основе этого пул-реквеста, мы добавим MCP-сервер в Roo Code и с помощью нейросети создадим пул-реквест на обновление документации в папке deckhouse-test-ai/global-hooks/.
Нажмите на иконку профиля в правом верхнем углу. Откройте Settings.
Выберите последний пункт меню слева Developer Settings.
Выберите Personal access tokens > Fine-grained tokens.
Нажмите Generate new token и настройте токен. Я, на самом деле, выдала для тестового токена все права, которые были. Но вы всегда можете выбрать права в соответствии со своей задачей.
Скопируйте токен и сохраните в надежном месте.
Готово, вы создали токен для доступа к MCP GitHub. Теперь нужно подключить сам MCP к VS Code.
Подключить сервер можно двумя способами: с использованием Docker и без использования Docker.
Установите и запустите Docker.
Откройте настройки Roo Code в VS Code.
Выберите раздел MCP Servers и нажмите Edit Project MCP, как на скриншоте:

В файл вставьте конфигурацию ниже:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
},
"alwaysAllow": [
"get_pull_request"
]
}
},
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
]
}
Готово, MCP-сервер должен отображаться в настройках Roo Code без ошибок.
Склонируйте репозиторий: https://github.com/github/github-mcp-server.
Проверьте, установлен ли go с помощью команды go version. Если не установлен, то установите go.
Перейдите в папку github-mcp-server/cmd/github-mcp-server/ и запустите команду go build, чтобы собрать скрипт, которым будет использовать Roo Code.
Откройте настройки Roo Code в VS Code.
Выберите раздел MCP Servers и нажмите Edit Project MCP, как на скриншоте:

В файл вставьте конфигурацию ниже. Обратите внимание, что в ключе command должен быть путь к скрипту из корня проекта, а в GITHUB_PERSONAL_ACCESS_TOKEN — токен из аккаунта GitHub:
{
"mcpServers": {
"github": {
"command": "./github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": [
"stdio"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<вставьте токен>"
},
"alwaysAllow": [
"get_pull_request"
]
}
}
}
Готово, MCP-сервер должен отображаться в настройках Roo Code без ошибок.
Откройте Roo Code через левую панель и введите запрос:
внеси изменения в пул-реквест Удалить вебхук #2 репозитория elenashliaga/deckhouse-test-ai. В репозитории лежат README файлы с описанием вебхуков. Получи изменения кода в пул-реквесте и отредактируй файлы в соответствии с изменением в коде.
После запроса расширение запросит доступ к данным на GitHub. Подтвердите доступ и подождите немного, пока будут генерироваться изменения в файлах README.
Откройте репозиторий на GitHub и проверьте наличие изменений.
В этой статье я делала упор на подключение провайдера и MCP GitHub к Roo Code. Результат работы нейросети и возникающие ошибки во время работы могут быть разными, поэтому лучше всего будет подбирать собственные промпты и указания.
Надеюсь, что статья была полезна для вас :)