Cursorのruleファイルについて

Cursorのルールファイルの精度について
.cursor/rules/rule.mdcファイルでAIにルールを伝えられる
project-overview.mdc(プロジェクト概要)や、development-rules.mdc(コーディング規約など含むルール)などは設定しておいたほうがいい
それとは別に、agent modeを使用するときにAIモデル毎に違った振る舞いをするのだが、特にclaude系は指示していないことまで実装しようとしたりするので、agent-mode.mdcなどの名前で太字などで指示したこと以外は作業しないという旨のルールを記載するとよさそう。
だたし、これに関してはユーザーが開発の知識がないなどでバイブコーディングする場合は記載してしまうと棚ぼたがなくなるのでやめたほうがいいかもしれない。
.mdcファイルには、Rule Typeで
- Always (全てに適用)
- Auto Attached (コンテキストに含めたファイルの拡張子などで判別して自動適用)
- Agent Requested (AIが自動的に認識する 説明をうまく書く必要がありそう 使わない)
- Manual (ユーザーが含める)
の4種類がある
このうち、Agent Requestedと、Alwaysは体感すごく効きが弱いと思った。特に、チャットを複数回行ってコンテキストウィンドウサイズが圧迫されてくると全くもって無視し始める。(Agent Requested >> Alwaysで効きが悪い感じがする)
Auto Attachedは、コンテキストに指定した拡張子が入ったファイルを渡せばそこそこ効いてくれる。が、これも圧迫されてくると無視し始める。
最後にManualなのだが、これはすごく良く効く。実質mdファイルをコンテキストに渡しているのと変わらないが、mdファイルと違って、Agentがルールとして認識しているファイルなので、mdファイルにルールを書いているより遥かに書いている事を聞いてくれる。
Alwaysと、Auto Attachedに設定して、手動でコンテキストに渡して上げるとさらに効きが良いと感じた。
僕は初心者なので、以下の手順でルールファイル作成をしてみた
- まずdocs/agent-mode.md を作成。使ってて感じた動作に関する問題をルールとして明記する
- docs/project-overview.md を作成する。 このとき、claudeかGeminiと壁打ちしながら要件定義をすると良さそう。Askで壁打ちしながら、良さそうと思ったらAgentモードに切り替えて書き込んでもらうと、md形式でしっかり定義してくる。ちなみに、複数のモデルを使うことで問題点が現れたりして良かった。
- docs/development-rules.md を作成。もし会社や自分の規約があるのならそれを書き込めばいい。が、僕は適当なのでAIに全部書いてもらった。ここにGit/Githubの使い方を書いておくと良さそう
- ChatGPTを使って、すべてのルールを記述したmdファイルを英語にしてもらう。mdcファイルはAgent modeで書き込めなさそうなので、docs/en/ などの中にあなたがわかりやすいように英語版を作成してと依頼すると、英語版のmdファイルが作成されるので、.cursor/rules/*.mdcにそれをコピペする。
そして、Agent modeで開発してもらうときは、先に挙げたようにAlwaysかAuto Attachedにしたルールファイルを手動でもコンテキストに含め、都度Gitに保存しながら一つの機能を完成させたら最後にも完成したタイトルで保存し、新しいチャットを開く。
前回の作業内容を要約したタイトルでコミットしてくれるので、Gitで進捗確認してというと、Gitの履歴と、コードベースを確認してくれる。
これでかなりの精度でルールを認識してくれるようになったと思った。
ただし、あまりにルールファイルを巨大にするとルールの認識も作業の精度も両方落ちて悪くなるので、せいぜい合計1000行ぐらいにしておくべきかも
全然そんな事なかったらごめんなさい

こんなこと書いたけど、
っていうか他にもたくさん参考になる記事がある
意味ないスクラップになってしまった
情報収集力のなさに呆れた。やっぱり無能なニートだね。