Windsurf
Pathrule CLIが外部エージェント連携として、MCPと補助的な指示ファイルを通じてWindsurfを接続する仕組みを説明します。
このページの内容
Windsurfは、Pathrule CLIまたはVS Code拡張機能を通じてPathruleのワークスペースに接続します。Pathruleは、ローカルMCPサーバーのエントリと、Windsurfがセッション開始時に読み込む補助的なルールファイルを書き込みます。Windsurfにはフックがないため、Claude Code、Codex、Cursor、GitHub Copilotとは異なり、フック経由でコンテキストを受け取ることはありません。プロトコルとワークスペースの概要はルールファイルが運び、それより深い内容はすべてMCPツールが届けます。WindsurfはローカルMCPサーバーを使います。Windsurf向けのRemote MCPのセットアップ手順は用意されていません。
このページでは、PathruleがWindsurf向けにプロジェクトへ何を書き込むのか、他のツールと同じ内容がなぜWindsurfにも届くのか、そして連携を自分で確認する方法を説明します。
Pathruleが書き込むもの
PathruleをWindsurfにインストールすると、次のものが用意されます。
- MCPサーバーのエントリ:
~/.codeium/windsurf/mcp_config.jsonに書き込まれます。アシスタントがローカルのPathrule MCPサーバーに接続してpathrule_*ツールを呼び出せるようにするもので、他のサーバーの設定には手を加えません。 - 補助的な指示ファイル:
.windsurf/rules/pathrule-protocol.mdと、古いWindsurfビルド向けの.windsurfrulesです。ワークスペースの概要とPathruleのプロトコルが含まれており、他のクライアントがそれぞれのネイティブ形式で受け取るものと中身は同じです。 - パスのナレッジファイル:ナレッジが紐づいているディレクトリごとに
.windsurf/rules/pathrule-k-*.mdルールが作られ、冒頭には適用対象のディレクトリが記載されます。 - 実体化されたスキル:
.windsurf/skills/<name>/SKILL.mdに配置され、Windsurfから名前で呼び出せます。
WindsurfにはPathruleのフックがないため、プロトコルとナレッジはセッション開始時にこれらのファイルを通じて届きます。フック対応のクライアントでは、Pathruleは現在、同じプロトコルをセッション開始フックで届け、指示ファイルには短い注記だけを残しています。Windsurfでは他にプロトコルを運ぶ手段がないため、完全なファイルを保持します。
補助ファイルはクライアントごとに手作業でコピーしたものではありません。PathruleはClaude Code、Cursor、Codex向けの指示も生成する共通のレンダラーからこのファイルを生成するため、4つの内容は時間が経ってもずれることなく同期した状態に保たれます。
内容がWindsurfに届く仕組み
MCPに対応したツールであれば、stdio経由でPathruleを利用できます。クライアントの設定にPathruleのMCPコマンドを追加すれば、アシスタントからは同じツール群が見えます。Windsurfの場合は、Pathrule CLIがその設定を書き込み、あわせて補助ファイルを生成します。補助ファイルはセッション開始時にワークスペースの概要とプロトコルを届け、それより深い内容はMCPツールが必要に応じて届けます。
クライアントごとの差異を生まずにこれが成り立つのは、次の2点によるものです。
- ツールの契約が1つ:MCPツール(
pathrule_get_context、pathrule_read_memory、pathrule_write_memoryなど)は、Claude CodeやCursorが呼び出すものと同じセットです。アシスタントはまったく同じツール群を通じてコンテキストを取得し、メモリ、ルール、スキルを書き込みます。変わるのはクライアントの設定だけです。 - 信頼できる情報源が1つ:補助ファイルと実体化されたスキルは生成されたビューであり、正本ではありません。CLI、VS Code拡張機能、MCPのいずれで書き込んだメモリも、他のすべてのクライアントに届くのと同じ形でWindsurfに届きます。
Pathruleがリポジトリのソースコードを自動でアップロードすることはありません。ローカルのプロジェクト学習ツールは、知見を検証するために、その知見に紐づくファイルを参照することがあります。保存されるのは、チームのナレッジ(メモリ、ルール、スキル)、エージェントが記録するアクティビティ、エージェントが根拠となるファイルとともに記録する知見、そしてCloudのワークスペースでは、一緒に変更されるファイルを把握するためにPathruleが直近のgit履歴から読み取るファイルパスの組です。Cloudモードで何が送信・保存されるかについては、Pathruleが計算するものを参照してください。
1つのコンテンツレイヤー、複数の配信形式
クライアントが読み込む指示の形式はそれぞれ異なるため、Pathruleはツールごとに手作業でコピーするのではなく、すべての補助ファイルを同じ共通レンダラーから生成します。これにより、ファイル形式は違っても、WindsurfのプロトコルはClaude Code、Cursor、Codex版と中身が同一に保たれます。
価値が蓄積されるのはクライアントではなくコンテンツレイヤーです。同じメモリ、ルール、スキルが、何も書き直すことなくWindsurfにも他のすべてのクライアントにも使われます。
VS Code拡張機能を使う場合
WindsurfはVS Codeのフォークです。Windsurf内でPathrule VS Code拡張機能を実行すると、拡張機能がホストを検出し、CLIと同じインストーラーを使って同じ管理対象のMCPエントリを書き込みます。JSONを手で編集する必要はありません。このエントリは同梱のPathruleランタイムを指しており、シークレットを含むことはありません。
これは同じワークスペースへの入り口が1つ増えるだけで、別の連携ではありません。拡張機能の機能についてはPathrule for VS Codeを、ローカルのstdioとRemote MCPの違いについてはローカルMCPとRemote MCPを参照してください。
クライアントごとの分離
Windsurfは、同じマシン上でClaude Code、Cursor、Codexと共存できます。インストールするクライアントは1つでも、複数でも、すべてでもかまいません。
- いずれも同じPathruleワークスペース、同じMCPサーバー、同じコンテンツツリーを共有します。
- 各クライアントが読み込む設定は互いに独立しています。Windsurfをインストールしても他のクライアントには影響しません。
- 1つのクライアントを削除しても、他のクライアントとコンテンツはそのまま残ります。
どのクライアントを使うかは、pathrule setupまたはVS Code拡張機能でPathruleのセットアップが使用するAIツールを尋ねたときに選んだものになります。
インストール
Pathrule CLIを使う場合:
pathrule setup
プロジェクトのフォルダで実行し、使用するAIツールを尋ねられたらWindsurfを選びます。セットアップは、必要に応じてPathrule Cloudへのサインインを行い、フォルダをワークスペースにアタッチし、MCPエントリをインストールし、このフォルダでの選択を記憶したうえでWindsurf用のファイルを書き込みます。アカウントなしでPathruleを使う場合は、代わりにpathrule setup --localを実行します。
すでにアタッチ済みのフォルダで、各要素を手動で設定するには次のようにします。
pathrule install windsurf
pathrule sync
pathrule doctor
pathrule install windsurfは~/.codeium/windsurf/mcp_config.jsonにMCPエントリを追加します。pathrule syncは、このフォルダ用に選択されたAIツール向けのプロジェクトファイルを生成します。何も選択されていない場合は、フォルダ内で検出したツール向けに生成します。
前述のとおり、Windsurf内で動作するVS Code拡張機能を使うこともできます。
確認
ワークスペースにアタッチしたディレクトリでWindsurfを開きます。アシスタントはセッション開始時に補助ファイルを読み込み、作業ディレクトリに対してpathrule_get_contextを呼び出せるはずです。
コンテンツのあるパスに関わるプロンプトを実行してみてください。アシスタントはMCPツールを通じてそのコンテンツを提示するはずです。うまくいかない場合は次を実行します。
pathrule doctor
doctorは読み取り専用です。サインイン状態、ワークスペース、このフォルダがアタッチされているかどうか、Windsurfとその他の各クライアントにPathruleのMCPエントリがインストールされているかどうか、そしてフォルダ内にどのPathrule管理ファイルがあり、それを誰が書き込んだかを報告します。--jsonを付けると完全なレポートが出力され、すでに存在しないランタイムを指しているMCPエントリも検出されます。pathrule repairは古くなったエントリを書き直し、補助ファイルを再生成したうえで、もう一度doctorを実行します。
変わらないもの
コンテンツレイヤーはクライアントをまたいで同一です。
- Claude Codeにフック経由で表示されるのと同じメモリが、WindsurfにはMCPツール経由で表示されます。
- ルールは補助ファイルとMCPを通じてWindsurfに届きます。Windsurfにはフックがないため、ルールで編集をブロックすることはできません。書き込み前のブロックは、ツールフックを備えたクライアント(Claude Code、Codex、Cursor、GitHub Copilot)でのみ利用できます。
- スキルは名前で呼び出せます。
- MCPツールの動作は同一です。
チームが1つのアシスタント向けにコンテンツを書けば、すべてのアシスタントにそれが届きます。
次に読むもの
- Cursor:ネイティブのフックを備えた、同じVS Codeフォーク系の連携です。
- ローカルMCPとRemote MCP:ツール群がどこでも同じである理由を説明しています。
- Pathrule for VS Code:エディタ内からWindsurfを登録できる拡張機能です。
- フックの仕組み:コンテンツを支える配信モデルを説明しています。