Cursorを使い始めて「AIの提案がプロジェクトの雰囲気と合わない」「毎回同じ指示を繰り返している」と感じたことはないでしょうか。
その悩みを解決するのが.cursorrulesファイルです。プロジェクトごとにAIの動作ルールを定義することで、提案の精度と一貫性が劇的に向上します。
この記事では、.cursorrulesの基本的な書き方から実践的なテンプレートまで、具体例を交えて解説します。CursorでWebサイトを作る流れはすでに把握している方が、次のステップとして読むのに最適な内容です。
.cursorrulesとは何か
.cursorrulesは、Cursorエディタに対してプロジェクト固有の指示を与えるための設定ファイルです。テキスト形式で書かれたルールをCursorが自動的に読み込み、AIアシスタント(Composer・Chat・Inline Edit)の挙動に反映します。
簡単に言うと、「このプロジェクトでのAIへの共通前提」を一度書いておくことで、毎回のプロンプトで繰り返す必要がなくなります。
なぜ.cursorrulesが必要なのか
AIコーディングツールは文脈を持ちません。セッションをまたぐと「前回お願いしたこと」は忘れられます。.cursorrulesはその問題を根本から解決します。
- プロジェクトの技術スタック(React、TypeScript、WordPressなど)を毎回説明しなくて済む
- コーディング規約(インデント、命名規則、コメントスタイル)をAIが守るようになる
- チーム開発でAIの出力スタイルを統一できる
- 不要な提案(使いたくないライブラリなど)を事前に排除できる
AI駆動開発のメリット・デメリットでも触れているように、AIツールの精度はプロンプト設計で大きく変わります。.cursorrulesはその設計を「ファイル化」したものだと理解すると分かりやすいでしょう。
ファイルの配置と基本フォーマット
配置場所
プロジェクトのルートディレクトリに.cursorrulesという名前で保存します。
your-project/
├── .cursorrules ← ここに置く
├── src/
├── package.json
└── README.md
Cursorはプロジェクトを開いたとき、このファイルを自動検出して読み込みます。複数のプロジェクトそれぞれに置くことで、プロジェクトごとに異なるルールを持てます。
ファイルの書き方(基本)
.cursorrulesはMarkdown形式または自然言語のプレーンテキストで書きます。特別な構文は不要です。日本語でも機能します。
## プロジェクト概要
このプロジェクトはReact + TypeScriptで構築するWebアプリです。
## コーディングルール
- 変数宣言はconstを優先し、varは使用禁止
- コンポーネントはアロー関数で定義する
- コメントは日本語で書く
- インデントはスペース2つ
## 使用技術
- React 18
- TypeScript 5
- Tailwind CSS
- Vite
これだけで、AIはこのプロジェクトでのやり取りにこれらの前提を持って回答するようになります。
実践的な.cursorrulesテンプレート集
ここからは、よく使われるプロジェクト種別ごとの記述例を紹介します。自分のプロジェクトに合わせてカスタマイズしてください。
WordPress テーマ開発向け
## プロジェクト概要
WordPressカスタムテーマの開発プロジェクトです。
## 技術スタック
- WordPress 6.x
- PHP 8.1
- SCSS(BEM記法)
- バニラJS(jQueryは使用しない)
## コーディングルール
- PHPのecho文にはhtmlspecialcharsでサニタイズを行う
- クラス名はBEM記法(block__element--modifier)で統一
- SCSSは変数を積極的に使い、マジックナンバーは避ける
- コメントは日本語で記述する
## ファイル構造
- テーマディレクトリ: wp-content/themes/my-theme/
- SCSS: assets/scss/
- JS: assets/js/
- テンプレートパーツ: template-parts/
## 禁止事項
- jQueryの使用
- インラインスタイルの使用
- !importantの多用
Next.js + TypeScript 向け
## プロジェクト概要
Next.js 14(App Router)を使用したWebアプリケーションです。
## 技術スタック
- Next.js 14(App Router)
- TypeScript(strict mode)
- Tailwind CSS
- Prisma + PostgreSQL
## コーディングルール
- Server Componentsを基本とし、必要な場合のみ"use client"を使う
- 型定義はanyを使用せず、明示的に型を定義する
- ファイル名はケバブケース(kebab-case)
- コンポーネント名はパスカルケース(PascalCase)
- エラーハンドリングは必ずtry-catchで実装する
- コメントは日本語で書く
## ディレクトリ構成
- app/ - App Routerのページ
- components/ - 再利用可能なコンポーネント
- lib/ - ユーティリティ・ヘルパー関数
- types/ - 型定義ファイル
## スタイル
- Tailwindのクラスはclsxでまとめる
- カスタムCSSは最小限にする
バイブコーディング(プロトタイプ開発)向け
バイブコーディングのように素早くプロトタイプを作る場合は、スピード重視のルールが有効です。
## プロジェクト概要
アイデアを素早く形にするプロトタイプ開発プロジェクトです。
## 開発方針
- 完璧より動くものを優先する
- シンプルな実装を選ぶ(複雑な設計は不要)
- コメントは最小限でOK
- エラーハンドリングは基本的なものだけ実装する
## 技術スタック
- HTML / CSS / バニラJS(フレームワーク不使用)
- CDN経由でライブラリを使用可能
## 優先事項
1. 動作すること
2. 見た目が整っていること
3. コードの綺麗さは後回し
精度を上げる書き方のコツ
具体的に書く
曖昧な指示はAIにも伝わりません。「きれいなコードを書く」より「関数は30行以内に収める」「1ファイル1コンポーネントにする」のように、測定・判断できる形で書きます。
悪い例:
- 良いコードを書いてください
良い例:
- 関数は単一責任の原則に従い、1つの処理のみを行う
- 関数名は動詞から始める(getUserData、fetchPosts など)
- 1関数あたり30行を超えないようにする
禁止事項を明記する
「使いたくない技術・書き方」を明示すると、AIが誤った提案をするリスクが減ります。
## 禁止事項
- classコンポーネントは使用しない(関数コンポーネントのみ)
- CSSフレームワークにBootstrapは使わない
- console.logをコードに残さない
- any型の使用禁止
プロジェクトの背景・目的を伝える
AIはなぜそのコードが必要なのかを知ると、より適切な提案ができます。
## 背景・目的
このプロジェクトは60代以上のシニア向けサービスのWebサイトです。
アクセシビリティを最優先に実装してください。
- フォントサイズは最低16px以上
- タップ領域は最低44px以上
- コントラスト比はWCAG AAレベルを満たすこと
出力フォーマットを指定する
コードだけでなく、回答の形式もコントロールできます。
## 回答スタイル
- コードを提示する際は、変更箇所にコメントを入れる
- 複数の解決策がある場合は、理由とともに比較して提示する
- エラーが起きそうな箇所は事前に警告する
よくあるミスと対処法
ルールが多すぎて矛盾が生じる
100行を超えるような長い.cursorrulesは、ルール同士が矛盾したり、AIが重要なルールを見落とす原因になります。重要度の高いルールを上位に書き、不要なルールは削除して30〜50行程度に絞るのが理想です。
グローバル設定との混乱
CursorのSettings → Rules for AIに書いたグローバル設定と.cursorrulesが競合することがあります。「すべてのプロジェクトで共通のルール(言語設定など)」はグローバル設定に、「このプロジェクト固有のルール」は.cursorrulesに分けて管理しましょう。
更新を忘れる
技術スタックやチームのルールが変わっても.cursorrulesを更新しないと、AIが古い前提で動き続けます。プロジェクトの設計変更やライブラリのメジャーアップデートのタイミングで、.cursorrulesも見直す習慣をつけましょう。
チーム開発での活用方法
.cursorrulesをGitリポジトリで管理することで、チーム全員が同じAIルールを共有できます。
Gitで管理する(推奨)
.cursorrulesをリポジトリに含めることで:
- 新しいメンバーが参加した際に設定を共有できる
- AIの出力スタイルがチーム全体で一貫する
- ルールの変更履歴を追跡できる
.gitignoreには含めない(管理対象にする)のがポイントです。
プルリクエストレビューへの活用
チームのコーディング規約を.cursorrulesに書いておくと、AIがその規約に沿ったコードを提案・修正してくれます。レビューの前段階でAIに規約チェックを依頼する使い方も効果的です。
よくある質問
.cursorrulesファイルはどこに置けばいいですか?
プロジェクトのルートディレクトリ(最上位フォルダ)に.cursorrulesという名前で配置します。Cursorはこのファイルを自動的に読み込み、そのプロジェクト内でのAIの挙動に反映します。複数のプロジェクトで異なるルールを使い分けられるため、プロジェクトごとにファイルを管理するのが基本です。
.cursorrulesを設定すると何が変わりますか?
AIがコードを提案・生成する際の前提条件が変わります。たとえば「このプロジェクトはReactを使っている」「コメントは日本語で書く」「varは使用禁止でconstを使う」といったルールを事前に伝えることで、毎回同じ指示を繰り返す手間が省け、出力の一貫性が大幅に向上します。
プログラミングの知識がなくても.cursorrulesは書けますか?
はい、書けます。.cursorrulesは自然言語(日本語)で書くことができます。「コードにはコメントをつけてください」「ファイル名はケバブケースにしてください」のように、普通の文章でルールを記述するだけで機能します。ただし、より精度を高めるには技術的な知識があると有利です。
.cursorrulesとCursorの「System Prompt」の違いは何ですか?
.cursorrulesはプロジェクト単位で適用されるルールファイルです。一方、CursorのSettings内にある「Rules for AI(System Prompt)」はアプリ全体に適用されるグローバル設定です。プロジェクト固有のルールは.cursorrulesに、すべてのプロジェクトで共通のルールはSystem Promptに書くと整理しやすくなります。
.cursorrulesの内容はGitで管理すべきですか?
チーム開発の場合はGitで管理することを推奨します。.cursorrulesをリポジトリに含めることで、チーム全員が同じAIルールを共有でき、コーディングスタイルの統一が図れます。個人プロジェクトでも、設定を失わないよう管理しておくと便利です。
アントワのWeb開発支援について
アントワでは、CursorなどのAIツールを活用したWeb開発・ホームページ制作の支援を行っています。
「自社でAI駆動開発を導入したい」「開発コストを抑えながらクオリティを上げたい」という方は、ぜひサービス内容をご覧ください。