repowise-dev/repowise
Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.
Repowise – 証拠に基づくコードベースのインテリジェンス
何であるか – Repowise は、ローカルで継続的に更新されるリポジトリのインデックスを構築する Python ベースのツールです。このインデックスは、言語に依存しないコールグラフ、Git履歴、テストカバレッジ情報、ドキュメント、記録されたアーキテクチャ的決定を統合しています。この単一の真実源から、開発者や AI ベースのコーディングエージェントが通常、grep やコードの読解、または高コストなモデルプロンプトを実行して発見する必要がある質問に対して、決定論的(LLM の呼び出しなし)な回答を提供します。
なぜ重要か – 現代の AI コーディングアシスタントは、毎回のリクエストでコードベースの構造を「再発見」するのに多くの時間を費やしており、トークン使用量が増加し、エージェントの速度が低下し、文脈の損失につながる可能性があります。Repowise は一度だけ重い処理を行い、その後は出典付きでグラフに依存した結果を、はるかに少ないツール呼び出しで、大幅に小さなペイロード(例:通常のコミットコンテキストでは 13,984 トークン vs 393 トークン)で提供します。このプロジェクトは、具体的で実行可能なリファクタリング提案と、各ファイルのヘルススコアもローカルで計算し、オープンソースとして提供しています。
コア機能
| 分野 | Repowise が提供する内容 |
|---|---|
| コードグラフ | 25 言語の AST 解析された依存関係、信頼度付きコール解決、コミュニティ検出、中心性メトリクス、実行フローのトレース。 |
| Git シグナル | ホットスポット検出、所有者、共変更統計、バスファクター、バグ修正履歴 – すべてリポジトリのコミットログから導出。 |
| ドキュメントウィキ | 各モジュール/ファイル用の自動生成・インクリメンタルなウィキページ;オプションで LLM による文章を各ページに追加可能。 |
| アーキテクチャ的決定 | 5 つのソース(例:コミットメッセージ、コードコメント)からの決定論的抽出+手動記録;各決定は証拠とリンク。 |
| コードヘルス分析 | 49 の決定論的検出器(複雑度、一貫性、クローン検出、テストされていないホットスポット、変更エントロピーなど)が、各ファイルごとに 1–10 のヘルススコアと具体的なリファクタリング計画(クラス/メソッドの抽出、メソッドの移動、ファイルの分割など)を生成。 |
| テストインテリジェンス | コールグラフ経由でファイルに到達するテストを特定(カバレッジレポートが不足している場合のフォールバック);差分によって実行された最小テストセットをリストアップ可能。 |
| 変更リスク | グラフと Git シグナルを使用して、差分または PR を 0–10 のスケールでリスクスコアリング;may_break や missing_tests などの実行可能な指示を返却。 |
| MCP ツール | 10 のタスク形状の「モデル制御プロトコル」エンドポイント(グラフ、Git、ドキュメント、決定、ヘルス、リスク、影響テスト、ドキュメントの要約など);Claude Code、Codex、Cursor、VS Code など、MCP 互換エージェントが呼び出せる。 |
| ドキュメントの要約 | 長い pytest ログなどのノイズの多いコマンド出力を、エージェントに到達する前に圧縮。エラーと終了コードを保持しつつ、トークン使用量を 60–90 % 削減。 |
| PR ボット | GitHub App で、各 PR に一貫して更新されるコメントを投稿。内容には、影響範囲、テスト影響、リスクスコア、ヘルスアラート、詳細分析ページへのリンクが含まれる。 |
一般的なワークフロー
- インストール –
pip install repowise。 - 初期化 – ターゲットリポジトリ内で
repowise init --no-prose -yを実行。コードの解析、グラフの構築、Git シグナルの抽出、ウィキの作成、ヘルス検出器の実行を行います。 - 起動 –
repowise serveを実行して、MCP ツールを公開するローカル HTTP エンドポイントを起動。 - 接続 – コーディングエージェント(Claude Code、Codex、Cursor など)をエンドポイントに接続するか、組み込みダッシュボードを開いてヘルススコア、変更リスク、リファクタリング提案を探索。
- 反復 – リポジトリが変更されると、Repowise はインデックスをインクリメンタルに更新し、全体の分析を再実行せずに、すべての回答を最新の状態に保ちます。
使用すべき人
| 使用ケース | Repowise の役割 |
|---|---|
| AI支援開発 | エージェントは事前に計算された出典付きコンテキスト(例:auth.validate を呼び出すのは誰か?)を1回の呼び出しで受け取り、トークン消費とレイテンシを削減。 |
| 安全なプルリクエストレビュー | 自動リスクスコア、テスト影響リスト、影響範囲マップが PR コメントに直接表示され、レビュアーは実際の破壊リスクに集中できる。 |
| 継続的なコードヘルス改善 | ヘルススコアが欠陥を引き起こしやすいファイルを浮き彫りにし、具体的なリファクタリング計画はエージェントに供給または手動で適用可能。 |
| 大規模なマルチリポジトリワークスペース | 1 つの MCP エンドポイントで複数のリポジトリを扱えるため、サービス間契約チェックやアーキテクチャの強制が可能。 |
| 企業展開 | コア分析はオンプレミスで完全に実行;API キー不要。AGPL-3.0 ライセンスで、セキュリティ制御やSLA保証のためのオプション商用サポートあり。 |
インストールとクイックスタート
pip install repowise # CLI とライブラリを取得
cd /path/to/your/repo
repowise init --no-prose -y # インデックスを構築(LLM は不要)
repowise serve # ローカル MCP サーバーを起動
# 例:クエリ
repowise risk main..HEAD # 現在の PR の変更リスクスコア
repowise health --refactoring-targets # リファクタリング対象の低ヘルスファイル一覧
repowise impacted-tests main..HEAD # 差分に影響する最小テストセット
詳細は docs/start/QUICKSTART.md に記載。
証拠とベンチマーク
- エージェント効率 –
django/djangoリポジトリで 43 の質問を対象にした研究では、Repowise はエージェント出力を 31.6 % 減少させ、ツール呼び出し回数を 7.2 → 3.8 に削減(p < 0.0001)。 - ペイロード削減 – 通常のコミットコンテキストは 13,984 → 393 トークン(97.2 % 減少)。
- 欠陥予測 – ヘルスエンジンの 49 の検出器は実際の欠陥コーパスで調整済み。リポジトリ内検証では、最低ヘルススコアのファイル群に最近のバグが 3.3倍 高濃度に存在。
- グラフ精度 – 37,853 のオラクルエッジで 5 つの他のツールと比較;Repowise はすべての 7 つのコンパイラ評価セルで最高の精度を達成。
- すべてのベンチマークデータ、手法、制限は
docs/BENCHMARKS.mdに公開。
ライセンスと利用可能状況
- オープンソース – AGPL-3.0(GitHub にソースあり、PyPI パッケージ
repowise)。 - セルフホスト – コア分析はローカルで実行;外部 API キーまたはクラウドサービスは不要。
- 商用オプション – オプションの有料サポート、セキュリティ拡張、SLA 保証を企業向けに提供。
詳細情報の入手先
- ライブデモ – https://repowise.dev(サインイン不要)。
- ドキュメント – https://docs.repowise.dev
- GitHub リポジトリ – https://github.com/repowise-dev/repowise
- PR ボットのインストール – https://github.com/apps/repowise-bot
結論 – Repowise は、AI エージェントと開発者が即座に照会できる決定論的知識ベースにリポジトリを変換し、トークンコストを削減し、安全性を向上させ、遠隔の LLM にコードを送信することなく、具体的かつ実行可能な修正を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト