Ruby on Rails で使う
おすすめ CLAUDE.md テンプレート
Section titled “おすすめ CLAUDE.md テンプレート”## プロジェクト概要[プロジェクトの説明]
## 技術スタック- Ruby 3.3- Rails 7.2- PostgreSQL- Hotwire (Turbo + Stimulus)- RSpec(テスト)
## Railsの規約- Fat Model, Skinny Controller を意識する- Service Object は app/services/ に置く- バリデーションは Model に書く- N+1問題に注意し、includes/eager_loadを使う
## テスト方針- 全てのモデルにユニットテストを書く- コントローラテストは書かない(SystemSpecで代替)- FactoryBotを使う
## 禁止事項- raw SQLを直接書かない(ActiveRecordを使う)- コントローラにビジネスロジックを書かない※CLAUDE.md: プロジェクトのルートに置くClaude Code専用の設定ファイル。プロジェクト固有のルールやコンテキストを記述する。
よく使うプロンプトパターン
Section titled “よく使うプロンプトパターン”モデルとマイグレーションを作る
Section titled “モデルとマイグレーションを作る”Postモデルを作って。カラムはtitle(string)、body(text)、published_at(datetime)、user_id(references)。バリデーションとアソシエーションも含めて。N+1を解消する
Section titled “N+1を解消する”このコントローラのアクションでN+1が起きている。includesを使って解消して。
def index @posts = Post.allendRSpecのテストを書く
Section titled “RSpecのテストを書く”app/models/user.rb のバリデーションのRSpecテストを書いて。FactoryBotを使う。Service Objectを作る
Section titled “Service Objectを作る”ユーザー登録処理を UserRegistrationService として app/services/ に切り出して。メール送信とウェルカムポイント付与を含める。※マイグレーション: データベースのスキーマ(テーブル構造)を安全に変更するための手順書。※プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。
Rails特有の便利な使い方
Section titled “Rails特有の便利な使い方”コンソールで試してから実装
Section titled “コンソールで試してから実装”Railsコンソールで試したいクエリを教えて。「直近30日で最もいいねが多かった投稿TOP10」を取得したい。Claude Codeがコンソール用のコードを出力してくれる。動作確認後に実際のコードに組み込む。
マイグレーションファイルのレビュー
Section titled “マイグレーションファイルのレビュー”このマイグレーションファイルを見て、本番環境で安全に実行できるか確認して。NOT NULL制約の追加やカラムの型変更が含まれている場合は特に注意して。ハマりやすいポイント
Section titled “ハマりやすいポイント”belongs_to のデフォルト required: Rails 5以降、belongs_to はデフォルトで必須。既存のデータがNULLだとバリデーションエラーが出る。Claude Codeに「この関連の必須チェックを適切に設定して」と相談する。
Strong Parameters の漏れ: 新しいカラムを追加したのにformが保存されない場合、多くはStrong Parametersの更新漏れ。「このカラムを追加したのでStrong Parametersも更新して」と伝える。