Skip to main content
Glama
Weavatrix

weavatrix-refactor

by Weavatrix

Weavatrix Refactor

CI npm crates.io docs.rs MIT

Weavatrix エコシステムの明示的なソース書き込み層です。Core は読み取り専用のままです。

エージェントに推測させずに、ファイルをまたいでリファクタリングします。

Weavatrix Refactor は、コーディングエージェント向けのネイティブ MCP サーバーです。リポジトリグラフを通じてシンボルを検索し、バイト単位で正確な編集をプレビューし、証明できなかった同名の出現箇所をすべて報告し、明示的でハッシュに紐づいた確認の後でのみ書き込みを行います。

有用な違いは「AI が単語をリネームできる」ことではありません。エージェントが書き込み前に証拠を取得し、書き込み後に回復可能なトランザクションを得られることです。

インストール

ネイティブバイナリを npm 経由で実行します:

npx -y weavatrix-refactor mcp /absolute/path/to/repository

または Cargo でインストールします:

cargo install weavatrix-refactor --locked
weavatrix-refactor mcp /absolute/path/to/repository

MCP クライアントは直接起動できます:

{
  "mcpServers": {
    "weavatrix-refactor": {
      "command": "weavatrix-refactor",
      "args": ["mcp", "/absolute/path/to/repository"],
      "env": {"WEAVATRIX_ALLOW_SOURCE_EDITS": "1"}
    }
  }
}

プレビューのみのセッションでは WEAVATRIX_ALLOW_SOURCE_EDITS を設定しないでください。プレビューは読み取りです。確認済みの適用またはロールバックのみがゲートを必要とします。

プラグインとしてインストール

このリポジトリには、Cursor、Codex、Claude Code、Grok Build 用のプラグインバンドルも 1 つ同梱されています。このプラグインは拡張のみのプロファイルを起動するため、Weavatrix Core の読み取り専用メソッド定義 43 個を繰り返すことなく、Refactor の 11 メソッドを提供します。両方のサーフェスが必要な場合は、別の Weavatrix プラグインをインストールしてください。

同梱のスキルはオプションであり、明示的にリファクタリング作業が要求された場合にのみ有効になります。エントリポイントは短いままです。各メソッドには個別のリファレンスカードがあり、必要なときだけ読み込まれます。

  • Cursor: マーケットプレイス承認後に Weavatrix Refactor を検索します。

  • Codex: .agents/plugins から Weavatrix/weavatrix-refactor マーケットプレイスを追加し、weavatrix-refactor@weavatrix-refactor を追加します。

  • Claude Code: .claude-plugin から同じリポジトリマーケットプレイスを追加し、weavatrix-refactor@weavatrix-refactor をインストールします。

  • Grok Build: grok plugin marketplace add Weavatrix/weavatrix-refactor を実行し、/marketplace を開いてインストールします。

プラグインは WEAVATRIX_ALLOW_SOURCE_EDITS=1 を設定しますが、すべての書き込みには、正確なプレビューの短命でプランに紐づいた使い捨てトークンが依然として必要です。

リネームタスクでは、エージェントが必要とする 2 つのツールだけを公開します:

weavatrix-refactor mcp /absolute/path/to/repository --profile=rename

rename プロファイルは rename_symbol と rollback_last_apply を公開します。無関係なグラフツールとリファクタリングツールはすべて存在せず、呼び出すことはできません。オプションを省略するか(または --profile=refactor を使用する)、Refactor の 11 メソッドすべてを公開します。カタログを絞り込むと、エージェントのコンテキストの繰り返しが減ります。プレビューハッシュ、書き込みゲート、確認トークン、ロールバックチェックが弱まることはありません。

Weavatrix Core が別の MCP としてすでにインストールされている場合は、Refactor が追加する 11 メソッドのみを公開します:

weavatrix-refactor mcp /absolute/path/to/repository --profile=refactor

refactor プロファイルは、MCP と list-tools(マーケットプレイスプラグインを含む)のデフォルトです。以前の full 互換プロファイルは削除され、両方のコマンドで拒否されます。Refactor は Core メソッドを再公開しません。読み取り専用のリポジトリインテリジェンスも必要な場合は、Weavatrix Core を独自の MCP としてインストールしてください。

Related MCP server: repository-analyzer-mcp

3 回の呼び出しで安全なクロスファイルリネーム

2 つのファイルが resolveTarget を宣言しているとします。裸の名前は曖昧であるため、サーバーは 1 つを選択することを拒否し、正確な ID を返します:

// rename_symbol
{"symbol":"resolveTarget","new_name":"locateTarget","output_format":"json"}

{
  "status": "NOT_FOUND",
  "reason": "the name matches more than one symbol; pass one of the candidate ids",
  "candidates": [
    "symbol:src/core.ts#function:resolveTarget@2:1",
    "symbol:src/shadow.ts#function:resolveTarget@3:1"
  ]
}

意図した ID で再試行します。結果は依然として読み取り専用です。編集プラン、コンテンツハッシュ、証明された編集数、バックエンドが推測を拒否した参照が含まれます。

// rename_symbol
{
  "symbol": "symbol:src/core.ts#function:resolveTarget@2:1",
  "new_name": "locateTarget",
  "output_format": "json"
}

{
  "status": "PLANNED",
  "completeness": "PARTIAL",
  "renamedEdits": 7,
  "uncertainReferences": ["... three named locations ..."],
  "confirmToken": "single-use-token",
  "plan": {"schemaVersion":"weavatrix.edit-plan.v1","files":["..."]}
}

プランを確認したら、同じ入力とそのトークンで同じ操作を繰り返します:

// rename_symbol
{
  "symbol": "symbol:src/core.ts#function:resolveTarget@2:1",
  "new_name": "locateTarget",
  "mode": "apply",
  "confirm_token": "single-use-token",
  "output_format": "json"
}

{"status":"APPLIED"}

この正確なフローは、実際の stdio MCP サーバーに対して実行されます。リポジトリフィクスチャは、3 つのファイルにわたる 7 つの編集を必要とし、4 つのトラップ(より長い識別子、文字列、コメント、無関係なシャドウ)を保持し、コンパイルも成功する必要があります。12/12 を獲得しています。

現在自動化されているもの

11 のツールすべてが同じレベルの自動化を主張しているわけではありません:

レベル

ツール

エージェントが受け取るもの

完全なプレビュー/適用ワークフロー

rename_symbol, rename_related_symbols

生成されたプランとトークン、次に同じ操作を繰り返すことによる確認済みの書き込み

プラン生成

change_signature, edit_symbol, bulk_replace, organize_imports, move_file

バイト単位の正確な編集またはレビュープラン。編集プランエンベロープが返される場合は apply_edit_plan を使用

アドバイザリ

move_symbol, delete_readiness

影響範囲、循環/アーキテクチャリスク、または削除判定。自動ソース書き込みなし

安全基盤

apply_edit_plan, rollback_last_apply

編集プランエンベロープの検証/適用とドリフトセーフな復元

Refactor は、証拠のために内部で Rust Weavatrix グラフを使用しますが、Core メソッドをエクスポートすることはありません。読み取り専用のリポジトリインテリジェンスについては、別の Weavatrix プラグインをインストールしてください。Refactor MCP は正確に 11 の拡張メソッドを所有します。--profile=rename はオプションの、より狭い 2 メソッドワークフローです。

安全モデルと正確な制限

  • 曖昧な名前は、最初の一致を選択する代わりに、候補 ID で失敗します。

  • PARTIAL は、グラフがプラン内の編集を証明したが、他のセマンティック参照が存在しないことを証明しなかったことを意味します。uncertainReferences は、レビューが必要な場所を示します。

  • プラン内のすべてのファイルにはコンテンツハッシュが含まれます。作業ツリーが変更されると、古い座標を適用する代わりにプレビューが古くなります。

  • 適用には WEAVATRIX_ALLOW_SOURCE_EDITS=1 に加えて、そのリポジトリと正確に再計算されたプランに紐づいた短命で使い捨てのトークンが必要です。

  • rollback_last_apply は、トランザクション後にドリフトしたファイルへの上書きを拒否します。

  • 複数ファイルの書き込みはジャーナルされ、クラッシュリカバリ可能です。無関係なプロセスに対しては観測的にアトミックではありません。別のプロセスが中間のファイルシステム状態を一時的に観測する可能性があります。

証明された来歴を持つ編集のみが適用されます。字句またはグラフのバックエンドは、言語サーバーよりも意図的に保守的であり、完全なコンパイラセマンティクスの主張として読まれるべきではありません。

測定されたベンチマーク。異なる層は分離して保持

チェックインされた 2026 年 8 月のベンチマークは、同等の敵対的な TypeScript、Rust、Python フィクスチャを使用しています。それぞれに 7 つの必須編集、4 つのトラップ、ビルド/テストゲートがあります。プロトコル実行は、正確な o200k_base 初期化、カタログ、リクエスト、レスポンストークンをカウントします。エージェント実行は、固定された gpt-5.6-sol / 中程度の推論で Codex CLI によって報告された実際の累積使用量を使用します。バイトプロキシや推定トークン/秒変換は使用されません。

新しいリネーム専用プロファイルは、固定 MCP コンテキストを 9,331 トークンから 485 トークンに削減しながら、9 つのプロトコル実行すべてで 12/12 を維持しました。そのガイド付き TypeScript エージェント A/B は次のとおりです:

アーム

正解率

中央値エンドツーエンド

中央値入力トークン

素の Codex

12/12 x3

42,602 ms

72,169

Weavatrix 1.0.6 --profile=rename

12/12 x3

48,389 ms

108,155

Weavatrix 1.0.5 フルサーフェス

12/12 x3

58,719 ms

275,784

Serena

12/12 x3

68,728 ms

388,271

完全なエージェントマトリックスは、27 すべての TypeScript/Rust/Python 実行で 12/12 です。すべての実行は運用上も完了し、サニタイズされた編集チャネル監査に合格しました。決定的なプロトコルマトリックスは、言語固有の Serena の欠陥も明らかにしました。その提案された find_symbol → rename_symbol フローは、TypeScript で 3 回すべて 7/12 でしたが、Rust と Python は合格しました。また、Rust マクロ呼び出しと Python f-string/モジュールレベル呼び出しの証拠に関する修正も発見し、推進しました。

このおもちゃの TypeScript リポジトリでは、素の Codex は絞り込まれたプロファイルよりも依然として高速で安価です。Weavatrix の実証済みの価値は、書き込み前プレビュー、名前付き不確実性、古いプランの拒否、明示的な承認、ロールバックであり、普遍的な小規模リポジトリのトークン勝利ではありません。

完全な方法論、すべての言語の中央値、生の結果リンク、および制限事項を参照してください。

契約

11 の Refactor ツール名、スキーマ、結果状態は、contract/refactor-tools.v1.json で固定されています。すべてのリファクタリング操作はネイティブ Rust です。ホストは、デフォルトサーフェスでメソッドをエクスポートせずに、グラフ証拠のために内部で読み取り専用の weavatrix-rust エンジンを使用します。

バージョン 0.1.x は JavaScript エンジンを使用していました。その系統は weavatrix-refactor-js として継続され、別の状態ディレクトリ、トークンストア、ロールバックジャーナルを保持します。

ライセンス

MIT。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables LLMs to apply Martin Fowler's 71+ refactoring patterns to codebases through a pluggable, language-agnostic architecture. Supports previewing and applying refactorings, analyzing code smells, and inspecting code structure with safe-by-default operations.
    5
    39 PyPI
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only, provenance-first repository navigation for agents and humans, with ranked lexical retrieval, exact query, document handles, symbol context, and change impact analysis.
    50 npm
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables unified code search and analysis over a monorepo, combining exact, semantic, and call graph queries with indexing, incremental updates, and impact analysis.
    12
    MIT