Repolode
redhat-et

redhat-et/ripwire

依存関係なしのC++23製CLI/MCPサーバー。コーディングエージェントにコードベースの重要度順マップを提示し、編集の影響範囲や実行すべきテスト、品質低下を確認できます。

スター
2,464
フォーク
158
未解決の Issue
70
最終コミット
6 時間前

これは何?

ripwireは、コーディングエージェント向けのコマンドラインツール兼MCPサーバーです。エージェントはリポジトリを読み始める前にripwireを実行し、重要度順に並んだ決定的な呼び出しグラフを取得できます。そこには主要なサブシステムやエントリーポイント、重要なシンボルとその呼び出し元が示されます。--for、--expand、--callers、--pathなどのクエリはトークン予算内で簡潔な回答を返すため、grepの繰り返しやファイル全体の読み込みを避けられます。

編集後は同じツールで、その変更がどこに影響するかを確認できます。影響範囲、変更箇所に到達するテスト、品質の差分(低下のみ)、変更を忘れられた共変更パートナー、公開シンボルの契約変更などが報告されます。確信が持てない結果には信頼度やHTMLマップ上の破線などのラベルが付き、出力が途中で切れた場合は残りを取得する次のコマンドが示されます。

このプロジェクトはC++23で実装され、ランタイム依存関係はありません。tree-sitterを通じて幅広い言語に対応しており、Rust、Python、Go、TypeScript、Javaなどを扱えます。シェルのコマンド1行でインストールでき、Claude Code、Codex、Cursor、Geminiなどのエージェント向けにスキルをセットアップできます。

主な機能

  • 01リポジトリのサブシステム、エントリーポイント、主要シンボルを重要度順に並べた決定的なマップを生成します。
  • 02ある概念がどこで処理されるか、関数を呼び出しているのは誰か、関数本体は何かといった、絞り込んだクエリに回答します。
  • 03編集後の影響範囲、変更箇所に到達するテスト、品質の低下を報告します。
  • 04不確かな呼び出しエッジや出力の省略箇所を明示し、推測を事実のように提示しません。
  • 05ランタイム依存関係のない単一のC++バイナリとして提供され、MCPサーバーとしても動作します。

ユースケース

  • 大規模で不慣れなリポジトリを編集し始める前に、コーディングエージェントが全体像を把握する。
  • プルリクエストを作成する前に、実行すべきテストと変更による影響を確認する。
  • 差分をレビューして、ショットガン・サージェリーのパターンや、共に変更すべきファイルの見落としを確認する。
  • 複雑度や変更頻度に応じた色分けを使い、コードベースの呼び出しグラフを単独で開けるHTMLファイルとして可視化する。

クイックスタート

  1. 1

    README に記載されているワンラインインストーラーで ripwire をインストールします

  2. 2

    インストール先のディレクトリを PATH に追加します

    export PATH="$HOME/.local/bin:$PATH"
  3. 3

    変更内容の説明を添えて、リポジトリで ripwire を実行します

    ripwire . --for="<the change you are about to make, in words>"

使う前に知っておきたいこと

  • クイックインストールではリモートスクリプトを bash にパイプして実行するため、気になる場合は事前に内容を確認してください。

トピック

よくある質問

ripwire とは?
依存関係なしのC++23製CLI/MCPサーバー。コーディングエージェントにコードベースの重要度順マップを提示し、編集の影響範囲や実行すべきテスト、品質低下を確認できます。 ripwireは、コーディングエージェント向けのコマンドラインツール兼MCPサーバーです。エージェントはリポジトリを読み始める前にripwireを実行し、重要度順に並んだ決定的な呼び出しグラフを取得できます。そこには主要なサブシステムやエントリーポイント、重要なシンボルとその呼び出し元が示されます。--for、--expand、--callers、--pathなどのクエリはトークン予算内で簡潔な回答を返すため、grepの繰り返しやファイル全体の読み込みを避けられます。
ripwire は無料で使えますか?ライセンスは?
ripwire は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ripwire は今もメンテナンスされていますか?
活発にメンテナンス中。ripwire の最終コミットは 2026年10月22日 です。
ripwire は何に使えますか?
大規模で不慣れなリポジトリを編集し始める前に、コーディングエージェントが全体像を把握する。 プルリクエストを作成する前に、実行すべきテストと変更による影響を確認する。 差分をレビューして、ショットガン・サージェリーのパターンや、共に変更すべきファイルの見落としを確認する。 複雑度や変更頻度に応じた色分けを使い、コードベースの呼び出しグラフを単独で開けるHTMLファイルとして可視化する。
ripwire のインストール方法は?
README に記載されているワンラインインストーラーで ripwire をインストールします インストール先のディレクトリを PATH に追加します: export PATH="$HOME/.local/bin:$PATH" 変更内容の説明を添えて、リポジトリで ripwire を実行します: ripwire . --for="<the change you are about to make, in words>"
ripwire はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/redhat-et/ripwire

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト