GitHubで38,464スターを獲得しているPatrickJS/awesome-cursorrules。「Cursorに読み込ませるルールファイル」として有名だが、中身を読んだことがある人は少ない。今回、375本以上のルールファイルを読んで、本当に効くものを解説する。
.cursorrulesとは何か
プロジェクトルートに置く.cursorrulesファイルは、Cursor AIへの「永続的なシステムプロンプト」として機能する。毎回指示を書かなくても、このファイルの内容がAIの挙動を制御し続ける。
Claude CodeのCLAUDE.md、WindsurfのWINDSURFRULES、GitHub CopilotのCopilot Instructionsも同じ概念。ツールが違うだけで、アイデアは同じ。
Next.js + React + TypeScript 最高評価ルール
awesome-cursorrulesの中で最もフォークされているルール。そのまま使える:
You are an expert in TypeScript, React, and Next.js App Router.
Code Style:
– Write concise, technical TypeScript with accurate examples.
– Use functional and declarative programming. Avoid classes.
– Prefer named exports over default exports.
– Use kebab-case for directories (e.g., components/auth-form).React/Next.js:
– All components default to React Server Components (RSC).
– Add ‘use client’ ONLY when interactivity is required.State Management:
– useState for component state.
– Zustand or Jotai for complex state.
HTML + Tailwind CSS + Vanilla JS ルール
フレームワークなしのフロントエンド開発向け:
You are an expert in HTML, Tailwind CSS, and vanilla JavaScript.
– Use semantic HTML5 elements (header, nav, main, section, footer, article).
– Apply Tailwind utility classes exclusively — no custom CSS unless unavoidable.
– Mobile-first: start with sm: breakpoints, then md:, lg:.
– Images: always include alt attributes.
– Never use !important.
WordPress + PHP ルール(セキュリティ制約付き)
AI生成のWordPressコードはセキュリティが穴だらけになりやすい。このルールを必ず入れること:
Build in WordPress context following WordPress coding standards.
– Escape ALL output: esc_html(), esc_attr(), esc_url()
– Sanitize ALL input: sanitize_text_field(), absint()
– Verify nonces on every form submission.
– Use current_user_can() before any sensitive action.
– Prefix ALL functions with your plugin prefix.
– Do NOT use eval(), extract(), or direct $wpdb queries without prepare().
.cursorrulesの書き方:構造のコツ
digitalchild/cursor-best-practicesで推奨されている構造:
- Identity: AIが何の専門家として振る舞うか
- Code Style: 命名規則、フォーマット
- Tech Stack: 使用ライブラリとバージョン
- Naming Conventions: ファイル・変数・コンポーネント
- Performance: 最適化の方針
- Boundaries: やってはいけないこと
推奨サイズ:500行以下。長すぎると無視される。
Claude Code向け:CLAUDE.mdとの違い
.cursorrulesはCursor専用だが、CLAUDE.mdはClaude Code向けの同等ファイル。内容はほぼ同じで、リポジトリルートに置くだけ。
Anthropicの公式ドキュメントによると、CLAUDE.mdに書くべき内容:
- デフォルトでわからないBashコマンド
- 既存の慣習と異なるコードスタイル
- テストコマンドと実行方法
- プロジェクト固有のアーキテクチャ決定
書かなくていいもの:コードから推測できること、変更頻度の高い情報、長い解説。
まとめ
.cursorrulesの本質は「毎回プロンプトを書かなくていい仕組み」。一度しっかり書けば、プロジェクト全体でAIの挙動が統一される。特にチーム開発ではルールファイルをGitに入れることで、全員が同じAI挙動を共有できる。
