Cursor Rules用リポジトリ作成と初期Ruleファイル設定(開発日記 No.067)
関連リンク
はじめに
昨日は、CursorのRules機能について、具体的な設定方法や検証手順をドキュメント化しました。今日はその続きとして、Cursor_Rules_Verification_Plan.md
に基づき、実際にCursorのRulesを保管・管理するための専用Gitリポジトリを作成し、最初のRuleファイルを整備していく作業に取り組みます。
背景と目的
CursorのRules機能を本格的に活用していくにあたり、作成したRuleを一元的に管理し、バージョン管理も行えるように専用のリポジトリを設けることにしました。これにより、Ruleの再利用性が高まり、チームでの共有やメンテナンスも容易になることを期待しています。
今回の主な目的は、my-cursor-rules
という名前でローカルリポジトリを作成し、既存の開発プロセスガイドライン (development_process_guide.md
) を元にして、背景知識用Ruleと役割(モード)別のRuleファイルを作成し、リポジトリに格納することです。
検討内容
まず、development_process_guide.md
という既存のドキュメントを、どのようにCursorのRuleとして分割・構成するかが最初の検討ポイントでした。LLMに相談したところ、以下の提案がありました。
-
Ruleの分割方針案:
- 背景知識 Rule (常に適用): 開発スタイル全体像、設計原則など。
-
役割(モード) Rule (手動またはキーワードで適用):
- 案A: 包括的な開発推進モード
- 案B: より細かい役割ごとのモード (TDDファシリテーター、GitHub Flowガイドなど)
- 案C: 案Aと案Bの組み合わせ
-
フォルダ構造案:
my-cursor-rules/ ├── knowledge/ (背景知識Rule) └── modes/ (役割Rule)
LLMとの相談の結果、役割Ruleについては「案C」を採用することにしました。具体的には、包括的なモードを基本としつつ、特定の作業(TDDやGitHub Flowの操作など)を行う際には、より専門的なモードに切り替えて作業を進め、完了後に包括モードに戻るような指示をRuleに含める方針です。また、agentRequested
(特定のキーワードでRuleを自動起動する機能) は一旦設定せず、手動での適用を基本とします。
さらに、development_process_guide.md
に含まれる特定のツールの使い方については、Ruleファイル本体にすべて記述するのではなく、my-cursor-rules/references/
というディレクトリに参照ドキュメントとして別ファイルで切り出し、Ruleからはこれらの参照ドキュメントを参照する形にすることで、Rule本体を簡潔に保つことにしました。これは、将来的に各プロジェクトでこれらのRuleをシンボリックリンクで利用することも考慮し、参照パスの柔軟性を高める狙いもあります。
実装内容
上記の方針に基づき、以下の手順で作業を進めました。
-
開発日記の準備:
LLMにAuto_Logging_Guide.md
を参照させ、本日の開発日記ファイル (2025-05-06_067_development.md
) を作成し、初期情報を記述してもらいました。 -
ローカルリポジトリの作成と初期化:
まず、ローカル環境にmy-cursor-rules
というディレクトリを作成し、Gitリポジトリとして初期化しました。mkdir my-cursor-rules cd my-cursor-rules git init
この際、LLMがターミナルコマンドを実行する際にカレントディレクトリの認識で少し手間取る場面もありましたが、適宜修正指示を出すことで対応しました。
-
ディレクトリ構造の作成:
決定したフォルダ構造案に従い、my-cursor-rules
リポジトリ内にknowledge
,modes
,references
の各サブディレクトリを作成しました。cd my-cursor-rules mkdir knowledge modes references
ここでも、LLMが一度コマンド実行に失敗しましたが、
-p
オプションを付加するなどしてリカバリしてくれました。 -
Ruleファイルと参照ドキュメントの作成:
development_process_guide.md
の内容を分解・再構成し、以下のファイルを作成しました。-
knowledge/knowledge_development_process.mdc
: 開発プロセス全体に関する背景知識を記述。 -
modes/mode_development_execution.mdc
: 包括的な開発実行モードのRule。専門モードへの切り替え指示を含む。 - `modes/mode_tdd_facilitator
-
Discussion