mcpField
R
rails-hotwire

rails-hotwire

github.com/pproenca開発218374 回インストール11 週間前に更新
リポジトリ

rails-hotwire について

Hotwire を使ったインタラクティブな Rails アプリ開発のためのリファレンススキルで、Turbo と Stimulus の実践方法を扱います。優先度付きのルールで、ナビゲーション、リアルタイム更新、設計、性能、テストを案内します。

主な機能

  1. 019 カテゴリーにわたる 53 のルール
  2. 02Turbo Drive、Frames、Streams の指針
  3. 03ブロードキャストとページモーフィングの実践
  4. 04Stimulus、設計、テストの助言

活用シーン

  1. 01Turbo のナビゲーションとキャッシュを設定
  2. 02部分更新と遅延読み込み Frame を追加
  3. 03ActionCable でリアルタイム更新を配信
  4. 04Hotwire の動作をテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill rails-hotwire

インストール後、Claude Code で/rails-hotwireを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

metadata.json
assets/templates/
_template.md
references/
_sections.md
arch-avoid-client-state.md
arch-frame-vs-stream-decision.md
arch-importmap-management.md
arch-progressive-enhancement.md
arch-stimulus-boundaries.md
bcast-avoid-view-logic-in-models.md
bcast-debounce-n1.md
bcast-model-broadcasts.md
bcast-reconnect-handling.md
bcast-refresh-over-replace.md
bcast-scope-streams.md
bcast-signed-stream-names.md
drive-cache-control.md
drive-confirm-dialog.md
drive-error-recovery.md
drive-form-submissions.md
drive-prefetch-links.md
drive-progress-bar.md
drive-selective-disable.md
drive-visit-actions.md
frame-break-out.md
frame-dom-id.md
frame-empty-state.md
frame-lazy-loading.md
frame-promote-visits.md
frame-scope-navigation.md
frame-src-navigation.md

詳細

Community Rails Hotwire のベストプラクティス

Hotwire(Turbo + Stimulus)を使用してインタラクティブな Rails アプリケーションを構築するための包括的なガイドです。Community によってメンテナンスされています。影響度に基づいて優先順位付けされた 9 つのカテゴリーに、53 のルールが含まれており、自動リファクタリングとコード生成を支援します。DHH の「One Person Framework」の理念に従い、サーバーが HTML をレンダリングし、Turbo が SPA のような操作感を実現し、必要に応じて Stimulus が JavaScript を少し加えます。

適用する場面

以下の場合に、これらのガイドラインを参照してください。

  • Turbo Drive のナビゲーション、プリフェッチ、キャッシュ動作を設定するとき
  • 部分的なページ更新や遅延読み込みのために Turbo Frames を追加するとき
  • DOM をピンポイントで変更するために Turbo Streams を配信するとき
  • ActionCable 経由でリアルタイム更新をブロードキャストするとき
  • ページのリフレッシュで Turbo 8 のモーフィングを有効にするとき
  • クライアント側の動作を制御する Stimulus コントローラーを書くとき
  • Turbo のナビゲーション、フレーム、WebSocket 接続でエラーを処理するとき
  • Drive、Frames、Streams、Morphing、Stimulus のどれを使うか選ぶとき
  • システムテストや統合テストで Hotwire のインタラクションをテストするとき

優先度別のルールカテゴリー

優先度カテゴリー影響度プレフィックス
1ナビゲーションと DriveCRITICALdrive-
2Turbo FramesCRITICALframe-
3Turbo StreamsHIGHstream-
4ブロードキャストとリアルタイムHIGHbcast-
5モーフィングとページのリフレッシュHIGHmorph-
6パフォーマンス最適化MEDIUM-HIGHperf-
7Stimulus のパターンMEDIUM-HIGHstim-
8アーキテクチャの判断MEDIUMarch-
9Hotwire のテストMEDIUMtest-

クイックリファレンス

1. ナビゲーションと Drive(CRITICAL)
2. Turbo Frames(CRITICAL)
3. Turbo Streams(HIGH)
4. ブロードキャストとリアルタイム処理(HIGH)
5. モーフィングとページのリフレッシュ(HIGH)
6. パフォーマンスの最適化(MEDIUM-HIGH)
  • perf-optimistic-ui - サーバーの確認前に楽観的な UI 更新を実装します
  • perf-batch-streams - 複数のストリーム更新を単一のレスポンスにまとめます
  • perf-frame-caching - フラグメントキャッシュで Turbo Frame のレスポンスをキャッシュします
  • perf-prefetch-strategic - コストの高いエンドポイントではプリフェッチを無効にします
  • perf-memory-leak-prevention - サブスクリプションとイベントリスナーをクリーンアップします
7. Stimulus のパターン(MEDIUM-HIGH)
8. アーキテクチャの決定(MEDIUM)
9. Hotwire のテスト(MEDIUM)

使用方法

詳しい説明とコード例については、各リファレンスファイルをお読みください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとリファレンス情報

コメント