Repolode
winnin

winnin/farol

CLI и GitHub Action, которые после AI code review оценивают риск слияния pull request и показывают затронутые файлы и эндпоинты.

Звёзды
174
Форки
5
Открытые issues
6
Последний коммит
позавчера

Что это?

farol — бесплатный CLI с открытым исходным кодом и GitHub Action для тех, кто одобряет pull request. После того как AI-агент ревью оставит комментарии к diff, farol с помощью статического анализа показывает, какие части системы затрагивает изменённый код: страницы, операции API, методы RPC, задачи и скрипты. Затем он выносит вердикт — ускоренное слияние, быстрая проверка или тщательная проверка — и присваивает оценку риска от 0 до 100.

В отчёте учитываются охват изменений, покрытие diff, результаты проверок безопасности, нарушения контрактов и изменения зависимостей. Сначала перечисляются самые рискованные файлы, для них приводятся встроенные diff, непокрытые тестами строки и список ручных проверок. Для анализа кода используются TypeScript type checker, go/types и ast из Python. Код не запускается и не отправляется по сети. farol работает локально или в CI и публикует комментарий к pull request, не блокируя слияние.

Поддерживаются фронтенды на React Router, Next.js и TanStack Router, бэкенды на TypeScript с GraphQL и REST, сервисы на Go и Python, включая FastAPI, Flask и Django. Необязательная интеграция с Datadog добавляет сведения о трафике и ошибках.

Ключевые возможности

  • 01Ранжирует изменённые файлы по уровню риска и показывает, какие страницы и эндпоинты затрагивает каждый из них.
  • 02Выносит вердикт и присваивает оценку риска от 0 до 100, указывая причины.
  • 03Выявляет несовместимые изменения контрактов GraphQL, FastAPI, Go и gRPC.
  • 04Отмечает непокрытые тестами строки во встроенных diff и импортирует из CI отчёты о покрытии, lint и аудите.
  • 05Создаёт HTML-отчёт в одном файле и запись о ревью в Markdown.

Сценарии использования

  • Определить, сколько времени нужно выделить на ревью большого pull request перед его одобрением.
  • Выявить несовместимые изменения API и найти вызывающий их код до слияния.
  • Добавить этап оценки рисков к GitHub pull request вместе с уже используемым AI-ревьюером.
  • Проверить, какие страницы фронтенда затронет изменение общего компонента.

Быстрый старт

  1. 1

    Создайте farol.config.json в корне проекта и опишите в нём используемый стек

  2. 2

    Выведите список страниц, эндпоинтов, задач и скриптов, найденных farol

    npx @winninjs/farol routes
  3. 3

    Проанализируйте ветку относительно целевой ветки

    npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json
  4. 4

    Сгенерируйте HTML-отчёт и откройте его

    npx @winninjs/farol html --in farol.json --out farol.html && open farol.html

Что важно знать

  • Требуются Node.js 22 или новее и git, а также go для проектов на Go или python3 3.11 или новее для проектов на Python.
  • Поддерживаются только кодовые базы на TypeScript, Go и Python.

В подборках

Темы

Частые вопросы

Что такое farol?
CLI и GitHub Action, которые после AI code review оценивают риск слияния pull request и показывают затронутые файлы и эндпоинты. farol — бесплатный CLI с открытым исходным кодом и GitHub Action для тех, кто одобряет pull request. После того как AI-агент ревью оставит комментарии к diff, farol с помощью статического анализа показывает, какие части системы затрагивает изменённый код: страницы, операции API, методы RPC, задачи и скрипты. Затем он выносит вердикт — ускоренное слияние, быстрая проверка или тщательная проверка — и присваивает оценку риска от 0 до 100.
farol можно использовать бесплатно? Какая у него лицензия?
farol распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
farol всё ещё поддерживается?
Активно поддерживается. Последний коммит в farol — 4 нояб. 2026 г..
Для чего можно использовать farol?
Определить, сколько времени нужно выделить на ревью большого pull request перед его одобрением. Выявить несовместимые изменения API и найти вызывающий их код до слияния. Добавить этап оценки рисков к GitHub pull request вместе с уже используемым AI-ревьюером. Проверить, какие страницы фронтенда затронет изменение общего компонента.
Как установить farol?
Создайте farol.config.json в корне проекта и опишите в нём используемый стек Выведите список страниц, эндпоинтов, задач и скриптов, найденных farol: npx @winninjs/farol routes Проанализируйте ветку относительно целевой ветки: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json Сгенерируйте HTML-отчёт и откройте его: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
Где скачать farol?
Исходный код и инструкции по установке — на GitHub: https://github.com/winnin/farol

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Danger JS запускается после CI и автоматизирует проверку соглашений при ревью pull request: например, наличие записей в changelog и соблюдение правил оформления описания.

5,5 тыс.385TypeScriptMITАктивно поддерживаетсяОбновлён 11 дней назад