本文へスキップ
Pathrule

ドキュメント

Cursor

Pathrule CLIが、Cursorのネイティブフックと外部エージェント連携としてのMCPを通じて、Cursorを共通のPathrule基盤に接続する仕組みを説明します。

このページの内容

Cursorは、Pathrule CLIまたはVS Code拡張機能を通じてPathruleのワークスペースに接続します。PathruleはCursorのネイティブフックとローカルMCPサーバーを使って、スコープされたワークスペースのナレッジを届けます。Cursorにはセッションとツールのフックはありますが、プロンプト送信時のフックはありません。そのため、コンテキストはプロンプトごとではなく、セッション開始時とツール呼び出しの前後に届きます。CursorはローカルMCPサーバーを使います。Cursor向けのRemote MCPのセットアップはドキュメント化されていません。

このページでは、PathruleがCursor向けにプロジェクトへ書き込むもの、クライアント間でのフックイベントの対応関係、そして連携の確認方法を説明します。

Pathruleが書き込むもの

PathruleをCursorにインストールすると、次のものが追加されます。

  • .cursor/hooks.json。 Cursorのネイティブなフック設定です。Pathruleは必要なイベントをここに登録し、ユーザーが自分で追加したフックはそのまま残します。
  • ~/.cursor/mcp.json内のMCPサーバーエントリ。 ユーザーレベルのCursor MCP設定で、ローカルのPathrule MCPサーバーを指します。ほかのサーバーはそのまま残ります。
  • .cursor/rules/pathrule-protocol.mdc、および古いCursorビルド向けの.cursorrules。フックがインストールされている場合、これらにはPathruleが有効であり、フック経由で配信されている旨の短い注記だけが入ります。
  • .cursor/skills/<name>/SKILL.mdに実体化されたスキル。Cursorが名前で呼び出せるようにするためのものです。

Cursorのフックがインストールされている場合、プロトコルはルールファイルではなくsessionStartに乗って届き、パスのナレッジもフック経由で届くため、ナレッジファイルはツリーに書き込まれません。フックがない場合は、ルールファイルにプロトコル全体とワークスペースの概要が入り、Pathruleはナレッジが紐づいているディレクトリごとに、globでスコープした.cursor/rules/pathrule-k-*.mdcルールを追加します。

サードパーティのSkillsトグルは不要です。CursorはCLIが管理するPathruleのフックプロバイダーを直接認識します。

フックイベントの対応

Cursorのイベントは、Pathruleの注入ポイントに次のように対応します。

  • sessionStart。 新しいセッションの開始時です。Pathruleはワークスペースのメタデータ、プロトコル、チームのコンテキストを返します。Claude Codeがセッション開始時に受け取るのと同じブートストラップです。
  • preToolUse。 Cursorがツールを実行する前です。承認済みのブロックパターンを持つルールは、ここで一致する編集や書き込みを拒否し、そのルールと承認済みの対処方法を理由として返します。Cursorではこのイベントが運ぶのは判定だけで、パス単位のコンテキストは代わりにsessionStartとpostToolUseで届けます。
  • postToolUse。 ツールの完了後です。Pathruleはこのイベントを、アクティビティの記録と、Cursorのツール実行前イベントでは運べないパス単位のコンテキストを補う場所の両方に使います。
  • stop、subagentStop、sessionEnd。 ターンとセッションを締めくくります。

Cursorのプロンプトごとのイベントは意図的に登録していません。その出力ではコンテキストを運べないため、sessionStartとpostToolUseで同じ範囲をカバーします。

CursorとClaude Codeのイベント形式の違いは、共通のフックスクリプト1つで吸収します。利用者が意識する必要はありません。PathruleでCursorをインストールすれば、適切な形式が設定されます。

クライアントごとの分離

Pathruleは、1台のマシン上でAIクライアントを自由に組み合わせて使えます。

  • Cursorのみ。 PathruleはCursorの設定だけを書き込みます。
  • Claude Codeのみ。 PathruleはClaude Codeの設定だけを書き込みます。
  • 両方。 Pathruleは両方を書き込みます。フックはそれぞれ独立して登録され、MCPサーバーは共有され、コンテンツのツリーは同じです。

どれにするかは、pathrule setupまたはVS Code拡張機能で、Pathruleのセットアップが使用するAIツールを尋ねたときの選択で決まります。

インストール

Pathrule CLIを使う場合:

pathrule setup

プロジェクトフォルダで実行し、使用するAIツールを尋ねられたらCursorを選びます。セットアップは、必要に応じてPathrule Cloudへのサインインを行い、フォルダをワークスペースに接続し、MCPエントリをインストールし、このフォルダでの選択を記憶して、Cursor用のファイルを書き込みます。アカウントなしでPathruleを使う場合は、代わりにpathrule setup --localを実行します。

すでに接続済みのフォルダで、各要素を手動で設定する場合:

pathrule install cursor
pathrule sync
pathrule doctor

pathrule install cursorは、~/.cursor/mcp.jsonにPathruleのサーバーを追加し、ほかのサーバーには手を加えません。pathrule syncは、このフォルダで選択したAIツール向けのプロジェクトファイルを書き込みます。選択がない場合は、フォルダ内で検出したAIツール向けに書き込みます。

Cursor内でも動作するVS Code拡張機能を使う場合は、Connect AI ClientsでCursorを選びます。拡張機能は同梱のCLIを通じて、同じMCPエントリとフック設定を書き込みます。

確認

ワークスペースに接続したディレクトリでCursorを開きます。Hooks Settingsタブを開き、Pathruleが登録済みのプロバイダーとして表示されていることを確認します。新しいチャットを開始すると、最初のツール呼び出しより前にパス単位のコンテキストが表示されるはずです。

連携が反応しない場合:

pathrule doctor

doctorは読み取り専用です。サインイン状態、ワークスペースとこのフォルダが接続済みかどうか、CursorとほかのクライアントそれぞれにPathruleのMCPエントリがインストールされているかどうか、そしてフォルダ内にあるPathrule管理のファイルとその書き込み元を報告します。--jsonを付けると完全なレポートが出力され、存在しなくなったランタイムを指すMCPエントリも検出されます。pathrule repairは古くなったエントリを書き直し、.cursor/hooks.jsonを含むプロジェクトファイルを再同期して、もう一度doctorを実行します。

共通の動作

Pathruleで作成したものはすべて、Claude Codeに届くのと同じ形でCursorにも届きます。

  • CLI、VS Code拡張機能、MCPのいずれで書いたメモリも、両方に表示されます。
  • 承認済みのブロックパターンを持つルールは、両方で一致する編集をブロックします。
  • スキルは、両方で名前を指定して呼び出せます。
  • MCPツール(pathrule_get_context、pathrule_write_memoryなど)の動作は同じです。

一方のアシスタント向けに機能を用意すれば、もう一方でもそのまま使えます。