repovine について
repovineは、チェックアウト内のリポジトリ構造と契約のグラフを構築し、MCP経由でコーディングエージェントに範囲を絞ったコンテキストを提供します。依存関係、実行フロー、設定、バージョン管理された注釈を扱う開発者やエージェント向けです。
主な機能
- 01チェックアウト内のリポジトリグラフ
- 02単位間の契約と依存関係の分析
- 03実行フローと設定の照会
- 04鮮度チェック付きのバージョン管理注釈
- 05グラフ探索用MCPツール
活用シーン
- 01サービス間のリクエスト経路を追跡
- 02API変更の影響を受ける利用箇所を特定
- 03リポジトリの不変条件と運用リスクを記録
MCP 対応
ナビゲーション、実行フロー追跡、依存関係分析、メンテナンスなど、構造化されたリポジトリグラフと注釈の照会をMCPツールとして公開します。MCPサーバーは現在のチェックアウトを対象に動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
18掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返す最大項目数。デフォルト値はツールによって異なり、通常は 10-20 です。 |
| match | enum | いいえ | トークン照合戦略。auto(デフォルト):まず AND、次に範囲を制限した OR——OR でヒットすると strategy.relaxedFrom:"and" が設定され、emptyDiagnostic は省略されます。弱いトークンのみの OR ノイズでは、weakTokenOnlySuppressed と emptyDiagnostic が設定されることがあります。and:候補にはすべてのトークンが含まれている必要があります。部分的なトークン一致だけの場合、totalResults:0 となり、emptyDiagnostic strict_and_no_single_node が表示されます。意味的候補はすべての照合モードで追加されるため、semantic_search_embeddings が有効な場合、match:"and" でも一部のトークンのみを含むノードが返され、隣に emptyDiagnostic は表示されません。topResults[].matchedTokenCount と semanticRank を確認してください。or:トークンごとの候補を上限付きで統合します(package/route/handler などの弱いトークンではノイズが返ることがあります)。デフォルトは auto です。auto | and | or |
| query | string | はい | タスクのキーワード、機能名、シンボル、ルート、パッケージ、設定名、その他の検索テキスト。 |
| types | array | いいえ | 任意の結果タイプフィルター。 |
| offset | integer | いいえ | ページネーションのオフセットです。デフォルトは 0 です。 |
| include | array | いいえ | 受け付けますが無視されます。指定の有無にかかわらず、応答は同じです。trace_flow は独自の include 列挙型で応答セクションを選択します。 |
| perTokenLimit | integer | いいえ | 最終ランキング前に、クエリトークンごとに検討する OR 候補の最大数。デフォルト値は limit に応じて増加し、上限は 100 です。 |
| responseFormat | enum | いいえ | レスポンス形式の上書き:concise = コンパクトな出力、debug = エンベロープ全体。concise | debug |
| contextSessionId | string | いいえ | ハーネスから渡されるコンテキスト品質セッション ID。返されたコンテキストを評価するため、毎回の呼び出しで渡してください。 |
詳細
repovine
リポジトリのコンテキストをまとめ、コーディングエージェントに伝えます。
リポジトリのナレッジレイヤー
リポジトリに依存しないコア。 対応する言語、フレームワーク、インフラストラクチャ形式を問わず、repovine はリポジトリ構造を正規化し、クエリ可能な単一のモデルにします。
設計によって定められた契約境界。 グラフは、共有コード、テンプレート、ランタイム契約を介してリポジトリ内の単位を接続します。これらの境界により、リポジトリ規模のナビゲーション、依存関係の影響分析、ランタイムフロー、設定を支援します。
明示的な所有権を持つ、バージョン管理されたナレッジ。 バージョン管理された注釈によって、意図、不変条件、リスク、運用知識をグラフノードに紐付けます。エージェントと開発者が注釈を作成し、repovine はリポジトリの状態に照らして鮮度と構造的な整合性を確認します。
これらのレイヤーを組み合わせることで、意図に基づき、コンテキストを組み立て、契約を検証する開発を支援します。タスクの意図に沿って MCP のコンテキストを組み立て、観測可能な主張をリポジトリの状態と照合します。
チェックアウトごとにローカルで動作する設計です。 ライブグラフとインデックスは各チェックアウトの作業ツリーから構築され、メモリ内で動作します。設定と作成したナレッジは Git を介して引き継がれます。データベースは不要です。
ベンチマーク。 公開ソフトウェアリポジトリから選んだ正確性と抑制に関するタスクでは、Repovine の実行の 90% がケースごとの差分ゲートに合格しました。ベースラインの実行では 10.6% でした。結果を見る。
クイックスタート
既存のリポジトリで開始します。
npx repovine setup claude # or codex, cursor, all
setup は選択したクライアントを repovine に接続し、repovine のスキル、フック、指示を追加して、リポジトリグラフを構築します。
グラフモデル
repovine はリポジトリの状態から、単位をまたぐ契約のグラフを決定論的に導出します。ソースプラグインとインフラストラクチャプラグインは、スタック固有の構造をパッケージ、モジュール、エクスポートされたシンボル、テンプレート、ランタイムリソース、およびそれらの関係という共通の語彙に変換します。これにより、対応するすべてのスタックで、ナビゲーション、依存関係の影響分析、ランタイムフロー、設定を一貫して扱えます。設計の背景を見る。
仕組み
エンジンと MCP が基本的なワークフローを提供します。対話型クライアントはこれを直接利用します。プロトコルを明示的に実行する場合、Delivery Protocol は同じワークフローに、割り当て → 結果 → コンプライアンスという構造化された契約を追加します。
クライアント
Claude Code、Codex、Cursor などのクライアントでは、開発者が関与したまま、エージェントが repovine MCP を直接使用します。
graph LR
SRC["sources"] --> S1["Stage 1: gather facts"]
S1 --> S2["Stage 2: build graph"]
S2 --> ANN["versioned annotations on graph nodes"]
A["agents and developers"] --> ANN
S2 --> S3["Stage 3: build search index"]
ANN --> S3
S3 --> MCP["MCP tools"]
ANN --> MCP
MCP -->|"bounded context"| C["Cursor, Claude Code, or Codex"]
| 段階 | 入力 | 出力 |
|---|---|---|
| 段階 1:事実を収集 | ソース | エクスポート、インポート、環境変数名、ルート、インフラストラクチャ |
| 段階 2:グラフを構築 | 事実 | パッケージ → モジュール → シンボル;インフラストラクチャ/テンプレート/ドメインのエッジ |
| 注釈 | グラフ + エージェント/開発者による記述 | バージョン管理された意図、不変条件、リスク、副作用、運用上の制約 |
| 段階 3:検索インデックスを構築 | グラフ + 注釈 | トークンインデックス;あいまい検索を支援するオプションの埋め込み |
| MCP | グラフ + 注釈 + インデックス | 範囲を限定したグラフおよび注釈のクエリ結果 |
デリバリープロトコル
デリバリープロトコルでは、割り当て → 構造化された結果 → コンプライアンスレポートの契約を定義します。Core は、リポジトリの観測可能な状態に基づくプロトコルのスキーマ、プロジェクション、バリデーターを管理します。
エージェントは作業中に MCP を使ってリポジトリのコンテキストにアクセスします。repovine CLI は割り当てと結果を検証し、コンプライアンスレポートを生成します。
graph LR
IN["assignment"] --> AV["assignment validation"]
AV --> A["agent"]
A <-->|"repository context during the run"| MCP["repovine MCP"]
A --> R["structured result"]
AV -->|"validated assignment"| V["repovine compliance validation"]
R --> V
S["observable repository state + recorded context"] --> V
V --> OUT["compliance report"]
repovine は、スキーマへの準拠、割り当てとの紐付け、およびグラフ、アノテーション、記録された MCP コンテキスト、任意のリビジョン差分から再計算できる主張を検証します。コンプライアンスレポートでは、プロトコルへの準拠とリポジトリに基づく根拠を扱います。動作の正しさとマージの準備状況は、プロトコルの対象外です。
実行可能なLangGraph ハーネスのデモでは、エンドツーエンドのエージェントワークフローにプロトコルを適用します。オーケストレーションのトポロジー、サンドボックス、再試行、ワークツリーの分離、プロバイダーの動作は、デモ固有の実装上の選択です。デリバリープロトコル統合ガイドを参照してください。
MCP ツール
各ツールは、対象範囲を限定した構造化レスポンスを返します。
クエリツールと、大規模なリポジトリでよくある質問の例:
| グループ | 質問の例 | ツール |
|---|---|---|
| ナビゲーション | 認証機能はどこにありますか? billing パッケージには何が含まれていますか? | search_context, map_context, inspect_node |
| ランタイム | エントリーポイントは何ですか?注文はサービス間をどのように流れますか? | get_entrypoints, trace_flow |
| コントラクトと設定 | API の変更はどのコンシューマーに影響しますか?ワーカーが読み取る環境変数はどれですか? | analyze_dependencies, get_config_surface |
| アーキテクチャ | 境界違反や巨大モジュールはありますか? | analyze_architecture |
メンテナンスツールは、グラフとアノテーションを管理します。
| グループ | 目的 | ツール |
|---|---|---|
| メモリ | アノテーション済みまたは古くなったノードはどれですか? | get_annotation_status, write_annotation, merge_annotations, validate_annotations, get_annotation_merge_status |
| 同期 | グラフを再構築して確認する | refresh_context, get_build_status, get_context_session_quality |
| ドメイン | ドメイン設定を調整する | suggest_domains_config |
| 却下 | レビュー済みのアドバイザリー項目を却下する | decline_advisory (種類: domains-config | carrier-link-gaps) |
セットアップと CLI
setup は、既存の設定とプロジェクト固有のスペシャリストを保持しながら、次の repovine 統合をワークスペースに追加します。
| 統合 | 含まれるもの |
|---|---|
| MCP サーバー | repovine MCP ツール |
| スキル | repovine-workflow, repovine-annotations, repovine-refresh, repovine-review, repovine-status |
| サブエージェント | repovine-repo-explorer, repovine-annotation-writer, repovine-architecture-auditor, repovine-code-reviewer |
| フック | 編集前の境界に関する通知、編集後の古くなったグラフに関する通知、セッション開始時の「まず MCP を使う」というリマインダー |
| 指示 | AGENTS.md(Cursor では .cursor/rules を使用) |
| コマンド | 目的 |
|---|---|
npx repovine | IDE/CLI クライアントの外部で STDIO MCP サーバーを実行する |
npx repovine setup cursor (または claude/codex/all) | 上記の統合を追加してから、グラフを構築する |
npx repovine build | グラフを構築する |
npx repovine status | グラフ/設定/アノテーションの状態 |
npx repovine doctor | ワークスペースの統合を診断する |
npx repovine clear | repovine が管理するワークスペースファイルを削除する |
npx repovine --version · --help | バージョン/ヘルプ |
npx repovine delivery --help | ハーネス/CI のデリバリープロトコル用コマンド:記述子、マニフェスト、実行概要、検証、コンプライアンス |
npx repovine agents --help | リポジトリの役割、決定論的なオリエンテーション、コンテキストセッションの品質に関するハーネス/CI ユーティリティ |
v1 でサポートされる MCP トランスポートは STDIO のみです。リモート、devcontainer、WSL、VM、devbox で使用する場合は、解析対象のチェックアウト内で動作するよう、その環境内で repovine サブプロセスを起動してください。
サポート対象のスタック
| 分野 | サポート |
|---|---|
| 言語 | 優先サポート: TypeScript(TS ツールチェーン経由の JS/JSX、tsconfig.json が必要);Python は部分対応(バックエンドのルートとサーバー側でレンダリングされるテンプレート) |
| フレームワーク | React、Next.js、Nuxt、SvelteKit、Angular、NestJS、サーバーレスのモノレポ;Vue/Svelte の単一ファイルコンポーネント(スクリプトブロックのみ) |
| IaC | 部分対応、対象を拡大中: SAM/CloudFormation、Terraform、Kubernetes、Helm、Dockerfile、docker-compose、Vercel |
IaC パーサーは、インフラファイルをランタイムリソースのノードと、それらの背後にあるコードや画像へのリンクに変換します。完全なフォーマットスキーマではなく、選定されたリソースと関係を対象としています。対応範囲は現在も積極的に拡大中であり、既存の抽出器の拡張は貢献できる領域です。設計の詳細:DESIGN.md。
Node.js 22 以降と、インデックス可能なルートが 1 つ必要です:tsconfig.json、pyproject.toml/setup.py(python3 が必要)、または IaC ファイル。サポート対象の IaC ファイルを含むリポジトリは、ソースプロジェクトがなくてもインデックス化できます。その場合、グラフにはインフラモジュールとランタイムリソースが含まれますが、コードモジュールは含まれません。
リポジトリ内のファイル
| ファイル/ディレクトリ | Git | 役割 |
|---|---|---|
repovine.config.json | コミット | メイン設定:グラフの構築と MCP 出力 |
repovine.domains.json | コミット | リポジトリグラフの論理的な編成 |
repovine.annots.json | コミット | セマンティックアノテーションのメモリ |
.repovine/ | 無視 | ローカルエンジンのキャッシュとワークスペースの状態 |
デフォルト設定は、ほとんどの TypeScript リポジトリで使用できます。設定リファレンス:docs/workspace-files.md。
ステータス
プレビュー版(0.1.0)で、現在も利用でき、貢献も歓迎しています。グラフスキーマと @repovine/plugin-sdk は引き続き変更されます。
貢献
repovine のプラグインアーキテクチャは、言語とインフラの対応範囲を拡張するための 2 つの公開プロデューサーサーフェスを提供しており、どちらも @repovine/plugin-sdk を通じて利用できます。
| プラグイン | 追加されるもの |
|---|---|
| 言語ソースプロデューサー | 言語:ソースファイル → モジュール、インポート、エクスポート、セマンティックヒント |
| IaC パーサー | インフラ形式:ファイル → ランタイムリソースのノードとリンク |
組み込みプロデューサーとサードパーティ製プロデューサーは、同じ公開プラグインコントラクトを共有します。コアは出力を検証し、グラフの識別情報とオントロジーを管理します。プラグインガイド、実行可能な Go ソースプラグイン、IaC プラグイン、その他の例をご覧ください。
詳細情報
- DESIGN.md:システムの境界、グラフコントラクト、信頼モデル、制限事項
- CONTRIBUTING.md:開発環境のセットアップ、品質ゲート
- ドキュメント:ガイド、リファレンス、TODO アプリのウォークスルー
- プラットフォームサポート:サーフェスごとの OS 対応レベル、前提条件、昇格ルール
- 例:実行可能なプラグインと Delivery Protocol ハーネスのデモ
ライセンス
MIT。LICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。