Boro CLI
Boro ревьюит серии патчей ядра Linux несколькими стадиями ИИ, собирает коммиты, гоняет тесты и переносит патчи с конфликтами
- 70 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Инструмент отправляет diff и контекст кода выбранной модели, а `build` и `test` запускают сборку и загрузку ядра на вашей машине
- `boro apply` меняет git-дерево: делает cherry-pick и перезаписывает конфликтные файлы
Установка
Ручная установка
cargo install --force --path .Команду выполняют в клоне репозитория. Затем задайте BORO_URL, BORO_KEY, BORO_MODEL, для проверки BORO_VALIDATION_MODEL.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Инструмент отправляет diff и контекст кода выбранной модели, а `build` и `test` запускают сборку и загрузку ядра на вашей машине
- `boro apply` меняет git-дерево: делает cherry-pick и перезаписывает конфликтные файлы
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Boro — CLI на Rust для разработки ядра Linux с помощью ИИ внутри вашего git-дерева. Он нужен до публикации серии патчей и там, где обычный путь через почтовую рассылку не работает: бэкпорты, поддержка дистрибутивных ядер, интеграция исправлений безопасности и локальные цепочки патчей. Проект вдохновлен Sashiko, использует общие с ним промпты ревью и направлен на другой момент жизни патча. `boro review ДИАПАЗОН_КОММИТОВ` запускает многостадийное ревью с промптами по подсистемам ядра, шаблонами и чек-листами и итоговой сводкой в стиле LKML. `boro build` собирает каждый коммит в отдельном worktree через `vng -b` и просит модель разобрать журнал сборки. `boro test` дополнительно загружает ядро в `virtme-ng` и запускает выбранный моделью быстрый тест. `boro test --config CONFIG_FOO` собирает `HEAD` с нужной опцией, а `--plan` лишь описывает план теста. `boro apply` переносит коммиты через `git cherry-pick -x -s` и при конфликтах `diff3` просит `BORO_MODEL` предложить разрешение, а `BORO_VALIDATION_MODEL` проверяет его, до 10 раундов на фрагмент. С `--message-id` серия берется из `lore` через `b4`. Дешевая модель ведет широкий поиск, сильная модель проверяет и пишет отчет, а токены учитываются по стадиям. Подключается любая конечная точка, совместимая с OpenAI `chat/completions`.
Для кого. Разработчикам и сопровождающим ядра Linux, которые готовят серии патчей, ведут бэкпорты и дистрибутивные ядра и хотят автоматический первый проход ревью на своей машине.
Подходит, если
- Серия из десяти патчей еще не ушла в рассылку, и нужен ревью по промптам для подсистем ядра
- Серию из `lore` надо применить через `boro apply --message-id` и сразу проверить `boro review`
- Бэкпорт коммита дает конфликты `diff3`, и их надо разобрать моделью с проверкой второй моделью
- Каждый коммит диапазона должен собираться и проходить быстрый тест в `virtme-ng`
- Широкий поиск идет на локальной модели, а проверка и отчет на сильной удаленной
Не подходит, если
- Нужен инструмент для проекта вне ядра Linux: промпты и чек-листы написаны под ядро
- Серия уже в рассылке и нужен разбор там: для этого есть Sashiko
- Сборка и тесты невозможны без `virtme-ng`, а ставить его вы не хотите
- Требуется гарантия отсутствия ошибок: ИИ-ревью дает находки и не заменяет ревью людей
Пример запроса к агенту
Проверь серию origin/master..HEAD в ядре через boro review и покажи сводку замечаний по подсистемамОграничения
- Для `boro apply --message-id` нужен `b4` в `PATH`, для `build` и `test` нужен `virtme-ng` (`vng`), необязательный `lei` из `public-inbox` подключает стадию ответов из апстрима.
- Нужна конечная точка, совместимая с OpenAI `chat/completions`, и три переменные: `BORO_URL`, `BORO_KEY`, `BORO_MODEL`, для проверки еще `BORO_VALIDATION_MODEL`.
- Установка идет из исходников: `cargo install --force --path .` в клоне репозитория.
- Промпты ревью общие с Sashiko, а точность находок зависит от выбранных моделей.
Как отключить. Бинарник удаляют командой `cargo uninstall boro`. Переменные `BORO_URL`, `BORO_KEY` и `BORO_MODEL` убирают из оболочки, а временные worktree после `build` и `test` Boro чистит сам.
Частые вопросы
Как установить Boro?
Выполните `cargo install --force --path .` в клоне репозитория и задайте `BORO_URL`, `BORO_KEY`, `BORO_MODEL`. Готового пакета в реестре в README нет.
Чем Boro отличается от Sashiko?
Они делят промпты ревью, но Sashiko рассчитан на серии после публикации в рассылках, а Boro на интерактивный локальный ревью и правку, пока серия еще формируется или ведется внутри дистрибутива.
Как применить серию из `lore`?
Выполните `boro --source /path/to/linux apply --message-id ID`: Boro получит серию через `b4`, применит коммиты по очереди и напечатает диапазон для `boro review`.
Запускает ли Boro ядро?
Да, `boro test` собирает коммит и загружает ядро в `virtme-ng`, где выполняет быстрый тест, выбранный моделью. Режим `--plan` ничего не собирает и не загружает.
Какие модели нужны?
Любая конечная точка, совместимая с OpenAI `chat/completions`. Для широкого поиска можно взять локальную дешевую модель, для проверки и отчета более сильную удаленную.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCode Buster находит циклы зависимостей, мертвый и дублирующийся код и рост сложности по всему репозиторию, локально и без LLM
CLI для сопровождающих проектов: ревью pull request, разбор упавшего CI и анализ синхронизации форка по уликам репозитория.
Строит граф вызовов и зависимостей по коду и отвечает агенту, кто вызывает функцию и что сломается после правки
jnsahaj skills
jnsahaj/skills
Восемь скиллов для ревью кода, черновых pull request и разбора багов по одной причине с ожиданием вашего решения.
CLI и плагин для ревью кода агентом: читает git diff и пишет замечания по строкам с учетом контекста
CLI с виртуальным советом ИИ-экспертов проверяет PR или локальный diff и выдает общий балл, уровень угрозы и доказательства.
Коротко о README
README объясняет назначение: ревью и правка патчей ядра до публикации и в дистрибутивных ветках. Затем идут краткий старт из трех команд, устройство конвейера, роли моделей, подкоманды review, build, test и apply и требования к `b4`, `virtme-ng` и `lei`.