GigaCode-агент

Теперь пользователи могут подключить GigaCode-агента в запросы на слияние как полноценного участника для совместной работы над кодом.

Профиль GigaCode-агента на GitVerse

Пройдите по ссылке, чтобы посетить страницу GigaCode-агента на GitVerse и ознакомиться с последними новостями его разработки и внедрения.

Включение GigaCode-агента

Info

Подключить GigaCode-агента может только владелец репозитория и команда Owners:

  • в настройках репозитория;
  • при создании запроса на слияние;
  • в открытом запросе на слияние.

Включение GigaCode-агента в настройках репозитория

  1. Перейдите в настройки репозитория > AI-соавторы.

  2. Переведите тумблер Запросы на слияние в активное состояние.

  3. GigaCode-агент добавится в соавторы.

    Info

    Удалить вручную GigaCode-агента из соавторов или изменить его права доступа нельзя.

  4. GigaCode-агент добавится в ревьюеры при создании запроса и в созданном запросе.

  5. В форме отправки комментария появится кнопка GigaCode-агент.

Включение GigaCode-агента при создании запроса на слияние

  1. На странице создания запроса в блоке ревьюеров нажмите на кнопку Подключить справа от GigaCode-агента.

  2. GigaCode-агент успешно подключен в репозитории.

Включение GigaCode-агента в запросе на слияние

  1. В созданном запросе в блоке ревьюеров нажмите на кнопку Подключить справа от GigaCode-агента.

  2. GigaCode-агент успешно подключен в репозитории.

Отключение GigaCode-агента

Info

Отключить GigaCode-агента может только владелец репозитория и команда Owners.

  1. Для отключения перейдите в настройки репозитория > AI-соавторы.

  2. Переведите тумблер Запросы на слияние в неактивное состояние.

  3. На странице создания запроса и в существующем запросе GigaCode-агент будет удален из ревьюеров.

  4. В форме отправки комментария кнопка GigaCode-агент перестанет отображаться.

  5. GigaCode-агент удаляется из списка соавторов.

  6. Ранее созданные GigaCode-агентом комментарии сохраняются.

Поддерживаемые сценарии

На данный момент поддерживаются сценарии:

  • описание запроса (/describe);
  • ревью запроса (/review);
  • предложения по улучшению (/improve);
  • вопросы GigaCode-агенту (/ask).

Описание запроса (/describe)

Команда /describe сканирует изменения в запросе на слияние и создает описание этих изменений.

Команда запускается автоматически в новых запросах на слияние, если в репозитории включен GigaCode-агент.

Комментарий GigaCode-агенту можно отправить вручную:

  1. (Опционально) В форме комментария нажмите кнопку GigaCode-агент.

  2. (Опционально) Отобразятся подсказки.

  3. В поле комментария введите /describe и нажмите Добавить.

  4. На комментарии пользователя отобразится смайлик, а в ленте появится комментарий GigaCode-агента о подготовке ответа.

  5. Когда ответ от GigaCode-агента будет готов, он появится в ленте.

    Если при создании запроса пользователем было добавлено описание, то при вызове команды /describe описание от имени пользователя и GigaCode-агента будет объединено.

Ревью запроса (/review)

С помощью команды /review можно быстро оценить уровень сложности запроса на слияние, убедиться в наличии юнит-тестов, оценить риски безопасности и получить рекомендации по улучшению кода.

Ревью запускается автоматически в новых запросах на слияние, если в репозитории включен GigaCode-агент.

Комментарий GigaCode-агенту можно отправить вручную:

  1. (Опционально) В форме комментария нажмите кнопку GigaCode-агент.

  2. (Опционально) Отобразятся подсказки.

  3. В поле комментария введите /review и нажмите Добавить.

  4. На комментарии пользователя отобразится смайлик, а в ленте появится комментарий GigaCode-агента о подготовке ответа.

  5. Когда ответ от GigaCode-агента будет готов, он появится в ленте.

Предложения по улучшению (/improve)

Команда /improve возвращает предложения по улучшению качества кода, а также оценивает важность предложенных изменений.

Команда запускается автоматически в новых запросах на слияние, если в репозитории включен GigaCode-агент.

Комментарий GigaCode-агенту можно отправить вручную:

  1. (Опционально) В форме комментария нажмите кнопку GigaCode-агент.

  2. (Опционально) Отобразятся подсказки.

  3. В поле комментария введите /improve и нажмите Добавить.

  4. На комментарии пользователя отобразится смайлик, а в ленте появится комментарий GigaCode-агента о подготовке ответа.

  5. Когда ответ от GigaCode-агента будет готов, он появится в ленте.

Вопросы GigaCode-агенту (/ask)

Вы можете задать вопрос GigaCode-агенту по теме, касающейся запроса на слияние. Для этого напишите в комментарии /ask и интересующий вопрос.

Warning

Комментарии GigaCode-агенту вне запроса на слияние не поддерживаются.

Правила

Вы можете задавать собственные правила для GigaCode-агента, чтобы получать более релевантные и персонализированные предложения по улучшению кода, соответствующие стилю и архитектурным решениям вашего проекта.

Как это работает

GigaCode-агент автоматически учитывает все файлы в формате Markdown (.md), расположенные в директории .gitverse/pr_rules/ целевой ветки (в которую выполняется слияние). Эти файлы содержат ваши внутренние стандарты кодирования, архитектурные соглашения и любые другие рекомендации, которые вы хотите применять при анализе запросов на слияние.

Где задаются правила

Чтобы настроить правила:

  1. В корне вашей целевой ветки создайте директорию .gitverse/pr_rules/.
  2. Поместите в нее один или несколько файлов с расширением .md, например:
    • .gitverse/pr_rules/coding_standards.md;
    • .gitverse/pr_rules/architecture.md;
    • .gitverse/pr_rules/security.md.

Каждый файл должен содержать четкие, понятные инструкции.

Рекомендации по написанию правил

Чтобы правила приносили максимальную пользу и корректно интерпретировались GigaCode-агентом, следуйте этим рекомендациям.

1. Формулируйте цель и задачу

Каждое правило должно решать конкретную проблему или отвечать на четкий вопрос:

  • ❌ «пишите хороший код» — слишком абстрактно;
  • ✅ «все HTTP-запросы к внешним API должны логироваться с указанием URL и статуса ответа» — конкретно и проверяемо.

Описывайте проблему кратко, но достаточно подробно, чтобы любой разработчик понял, почему это правило важно.

2. Указывайте технический контекст

Для повышения точности укажите:

  • язык программирования, фреймворк или технологию (например, Python 3.10+, React 18, Django 4.2);
  • версии инструментов, если они критичны (например, «Требуется Node.js ≥ 18.0»);
  • ограничения среды: ОС, runtime, зависимости, CI/CD-окружение и т.д.

Пример:

Для всех микросервисов на Python (версия ≥ 3.9) в Docker-образах на базе Alpine Linux:

  • используйте asyncio вместо многопоточности;
  • не устанавливайте пакеты через pip глобально — только в виртуальное окружение.

3. Приводите примеры «до / после»

Лучше всего правила работают в паттерн-ориентированном формате:

ПроблемаРешениеПример кода.

Note

Паттерн: защита от SQL-инъекций в Django

Проблема: использование сырых SQL-запросов без параметризации может привести к уязвимостям.

Решение: всегда используйте ORM или параметризованные запросы через cursor.execute().

Пример до:

query = f"SELECT * FROM users WHERE email = '{email}'"
cursor.execute(query)

Пример после:

cursor.execute("SELECT * FROM users WHERE email = %s", [email])

4. Описывайте ожидаемое поведение

Четко формулируйте, что должно быть, а не только чего нельзя делать:

  • ❌ «не используйте var в JavaScript»;
  • ✅ «все переменные в проекте должны объявляться с const или let в соответствии с ES2022».

5. Указывайте предпочтительные инструменты и методы

Перечислите:

  • разрешенные/запрещенные библиотеки;
  • предпочтительные паттерны проектирования;
  • требования к асинхронности, обработке ошибок, типизации и т.д.

Пример:

  • используйте Zod для валидации входных данных в API;
  • избегайте глобального состояния в React-компонентах;
  • все асинхронные операции должны быть обернуты в try/catch с логированием ошибок.

6. Добавляйте тестовые сценарии

Если правило связано с поведением, которое проявляется только в определенных условиях, опишите тестовые кейсы:

Сценарий: При загрузке файла размером >100 МБ через форму /upload сервер не должен падать. Ожидаемое поведение: Запрос отклоняется с кодом 413 Payload Too Large.

Следуя этим рекомендациям, вы поможете GigaCode-агенту давать более точные, полезные и релевантные предложения.

Ограничения

Warning

  1. Если в открытый запрос на слияние добавились коммиты для обновления комментариев от GigaCode-агента, отправьте нужную команду повторно.

  2. В закрытых запросах (закрытые без слияния и успешно выполненные) комментарии от GigaCode-агента не обрабатываются.

  3. Если GigaCode-агент был включен в репозитории после создания запроса на слияние, то комментарии от GigaCode-агента не будут созданы автоматически.