Buff Development
Buff Code

Репозитории проекта

Модель в Buff Code ищет и читает код проекта в Buff без клона на машине: поиск файлов, поиск по содержимому и чтение по любой ветке, только на чтение.

Проект разработки в Buff — это пул репозиториев. Модель в Buff Code видит их все, даже если на машине разработчика лежит только один из них или вообще другой код: инструменты сервера repos ищут и читают по копии проекта в Buff.

Зачем это нужно: микросервис рядом, общая библиотека, конфигурация в соседнем репозитории — модель заглядывает туда сама, вместо того чтобы гадать о «соседнем» коде.

Инструменты

ИнструментЧто делает
repos_globнайти файлы по маске в коде проекта: каталог, скрытые файлы, число результатов
repos_grepнайти строки по регулярному выражению или точному тексту, с маской файлов
repos_readпрочитать файл или каталог: строки пронумерованы, большой файл — частями

У каждого есть параметр ветка: пустая — основная ветка репозитория, иначе любая существующая. Так модель может сверить свою правку с тем, что уже лежит в ветке коллеги.

Документы Word, Excel, PowerPoint и PDF из репозитория читаются текстом — как в «Спросить».

Разработчик спросил, что лежит в репозиториях проекта. Модель прочитала их в Buff — на машине разработчика этого кода нет — и ответила таблицей.

Свои файлы и файлы проекта

Модель различает два места:

  • своя рабочая папка — обычные инструменты Buff Code: читает, правит, запускает;
  • проект в Buff — инструменты repos_*: только чтение, пути от корня репозитория.

Правки идут только в рабочую папку. Ничего в репозитории Buff из Buff Code не меняется — для изменений в проекте есть задачи и ваш обычный git.

Что нужно

  • Выбранный проект в рабочем контексте. Без проекта модель получит «Сначала выберите проект в рабочем контексте Buff Code (/project)».
  • Коннектор v0.15.0 или новее.
  • Доступ разработчика к этому проекту в Buff.

Как это считается

Вызовы repos_* — чтение, они не стоят токенов и не попадают в журнал аудита, как и чтение кода в кабинете. Результаты вызовов записываются в сессии разработки вместе с ответом модели.

Первый вызов в проекте может ответить «Buff ещё готовит ответ: репозиторий проекта загружается впервые или поиск очень широкий» — модель повторит тот же вызов через полминуты и получит ответ целиком. Длинный ответ приходит частями, с подсказкой, откуда продолжить.

On this page