前回の記事ではCursorを実際に導入し、簡単なWebサイトを表示するというのをやってみました。早速いろんなものを作ろう!と言いたいところですが、Cursorで開発を行うためには事前に設定を行なっておいた方がより良いものが作れます。

本記事では、AIエディタCursorで開発を行う際に絶対やっておいた方が良い設定の話をします。

AI開発の問題点

AI開発を行う時に自然言語で指示するだけで洗練されたコードを生成してくれることは非常に時間を短縮でき、開発効率が劇的に上がります。ただし、開発規模が小さかったり初期の頃は良いのですが、開発が進むにつれていろんな問題が発生します。

日頃、ChatGPTなどを使っていろんな調べ物をやったことがある人は分かると思いますが、生成AI(LLM)は同じ質問に対しても毎回違う回答を返してきます。

一般的な質問であればいろんな回答のパターンを確認するという点でこれはこれで良いと思うのですが開発においてはこれがしばしば問題になります。

考えられる(良く目にする)問題点を挙げてみましょう。

  1. コードの一貫性がない:指示に対して都度コードを生成するのでそれらのコードには一貫性がなく、非常に読みづらい、維持保守が難しいコードになりがちです
  2. 既存コードを無かったことにしてしまう:1とも関連するのですがAI開発で良く散見されるのが既存のコードを無視したコードを生成したり、既存のコードを削除し今までのロジックを無かったことにして新たに生成したりというのが起こります。これも非常に困りますね
  3. 指示を忘れると意図しない技術スタックやアーキテクチャでコードを生成する:TypeScriptで実現したいのにうっかり指示を忘れて素のJavaScriptでコードが生成されても困りますよね

細かい問題点もいろいろあると思いますが、結局はAIが好き勝手にコードを生成されて困るというのが一番の問題だと言えます。

AI開発問題点の解決策

AIの暴走を防止するためにはどうすれば良いでしょうか?一つ考えられるのは前提条件ややって欲しいことをAIに指示するたびに教えるということです。生成AIは指示されたことは充実に従うので都度細かく指示すれば問題は解決出来そうです。

しかし、実際にはどうでしょうか?毎回同じことを指示するのは面倒臭いですよね。

AIに守って欲しいのは事前に全部教え込ませておいて後は実際に実現したいことだけを指示すれば楽ですね。

そこでルールの登場です。

人間社会でも法律や校則など、人間が守って欲しいことをルールとして明文化していることをAIに対しても教えれば良さそうです。

CursorのRulesとは?

Rules(ルール)はAIの動作をカスタマイズするための強力な機能です。Rulesは、AI(主にAgentモデルやInline Edit)がコード生成や編集を行う際に、永続的な指示を提供します。これにより、プロジェクト固有のコーディング規約、ベストプラクティス、またはワークフローをAIに「記憶」させることができ、毎回のプロンプトで繰り返し指示する必要がなくなります。Rulesはシステムプロンプトのような役割を果たし、AIのコンテキストの先頭に挿入されます。これにより、コードの一貫性、効率性、品質が向上します。

今までは.cursorrulesというルールのためのファイルを用意し使っていましたが2025年8月現在、.cursorrulesは非推奨になっているのでProject RulesやUser Rulesを使うようにしましょう。

<Project RulesとUser Rulesの比較>

特徴Project RulesUser Rules
適用範囲プロジェクトや特定ディレクトリ/ファイル全てのプロジェクト
保存場所.cursor/rules/*.mdcSettings > Rules for Ai
形式Markdown + YAMLフロントマタープレーンテキスト
柔軟性スコープ指定、複数ルール、タイプ選択可単一のグローバルルールのみ
共有性Gitでチーム共有可能ユーザーアカウント限定
目的プロジェクト固有の規約や構造を強制ユーザー全体の好みやスタイルを反映
Reactコンポーネントの命名規則Python型ヒントや応答スタイル

優先順位はProject RulesがUser Rulesを上書き(プロジェクト固有のルールが優先)します。

Rulesの作り方

なるほど。ルールを作っておくとAIはそのルールに沿ってコードを生成してくれるので一貫性のある(コンテキストに沿った)開発ができそうです。

Project Rulesの作り方は3つほどあります。

(1) 自動生成

    AIプロンプトに /Generate Cursor Rules と指示するだけで、既にコードがある場合はプロジェクトを解析してルールを作ってくれます。

    最も手軽な方法ですね。慣れるまでは自動生成したものをベースに自分で必要に応じて修正するというやり方が最も効率的です。

    (2) 手動作成

      1番の自動生成されたルールをベースに自分で修正しても良いですし、 Cursor > General > Project Rules > Add new rule で新規に追加して自分で追記していくか、ChatGPTを利用してProduct Requirements Document(プロダクト要求仕様書)を生成し開発を行うというのも効率的です。

      (3) 他のルールの流用

        Cursor Directory( https://cursor.directory/rules )には先人達が用意した素晴らしいルールが公開・共有されています。ここで自分のプロジェクトの技術スタックにあったものを適当に見つけてコピーして自身のルールに入れて使うことも可能です。

        3つのやり方から自分に合いそうなやり方でルールを作って開発すれば冒頭のAI開発の問題点を解決するのに役立ちますので、開発を行う前にぜひ事前準備をしておいてください。

        なお、Project Rulesファイルは1つだけとは限りません。必要に応じて複数のファイルを用意して問題ありません。

        例えば

        • global.mdc:プロジェクト共通の命名ルールなど
        • prd.mdc:プロjダクト要求仕様書。Project Overviewや機能一覧、チェックリスト、技術スタックなど
        • database.mdc:データベース関連のルール

        もちろん1つのファイルに全部書いていても大丈夫です。

        今回はCursorで開発する前にぜひやっておきたい設定のお話をしました。開発メンバーにこちらが意図したものを作ってもらうためになるべく細かく正確な指示が必要なのは人もAIも同じですね。

        Cursorで開発を行う時はなるべく充実したルールファイルを用意して行うことをお勧めさせて頂きます。