メインコンテンツまでスキップ

Cursorルールを効果的に使用する:ベストプラクティスと一般的な間違い

Cursorの進化に伴い、ルールを適切に実装・管理する方法の理解がますます重要になっています。このガイドでは、一般的な落とし穴を避け、より良いAIアシスタンスのためのルール設定を最適化する方法を説明します。

重要なポイント

  • モダンなルール実装には.cursor/rulesディレクトリ内の.mdcルールを使用
  • ルールはシンプルで焦点を絞ったものに
  • 繰り返されるAIの間違いに対して特定のルールを作成
  • より良い追跡のために可視性ルールを実装
  • プロジェクト固有の規約に従う

モダンなルール実装

.cursorrules から .mdc への移行

.cursorrules形式は.mdcルールに置き換えられつつあります。以下が移行方法です:

  1. 既存のルールの特定
# .cursorrules ファイルの一覧表示
find . -name ".cursorrules"
  1. ルールの変換
# 古い .cursorrules 形式
USE_TYPESCRIPT=true
FOLLOW_STYLE_GUIDE=true

# 新しい .mdc 形式
rule "typescript_usage" {
description = "TypeScriptの使用を強制"
when = "新しいファイルを作成する時"
then = "すべての新規ファイルにTypeScriptを使用"
}

rule "style_guide" {
description = "プロジェクトのスタイルガイドに従う"
when = "コードの作成または修正時"
then = "プロジェクトのスタイルガイドラインに準拠"
}
  1. 移行の検証
# .mdc ルールが適用されているか確認
/rules status

.mdc ルールの使用

現在推奨されるアプローチは、.cursor/rulesディレクトリ内で.mdcルールを使用することです。.cursorrulesファイルは引き続き機能しますが、レガシーとみなされ、モダンな.mdc形式はCursorのAI機能とより良い統合を提供します。

.cursor/
rules/
code-style.mdc
documentation.mdc
testing.mdc

ルール構造のベストプラクティス

  1. ルールはシンプルで焦点を絞る

    • 異なる関心事には別々のルールファイルを作成
    • 無関係なルールを1つのファイルに組み合わせない
    • ルールファイルには明確で説明的な名前を使用
  2. 反復的なルール開発

    • AIの応答をモニタリングしパターンを特定
    • 繰り返される間違いに気付いたら新しいルールを作成
    • 実際の使用に基づいて既存のルールを改良
  3. プロジェクト固有のルール

    • プロジェクトのコーディング標準にルールを合わせる
    • フレームワーク固有の要件を考慮
    • ルールの目的と期待を文書化

避けるべき一般的な間違い

  1. ルールの複雑化

    • 1つのルールで多くのケースを扱おうとしない
    • 保守が難しい複雑な条件ロジックを避ける
    • ルール定義は明確で簡潔に
  2. ルールの可視性を無視

    • 何が適用されているかを追跡するために可視性ルールを有効化
    • ルールの効果をモニタリング
    • 実際の使用パターンに基づいてルールを調整
  3. ルールを更新しない

    • 定期的にルールをレビューし更新
    • 古くなった不要なルールを削除
    • プロジェクトの進化に合わせてルールを維持

ルール管理のベストプラクティス

  1. 組織化

    .cursor/rules/
    style/
    formatting.mdc
    naming.mdc
    testing/
    unit-tests.mdc
    integration-tests.mdc
    documentation/
    comments.mdc
    api-docs.mdc
  2. バージョン管理

    • ルールをバージョン管理に含める
    • コミットメッセージにルールの変更を記録
    • コードレビュー時にルールの変更をレビュー
  3. チームコラボレーション

    • 効果的なルールをチームメンバーと共有
    • チーム全体のルール規約を確立
    • ルールの使用方法と期待を文書化

ルールの例

コードスタイルルール

# style/formatting.mdc
rule "consistent-formatting" {
description = "一貫したコードフォーマットを強制"
when = "コードのフォーマット時"
then = "プロジェクトスタイルガイドに従う:
- 2スペースインデント
- 開き波括弧は同じ行に配置
- 演算子の周りにスペースを追加"
}

ドキュメントルール

# documentation/comments.mdc
rule "function-documentation" {
description = "適切な関数ドキュメントを確保"
when = "関数の作成または修正時"
then = "以下を含める:
- 関数の目的
- パラメータの説明
- 戻り値の説明
- 複雑な場合は使用例"
}

テストルール

# testing/unit-tests.mdc
rule "test-coverage" {
description = "テストカバレッジ基準を維持"
when = "新機能の実装時"
then = "以下を満たすユニットテストを作成:
- すべてのコードパスをカバー
- エッジケースを含める
- AAAパターンに従う
- 意味のあるテスト名を使用"
}

エラー処理ルール

# error-handling/exceptions.mdc
rule "error-handling" {
description = "エラー処理の標準化"
when = "エラー処理の実装時"
then = "エラー処理ガイドラインに従う:
- カスタムエラークラスを使用
- エラーコンテキストを含める
- 適切な詳細をログに記録
- エラーチェーンを維持"
}

ルールのデバッグと検証

1. ルールのテスト

# 特定のルールをテスト
/rules test style/formatting.mdc

# すべてのルールをテスト
/rules test-all

2. ルールの検証

# ルール構文を検証
/rules validate style/formatting.mdc

# ルールの競合をチェック
/rules check-conflicts

3. ルール監視

# ルールの適用を監視
/rules monitor

# ルール統計を表示
/rules stats

トラブルシューティング

ルールの適用に問題が発生した場合:

  1. ルールの構文とフォーマットを確認
  2. ルールファイルの場所と名前を確認
  3. Cursorがルールを読み込んでいることを確認
  4. AIの応答でルールが適用されているか監視
  5. ルールデバッグツールを使用
  6. ルール適用ログを確認

一般的なルールの問題

  1. ルールが適用されない

    • ルールファイルの権限を確認
    • ルール構文を確認
    • ルールの場所を確認
    • ルール条件を確認
  2. ルールの競合

    • 競合するルールを特定
    • ルールの優先順位を設定
    • 競合を解決
    • 解決策を文書化
  3. パフォーマンスへの影響

    • ルール処理時間を監視
    • 複雑なルールを最適化
    • 不要なルールを削除
    • ルールキャッシュを使用

結論

効果的なルール管理は、CursorのAI機能を最大限に活用するために重要です。これらのベストプラクティスに従い、一般的な間違いを避けることで、より効率的で一貫性のある開発環境を作ることができます。

以下を忘れずに:

  • ルールをシンプルで焦点を絞ったものにする
  • ルールを監視し反復的に改善する
  • 良好な組織化を維持する
  • チームと知識を共有する
  • 定期的にルールを検証しデバッグする
  • 最新のベストプラクティスを維持する

その他のリソース