mcpField
R
repovine

repovine

ローカル
github.com/legann開発ツール012 週間前に更新

repovine について

repovineは、チェックアウト内のリポジトリ構造と契約のグラフを構築し、MCP経由でコーディングエージェントに範囲を絞ったコンテキストを提供します。依存関係、実行フロー、設定、バージョン管理された注釈を扱う開発者やエージェント向けです。

主な機能

  1. 01チェックアウト内のリポジトリグラフ
  2. 02単位間の契約と依存関係の分析
  3. 03実行フローと設定の照会
  4. 04鮮度チェック付きのバージョン管理注釈
  5. 05グラフ探索用MCPツール

活用シーン

  1. 01サービス間のリクエスト経路を追跡
  2. 02API変更の影響を受ける利用箇所を特定
  3. 03リポジトリの不変条件と運用リスクを記録

MCP 対応

ナビゲーション、実行フロー追跡、依存関係分析、メンテナンスなど、構造化されたリポジトリグラフと注釈の照会をMCPツールとして公開します。MCPサーバーは現在のチェックアウトを対象に動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"legann-repovine": {
"command": "npx",
"args": [
"-y",
"repovine"
]
}
}
}
起動コマンドnpx -y repovine

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmrepovine0.1.1

ツール

18

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ返す最大項目数。デフォルト値はツールによって異なり、通常は 10-20 です。
matchenumいいえトークン照合戦略。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
querystringはいタスクのキーワード、機能名、シンボル、ルート、パッケージ、設定名、その他の検索テキスト。
typesarrayいいえ任意の結果タイプフィルター。
offsetintegerいいえページネーションのオフセットです。デフォルトは 0 です。
includearrayいいえ受け付けますが無視されます。指定の有無にかかわらず、応答は同じです。trace_flow は独自の include 列挙型で応答セクションを選択します。
perTokenLimitintegerいいえ最終ランキング前に、クエリトークンごとに検討する OR 候補の最大数。デフォルト値は limit に応じて増加し、上限は 100 です。
responseFormatenumいいえレスポンス形式の上書き:concise = コンパクトな出力、debug = エンベロープ全体。concise | debug
contextSessionIdstringいいえハーネスから渡されるコンテキスト品質セッション ID。返されたコンテキストを評価するため、毎回の呼び出しで渡してください。

詳細

repovine

CI npm

リポジトリのコンテキストをまとめ、コーディングエージェントに伝えます。

リポジトリのナレッジレイヤー

リポジトリに依存しないコア。 対応する言語、フレームワーク、インフラストラクチャ形式を問わず、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 repovineIDE/CLI クライアントの外部で STDIO MCP サーバーを実行する
npx repovine setup cursor (または claude/codex/all)上記の統合を追加してから、グラフを構築する
npx repovine buildグラフを構築する
npx repovine statusグラフ/設定/アノテーションの状態
npx repovine doctorワークスペースの統合を診断する
npx repovine clearrepovine が管理するワークスペースファイルを削除する
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をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。