laravel:nova:resource-patterns について
Laravel Nova 開発者向けに、一貫したリソースを構築するためのスキルです。フィールド、認可、アクション、フィルター、メトリクス、構成、テストを扱います。
主な機能
- 01フィールドとリレーションの順序設定
- 02ポリシーとクエリスコープの設定
- 03フィードバック付きアクションの設計
- 04フィルターとタスク別ビューの使い分け
- 05メトリクスとリソースの整理
- 06ポリシー、クエリ、アクションのテスト
活用シーン
- 01ドメインモデルに沿った Nova リソースの構築
- 02未認可ユーザーの検索結果の制限
- 03リソース操作への安全策と結果表示の追加
- 04ポリシー、クエリスコープ、操作結果のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:nova:resource-patternsインストール後、Claude Code で/laravel:nova:resource-patternsを入力して読み込まれたか確認します。
詳細
Nova リソースのパターン
ドメインモデルに対応し、安全に進化できる一貫性のある Nova リソースを構築します。
フィールド
- フィールドの順序は、識別子 → 主な属性 → リレーション → メタ情報にします
- 効果がある場合は、
->sortable()/->filterable()を使用します - 機密フィールド(トークンなど)は、必要な場合を除き、一覧/詳細画面で非表示にします
- 検索可能な制約を設定した
BelongsTo/HasMany/Morph*リレーションを優先します
認可
viewAny、view、create、update、deleteには、モデルのポリシーに対応する Nova ポリシーを使用します- 認可されていない検索でリソースの存在が漏れないようにし、クエリをスコープします
アクション
- アクションは冪等にするか、安全対策を設けます
- 確認メッセージと、結果が明確にわかるフィードバックを用意します
フィルターとレンズ
- フィルター:シンプルで一般的に使われる制約(ステータス、所有者、日付範囲)
- レンズ:特定の見解に基づく、タスク中心のビュー(例:更新が滞っている項目)
メトリクス
- 重要な項目には Value/Trend/Partition メトリクスを使用し、適切にキャッシュします
- 時間範囲を明示し、単位をわかりやすく表示します
リソースの整理
- リソースをドメインごとにグループ化します(ナビゲーションのグループ分け)
- 表示タイトルには意味のある名前を付け、
title()を一貫して使用します
テスト
- ポリシー、クエリスコープ、リソースのロジックを実行するフィーチャーテストを優先します
- アクションについては、現実的なシードデータを使って成功時と失敗時の両方をテストします
コメント
Markdown 対応