filament-pro について
filament-pro は、TALL スタックで Filament の管理画面を開発する人向けのガイダンススキルです。カスタムデータソース、ネストしたリソース、コンポーネント設計、UI のトラブルシューティングを扱います。
主な機能
- 01Filament Resource と CRUD のパターン
- 02カスタムデータソースのテーブル
- 03ネスト関係とポリモーフィック関係
- 04再利用可能なフォーム項目とダッシュボード
- 05UI の性能とレイアウトの指針
活用シーン
- 01Filament 管理画面の設計
- 02外部 API データのテーブル表示
- 03ネストしたプロジェクトやタスクの管理
- 04テーブルやフォームの遅延の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yuniorglez/ gemini-elite-core --skill filament-proインストール後、Claude Code で/filament-proを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/1-tall-stack-mastery.md2-advanced-forms-and-tables.md3-panel-architecture.md詳細
スキル:Filament Pro(Standard 2026)
役割: Filament ProはTALLスタック(Tailwind、Alpine.js、Laravel、Livewire)のエキスパートであり、洗練された管理インターフェースを圧倒的な速さで構築します。2026年、Filament v4は「フルアプリケーションエンジン」へと進化し、ネストされたリソース、カスタムの非Eloquentデータソース、フォーム生成のためのネイティブAI支援をサポートしています。
🎯 主な目標
- 迅速なインターフェースエンジニアリング: 100%のカスタマイズ性を保ちながら、複雑なCRUDを数分で構築します。
- カスタムデータ統合: 「カスタムデータソース」パターンを使って、外部APIやJSON-Bデータでテーブルやフォームを動かします。
- 複雑なリレーション管理: ネストされたリソースやポリモーフィックリレーションをシームレスに活用します。
- 優れたUX/UI: Filamentエコシステム内で「スイススタイル」のデザインシステムとBento Gridレイアウトを活用します。
🏗️ 2026年のFilamentツールベルト
1. コアフレームワーク
- Filament v4/v5: Livewire 4をネイティブサポートします。
- TipTapリッチエディター: 高度なカスタムブロックと動的な画像処理に対応します。
- Folio & Volt: 軽量な単一ファイルの管理コンポーネント向けです。
2. 専門コンポーネント
- カスタムフォームフィールド: Alpine.jsを利用した再利用可能な入力を作成します。
- インフォグラフィックスとダッシュボード: Chart.jsまたはD3との統合を使い、リアルタイムでデータを可視化します。
🛠️ 実装パターン
1. カスタムデータソーステーブル(Filament v4)
Eloquent以外のソース(例:サードパーティAPI)のデータを、ローカルテーブルのように表示します。
// In a ListRecords class
protected function getTableQuery(): ?Builder
{
// 2026 Pattern: Fetching from a custom service
return ExternalApiService::getInvoicesQuery();
}
2. ネストされたリソース
複雑なURL管理をせずに、深くネストされた階層(例:Projects -> Tasks -> Comments)を管理します。
// Filament v4 native nesting
public static function getRelations(): array
{
return [
TasksRelationManager::class,
];
}
3. クライアントサイドJSヘルパー
UIの状態管理におけるサーバーとの往復を減らします。
TextInput::make('title')
->afterStateUpdatedJs('state => state.slug = state.title.toLowerCase()')
🚫 「やってはいけないこと」リスト(アンチパターン)
Filament Resourceに実装すべきロジックに、標準のコントローラーを決して使用しないでください。TableやFormの定義内で、負荷の高いDBクエリを決して実行しないでください。getEloquentQuery()またはcomputedプロパティを使用してください。- 権限を決してハードコードしないでください。Filament Policiesと統合した
Spatie/Laravel-Permissionを使用してください。 Filament Preloadingを決して無視しないでください。プリロードされていない大きなフォームは動作が遅く感じられます。
🛠️ トラブルシューティングとUXの最適化
| 問題 | 考えられる原因 | 2026年の適切な対処法 |
|---|---|---|
| テーブルの動作が遅い | 大規模なデータセットの過剰なハイドレーション | Table::$isStriped = falseを有効にし、deferred読み込みを使用します。 |
| リッチエディターの遅延 | カスタムTipTapブロックが多すぎる | Dynamic Importsを使用して、負荷の高いTipTap拡張機能を遅延読み込みします。 |
| フォーム状態のずれ | Livewire/Alpine間の同期遅延 | live修飾子付きのentangle()は必要最小限に使用します。 |
| モバイルレイアウトの崩れ | 複雑なBento Gridがレスポンシブでない | FilamentネイティブのGrid::make(['default' => 1, 'lg' => 3])を使用します。 |
📚 リファレンスライブラリ
- TALLスタックの習得: Filamentを支えるエンジンです。
- 高度なフォームとテーブル: 基本的なCRUDを超えた内容です。
- パネルアーキテクチャ: マルチパネルとマルチテナンシーの構成です。
📊 品質指標
- フォーム送信のレイテンシ: < 200ms。
- テーブルの描画時間: 50行で< 50ms(Filament v4の速度)。
- A11yスコア: 100%(WCAG 2.2準拠)。
🔄 v2からv4への進化
- v3: フォームとテーブルのビルダーを分離し、UIを改善し、アクションシステムを刷新しました。
- v4: カスタムソース、ネストされたリソース、デフォルトのTipTap、状態管理のためのJSヘルパーに対応しました。
Filament Pro Standardの終わり(v1.1.0)
コメント
Markdown 対応