Rulesは、AgentとInline Editにシステムレベルの指示を提供します。プロジェクトの永続的なコンテキスト、設定、またはワークフローとして考えてください。 Cursorは3種類のrulesをサポートしています:

Project Rules

.cursor/rulesに保存され、バージョン管理されてコードベースにスコープされます。

User Rules

Cursor環境全体に適用されます。設定で定義され、常に適用されます。

.cursorrules (Legacy)

まだサポートされていますが、非推奨です。代わりにProject Rulesを使用してください。

ルールの仕組み

大規模言語モデルは、完了処理間でメモリを保持しません。ルールは、プロンプトレベルで永続的で再利用可能なコンテキストを提供します。 適用されると、ルールの内容がモデルコンテキストの開始時に含まれます。これにより、AIはコードの生成、編集の解釈、またはワークフローの支援において一貫したガイダンスを得ることができます。
チャットでコンテキストに適用されたルール
ルールはChatInline Editに適用されます。アクティブなルールはAgentサイドバーに表示されます。

プロジェクトルール

プロジェクトルールは.cursor/rulesに配置されます。各ルールはファイルであり、バージョン管理されます。パスパターンを使用してスコープを設定したり、手動で呼び出したり、関連性に基づいて含めたりできます。サブディレクトリには、そのフォルダにスコープされた独自の.cursor/rulesディレクトリを含めることができます。 プロジェクトルールの用途:
  • コードベースに関するドメイン固有の知識をエンコードする
  • プロジェクト固有のワークフローやテンプレートを自動化する
  • スタイルやアーキテクチャの決定を標準化する

ルールの構造

各ルールファイルはMDC.mdc)で記述されます。これはメタデータとコンテンツをサポートする形式です。タイプドロップダウンからルールの適用方法を制御でき、これによりdescriptionglobsalwaysApplyのプロパティが変更されます。
ルールタイプ説明
Always常にモデルコンテキストに含まれる
Auto Attachedglobパターンにマッチするファイルが参照されたときに含まれる
Agent RequestedAIが利用可能で、含めるかどうかを決定する。説明を提供する必要がある
Manual@ruleNameを使用して明示的に言及された場合のみ含まれる
---
description: RPC Service boilerplate
globs:
alwaysApply: false
---

- サービスを定義する際は、内部RPCパターンを使用する
- サービス名には常にsnake_caseを使用する。

@service-template.ts
@service-template.tsのような参照ファイルは、ルールがトリガーされたときに追加のコンテキストとして含まれます。

ネストされたルール

プロジェクト全体の.cursor/rulesディレクトリにルールを配置することで、ルールを整理できます。ネストされたルールは、そのディレクトリ内のファイルが参照されたときに自動的にアタッチされます。
project/
  .cursor/rules/        # プロジェクト全体のルール
  backend/
    server/
      .cursor/rules/    # バックエンド固有のルール
  frontend/
    .cursor/rules/      # フロントエンド固有のルール

ルールの作成

New Cursor Ruleコマンドを使用するか、Cursor Settings > Rulesに移動してルールを作成します。これにより.cursor/rulesに新しいルールファイルが作成されます。設定からすべてのルールとその状態を確認できます。
Comparison of concise vs long rules

ルールの生成

/Generate Cursor Rulesコマンドを使用して、会話内で直接ルールを生成します。エージェントの動作について決定を下し、それらを再利用したい場合に便利です。

ベストプラクティス

良いルールは、焦点が絞られ、実行可能で、適切にスコープが設定されています。
  • ルールは500行以下に保つ
  • 大きなルールは複数の組み合わせ可能なルールに分割する
  • 具体的な例や参照ファイルを提供する
  • 曖昧なガイダンスは避ける。明確な内部ドキュメントのようにルールを書く
  • チャットでプロンプトを繰り返す際はルールを再利用する

プロバイダーやフレームワークから多くの例が利用可能です。コミュニティが貢献したルールは、オンラインのクラウドソーシングコレクションやリポジトリで見つけることができます。

ユーザールール

ユーザールールはCursor設定 → ルールで定義されるグローバル設定で、すべてのプロジェクトに適用されます。プレーンテキストで記述され、好みのコミュニケーションスタイルやコーディング規約を設定するのに最適です:
Please reply in a concise style. Avoid unnecessary repetition or filler language.

.cursorrules (レガシー)

プロジェクトルートの .cursorrules ファイルは引き続きサポートされていますが、廃止予定です。より多くの制御、柔軟性、可視性を得るために、プロジェクトルールへの移行をお勧めします。

FAQ