new-rails-project について
RailsとReactを組み合わせた新規プロジェクトの生成を支援するスキルです。データベース、バックグラウンドジョブ、テスト、動作確認の構成を定めています。
主な機能
- 01Rails 8、PostgreSQL、Inertia.js
- 02React、Vite、Tailwind CSS
- 03SidekiqとRedisによるジョブ処理
- 04UUID主キーと暗号化フィールド
- 05minitestとセキュリティスキャン
活用シーン
- 01現在のディレクトリにRailsプロジェクトを作成
- 02指定されたスタックでアプリをセットアップ
- 03新規プロジェクトのテスト規約を策定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ shpigford/ skills --skill new-rails-projectインストール後、Claude Code で/new-rails-projectを入力して読み込まれたか確認します。
詳細
現在のディレクトリに、$1 という名前の新しい Rails プロジェクトを生成します。一般的なガイダンスとして @CLAUDE.md を参照してもかまいませんが、ここに記載されたガイダンスが優先されます。
技術スタック
次の技術スタックをセットアップしてください。
- Rails ~8 と PostgreSQL — サーバーサイドフレームワークとデータベース
- Inertia.js ~2.3 — API を使わずに Rails と React を連携させ、SPA のような操作性を実現します
- React ~19.2 — フロントエンド UI フレームワーク
- Vite ~5 — HMR 対応の JavaScript バンドラー
- Tailwind CSS ~4 — ユーティリティファーストの CSS フレームワーク
- Sidekiq 8 — sidekiq-scheduler によるスケジュール済みジョブに対応したバックグラウンドジョブ処理
- Redis — セッション、キャッシュ、ジョブキュー
Rails のガイダンス
- Kamal や Docker は使用しないでください
- Rails の「solid_*」コンポーネントやシステムは使用しないでください
- 可能な限り、開発環境の設定を本番環境の設定に合わせてください
- キャッシュには Redis を使用してください
データベース
- すべてのテーブルで UUID を主キーとして使用します(pgcrypto 拡張機能)
- タイムゾーンに対応するため、タイムスタンプには
timestamptzを使用します - 柔軟なメタデータの保存には JSONB カラムを使用します
- パフォーマンスを考慮し、包括的なインデックス戦略を採用します
- 機密データ(OAuth トークン、API キー)には暗号化フィールドを使用します
バックグラウンドジョブ
- Redis と Sidekiq 8 を使用してください
テスト
- 常に minitest を使用してください
- 外部サービスには
mochagem と VCR を使用してください(providers レイヤーのみ) - モックインスタンスには
OpenStructを優先してください - 必要なものだけをモックしてください
コードの保守
- 重要なコード変更の後に
bundle exec rubocop -aを実行してください - スタイル設定には
.rubocop.ymlを使用してください bundle exec brakemanでセキュリティスキャンを実施してください
フロントエンド
- すべての React コンポーネントとビューは TSX にしてください
全般的なガイダンス
- 計画時には、明確化のための質問をたくさんしてください。質問は多いほどよいです。要件や仕様を集めるため、AskUserQuestionTool を積極的に活用してください。質問しすぎることはありません。
検証
bin/rails server を実行し、playwright MCP を介して http://localhost:3000 にアクセスして、ボイラープレートが動作することを確認してください。
コメント
Markdown 対応