redhat-et/ripwire

The ripgrep of AI context: a zero-dependency C++23 CLI + MCP server for coding agents. Find what you want without reading the repo, then check you built what you meant — blast radius, tests-to-run, quality deltas. Signatures at 74.7% fewer bytes than bodies; every guess labelled, every loss published. Paddle out with a map.

それは何か ripwire は、コードリポジトリで実行する単一のバイナリです。軽量なインデックスを構築し、「X はどこで処理されるか?」や「この変更は何を壊すか?」といった質問に、簡潔でランク付けされた回答を提供します。サーバー、API キー、埋め込み、バックグラウンドデーモンは不要です。オフラインで動作し、多くの言語(C++、Python、Rust、Java、TypeScript など)をサポートします。

なぜ重要か コーディングエージェント(Claude Code、Codex、Cursor など)は、ファイル全体を読んだり繰り返し grep したりしてコードを探索することが多く、トークンと時間を消費します。ripwire は、1 回の呼び出しで同じ情報を提供します。関連するもののランク付けされたコールグラフ、存在する呼び出し元、シンボルをカバーするテスト、提案された編集が影響する範囲です。目標は「1 つの質問、1 つの完全な回答」であり、フォローアップの grep は不要です。

主な機能

  • オリエンテーション: ripwire . は、主要なサブシステム、エントリポイント、重要なシンボルのランク付けされた概要を提供します。
  • ターゲットクエリ: --for(「これから行う変更」)、--callers、--expand、--path などは、それぞれ簡潔で完全な応答を返します。
  • 編集の安全性: --edit-check は、呼び出しサイトの互換性、爆発半径、および変更に到達するテストをフラグします。
  • 品質ゲート: --quality-delta は、12 種類のコード品質問題(例:重複、共有ユーティリティの誤用)のうち悪化したものだけを報告します。また、後続のエージェントのためにシンボルに固定できる永続的なノートも追跡します。
  • 正直さ: 出力は常に制限をラベル付けし(例:「これは下限であり、合計ではない」)、切り捨てを開示し、欠落した行を取得するための next= トークンを提供します。黙って落とすことはありません。
  • トークンバジェット: 回答ごとに予算を設定できます。収まらない場合は、その旨を伝え、残りを取得する方法を示します。

インストールと使用 1 行でバイナリをインストールし、マシン上で見つかったすべてのコーディングエージェント(Claude Code、Codex、Cursor、Windsurf、Gemini、opencode、aider)に ripwire をいつ使用するかを自動的に教えます。その後、「このリポジトリで ripwire を使用」のようなセッションを開始します。エージェントは必要に応じて呼び出します。オプションの MCP サーバーインターフェースもあります。

パフォーマンスの証拠 README には測定値が含まれています:リポジトリのインデックス作成は 0.25~0.45 秒、6.6~16.5 MB を使用しますが、主要なグラフデータベース MCP サーバーは 23~52 秒、391~623 MB かかります。ウォームクエリは 197 ミリ秒で応答しますが、比較対象は 1,082 ミリ秒です。典型的なタスクのトークン節約は、ナイーブなファイル読み取りや grep と比較して 2~25 倍です。

どのように構築されたか その品質レンズは、50 年にわたるソフトウェアエンジニアリング研究(McCabe 1976、Halstead 1977 など)と最近の論文(2026 年末時点)に基づいており、すべて docs/LINEAGE.md に 1 つずつ記録されています。また、237 のツールを調査しましたが、それらは何も貢献しませんでした(そしてその旨を述べています)—アプローチを正直で証拠に基づいたものに保っています。

制限事項(README に記載)

  • これは正直さの下限であり、カスタム測定設計の代わりにはなりません。
  • arity ヒューリスティックは、デフォルトの末尾パラメータが存在する場合に互換性のない呼び出しサイトを過大評価する可能性があります(文書化済み;コンパイルで検証)。
  • 広範で一般的な単語の概念クエリでは、単純な grep と読み取りが依然として勝る場合があります。

バージョンとライセンス 現在のバージョンは 0.6.8(Apache 2.0)です。完全なリファレンスガイド、インストールオプション、評価はリポジトリの docs にあります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト