Repolode
winnin

winnin/farol

AIコードレビュー後にプルリクエストのマージリスクを評価し、影響するファイルやエンドポイントを一覧表示するCLI/GitHub Action。

スター
174
フォーク
5
未解決の Issue
6
最終コミット
一昨日

これは何?

farolは、プルリクエストを承認する人向けの無料のオープンソースCLI/GitHub Actionです。AIレビューエージェントがdiffにコメントした後、farolは静的解析で変更コードの影響先(ページ、API操作、RPCメソッド、ジョブ、スクリプトなど)を可視化し、変更に対する判定(迅速にマージ、簡易レビュー、慎重にレビュー)と0〜100のリスクスコアを提示します。

レポートでは、影響範囲、diffのカバレッジ、セキュリティ上の指摘、コントラクトの破壊的変更、依存関係の変更を組み合わせて評価します。リスクの高いファイルから順に、インラインdiff、テストされていない行、手動テストのチェックリストを表示します。コードの解析にはTypeScriptの型チェッカー、go/types、Pythonのastを使い、解析対象のコードを実行したり、ネットワーク経由で送信したりすることはありません。ローカルまたはCIで実行でき、マージをブロックせずにプルリクエストへコメントを投稿します。

対応スタックには、React Router、Next.js、TanStack Routerのフロントエンド、TypeScriptのGraphQL/RESTバックエンド、Goサービス、FastAPI、Flask、DjangoなどのPythonサービスが含まれます。Datadogを連携すると、トラフィックとエラーの情報も追加できます。

主な機能

  • 01変更されたファイルをリスク順に並べ、それぞれが影響するページやエンドポイントを表示する。
  • 02判定と0〜100のリスクスコアを、その根拠とともに提示する。
  • 03GraphQL、FastAPI、Go、gRPCのコントラクトに対する破壊的変更を検出する。
  • 04インラインdiffで未テストの行を示し、CIからカバレッジ、lint、監査レポートを取り込む。
  • 05単一ファイルのHTMLレポートとMarkdown形式のレビューレコードを生成する。

ユースケース

  • 大規模なプルリクエストを承認する前に、どれだけレビュー時間をかけるべきか判断する。
  • マージ前に、破壊的なAPI変更とその下流の呼び出し元を検出する。
  • 既存のAIレビュアーと併用し、GitHubのプルリクエストにリスクのトリアージ工程を追加する。
  • 共有コンポーネントの変更がどのフロントエンドページに影響するか確認する。

クイックスタート

  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、Python プロジェクトでは python3 3.11 以降も必要です。
  • 対応しているコードベースは TypeScript、Go、Python のみです。

収録されている特集

トピック

よくある質問

farol とは?
AIコードレビュー後にプルリクエストのマージリスクを評価し、影響するファイルやエンドポイントを一覧表示するCLI/GitHub Action。 farolは、プルリクエストを承認する人向けの無料のオープンソースCLI/GitHub Actionです。AIレビューエージェントがdiffにコメントした後、farolは静的解析で変更コードの影響先(ページ、API操作、RPCメソッド、ジョブ、スクリプトなど)を可視化し、変更に対する判定(迅速にマージ、簡易レビュー、慎重にレビュー)と0〜100のリスクスコアを提示します。
farol は無料で使えますか?ライセンスは?
farol は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
farol は今もメンテナンスされていますか?
活発にメンテナンス中。farol の最終コミットは 2026年11月4日 です。
farol は何に使えますか?
大規模なプルリクエストを承認する前に、どれだけレビュー時間をかけるべきか判断する。 マージ前に、破壊的なAPI変更とその下流の呼び出し元を検出する。 既存のAIレビュアーと併用し、GitHubのプルリクエストにリスクのトリアージ工程を追加する。 共有コンポーネントの変更がどのフロントエンドページに影響するか確認する。
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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト