メインコンテンツへスキップ
#ツール比較 約8分で読めます

Cursor IDE .cursorrules パターン集【2026年4月最新】プロジェクト固有ルールで開発効率を最大化

Cursor IDE の .cursorrules を使ったプロジェクト固有ルール設定の実践ガイド。Next.js・Astro・Laravel など実務で使えるルールパターン集と、チーム開発での運用ノウハウを解説

Cursor IDE で AI の提案精度を劇的に改善したいなら、プロジェクトルートに .cursorrules ファイルを配置するだけで実現できます。

2026年4月現在、Cursor IDE は .cursorrules ファイルによる プロジェクト固有のルール定義機能 を正式にサポートしており、フレームワークの命名規則・コーディングスタイル・禁止パターンなどを AI に学習させることができます。

この記事では、実務で即使える .cursorrules のパターン集と、チーム開発での運用ノウハウを解説します。

.cursorrules とは? — Cursor に「このプロジェクトの流儀」を教える設定ファイル

.cursorrules は、プロジェクトルートに配置するプレーンテキストファイルで、Cursor の AI エージェント(Composer・Chat・Tab補完すべて)が参照するルール定義です。

基本的な仕組み

flowchart LR
    A["開発者がコード入力"] --> B["Cursor がコンテキスト収集"]
    B --> C[".cursorrules を読み込み"]
    C --> D["プロジェクト固有ルールを適用"]
    D --> E["AI が提案生成"]
    E --> F["ルールに沿った正確な補完"]

従来の設定方法との違い

方法スコープ共有方法更新頻度
ユーザー設定(Settings)全プロジェクト共通各自で設定固定的
.cursorrulesプロジェクト固有Git で共有プロジェクト進化に応じて更新

重要: .cursorrules はプロジェクトルート 1箇所のみ に配置します。サブディレクトリの .cursorrules は読み込まれません。

実務で使える .cursorrules パターン集

パターン1: Next.js App Router プロジェクト

Next.js 15 の App Router を使ったプロジェクトでの典型的なルール設定です。

# Next.js App Router プロジェクトルール

## ファイル構成
- app/ 配下に Server Components を配置
- "use client" は必要最小限のコンポーネントのみに付与
- Server Actions は app/actions/ に集約

## コーディング規則
- TypeScript strict モードを厳守
- props の型定義は interface ではなく type で記述
- async/await は try-catch で囲む
- 環境変数は NEXT_PUBLIC_ プレフィックス以外クライアントで使用禁止

## 禁止パターン
- useEffect 内での直接的な fetch(Server Components または Server Actions を使用)
- getServerSideProps / getStaticProps(App Router では使用不可)
- pages/ ディレクトリの作成(App Router に統一)

## 推奨パターン
- データフェッチは Server Components で直接実行
- クライアント状態管理は Zustand を使用
- フォーム送信は Server Actions + useFormState

このルールを適用すると、Cursor は次のような提案を自動的に避けるようになります:

  • useEffect + fetch の組み合わせ
  • getServerSideProps の使用
  • ✅ Server Components での直接データフェッチ
  • "use server" ディレクティブを含む Server Actions

パターン2: Astro + TypeScript プロジェクト

Astro の アイランドアーキテクチャ を適切に活用するためのルール設定です。

# Astro プロジェクトルール

## ファイル構成
- .astro ファイルは src/pages/ と src/components/ のみに配置
- React コンポーネントは src/components/react/ に配置
- レイアウトは src/layouts/ に配置

## パフォーマンス最適化
- インタラクティブな要素以外は .astro で記述
- client:load は必須の場合のみ使用(優先順位: client:visible > client:idle > client:load)
- 画像は必ず <Image /> コンポーネントを使用(<img> タグ禁止)

## TypeScript
- Props は Astro.props で受け取る
- 型定義は interface Props = { ... } 形式で記述

## 禁止パターン
- useState などの React Hooks を .astro ファイルで直接使用
- client:load の濫用(ページ全体が重くなる原因)

効果: このルールにより、Cursor は <img> タグを提案せず、常に <Image /> コンポーネントを使うようになります。

パターン3: Laravel API プロジェクト

Laravel でのバックエンド API 開発における規約を定義した例です。

# Laravel API プロジェクトルール

## ファイル構成
- Controller は app/Http/Controllers/Api/ 配下に配置
- Request Validation は FormRequest クラスに分離
- ビジネスロジックは Service クラス(app/Services/)に記述

## API レスポンス
- 成功: { "data": {...}, "message": "..." }
- エラー: { "error": { "code": "...", "message": "..." } }
- HTTP ステータスコードを適切に設定(200, 201, 400, 401, 404, 500)

## セキュリティ
- 全エンドポイントに認証ミドルウェア適用(auth:sanctum)
- マスアサインメント脆弱性防止のため $fillable を明示
- SQL インジェクション防止のため必ず Eloquent または Query Builder 使用

## 禁止パターン
- Controller にビジネスロジック直書き
- DB::raw() での生SQLの直接実行(Query Builder を使用)
- 認証なしのエンドポイント作成

このルールを設定すると、Cursor は Controller に長大なロジックを書こうとせず、Service クラスへの分離を提案するようになります。

パターン4: Python FastAPI プロジェクト

FastAPI での非同期API開発における規約です。

# FastAPI プロジェクトルール

## ファイル構成
- routers/ 配下にエンドポイント定義
- schemas/ に Pydantic モデル定義
- services/ にビジネスロジック
- models/ に SQLAlchemy モデル

## コーディング規則
- 全関数に型ヒント必須
- async/await を積極的に使用
- Pydantic モデルで入出力を厳密に型定義
- 環境変数は pydantic-settings で管理

## 禁止パターン
- 同期処理の DB アクセス(非同期ドライバ使用必須)
- dict 型での API レスポンス(Pydantic モデル使用)
- グローバル変数の使用

.cursorrules の運用ノウハウ

チーム開発での共有方法

.cursorrules は Git で管理し、チーム全体で共有 するのがベストプラクティスです。

# .gitignore に .cursorrules を含めない
# (デフォルトで追跡される)

# プロジェクトのクローン後、自動的に適用される
git clone <repository-url>
cd project
# Cursor を開くと .cursorrules が自動認識される

ブランチ戦略との統合:

sequenceDiagram
    participant Dev as 開発者
    participant Git as Git リポジトリ
    participant Cursor as Cursor IDE
    
    Dev->>Git: feature ブランチ作成
    Dev->>Dev: .cursorrules に新ルール追加
    Dev->>Cursor: コード編集
    Cursor->>Cursor: 更新されたルールを適用
    Dev->>Git: PR 作成(.cursorrules 含む)
    Git->>Dev: レビュー・マージ
    Dev->>Git: main ブランチに反映

ルールの優先順位設計

複数のルールが競合する場合、明示的に優先順位を記述します。

# ルール優先順位

## 最優先: セキュリティ
- 認証・認可の実装は必須
- 機密情報のログ出力禁止

## 次点: パフォーマンス
- N+1 クエリ禁止
- 画像最適化必須

## 通常: コーディング規約
- Prettier / ESLint に従う

段階的な導入戦略

既存プロジェクトに .cursorrules を導入する際の推奨手順:

  1. Phase 1: 基本的な禁止パターンのみ記述(破壊的変更を避ける)
  2. Phase 2: 推奨パターンを追加(新規コードから適用)
  3. Phase 3: 既存コードのリファクタリング方針を追加
# Phase 1: 禁止パターン(即適用)
- var 宣言禁止(const / let 使用)
- console.log 禁止(logger 使用)

# Phase 2: 推奨パターン(新規コードのみ)
- 関数は named export で定義
- Props は分割代入で受け取る

# Phase 3: リファクタリング方針(段階的移行)
- Class Component を Function Component に移行
- Redux を Zustand に移行

.cursorrules のトラブルシューティング

ルールが適用されない場合

確認ポイント:

  1. ファイル名が .cursorrules か(スペルミス確認)
  2. プロジェクトルートに配置されているか
  3. Cursor のリロード(Cmd+Shift+P → “Reload Window”)

ルールの記述形式

.cursorrules は プレーンテキスト であり、特定の構文はありません。ただし、以下の形式が読みやすく推奨されます:

# 大見出し(## ではなく # を使用)

## 中見出し

- 箇条書きでルールを記述
- 具体例を併記すると AI の理解精度が上がる

禁止: ❌ を使った明示
推奨: ✅ を使った明示

ルールの検証方法

ルールが正しく適用されているか確認する方法:

flowchart TD
    A["Cursor Chat を開く"] --> B["「このプロジェクトのルールを教えて」と質問"]
    B --> C["AI が .cursorrules の内容を要約"]
    C --> D["期待通りのルールが認識されているか確認"]

実際に試してみると、Cursor は次のように応答します:

「このプロジェクトでは Next.js App Router を使用しており、Server Components を優先し、useEffect での fetch は禁止されています。」

まとめ

.cursorrules を活用することで、Cursor IDE の提案精度を プロジェクト固有の要件に最適化 できます。

重要なポイント:

  • .cursorrules はプロジェクトルート1箇所に配置
  • Git で共有し、チーム全体で同じルールを適用
  • 禁止パターン・推奨パターン・優先順位を明示的に記述
  • フレームワーク固有の規約(Next.js, Astro, Laravel など)を定義
  • 段階的に導入し、既存コードへの影響を最小化

2026年4月時点で .cursorrules は Cursor の標準機能として安定しており、大規模プロジェクトでの採用事例も増えています。特にチーム開発では、コードレビューの負担軽減と品質の均質化に大きく貢献します。

参考リンク

#Cursor #AI開発ツール #開発環境 #プロジェクト設定
シェア