Laravel開発スキル(Laravel 12 + Boost)
このスキルは、本リポジトリ(Laravel 12 / PHP 8.5.2)での実装・調査・デバッグを、Laravel Boost MCPを中心に進めるためのガイドです。
前提(このリポジトリ)
- Laravel: v12
- PHP: 8.5.2
- MCPサーバー:
project-0-booking2-laravel-boost(Boost)
Boostツール(よく使う)
- アプリ情報:
application-info - ドキュメント検索:
search-docs(クエリは英語) - DBスキーマ確認:
database-schema - DBデータ確認(読み取り専用):
database-query - ルート確認:
list-routes - Artisanコマンド一覧:
list-artisan-commands - Configキー一覧:
list-available-config-keys - Config取得:
get-config - 直近エラー:
last-error - ログ確認:
read-log-entries - ブラウザログ:
browser-logs - URLの確定:
get-absolute-url - Tinker:
tinker
実装前の必須チェック
Laravel関連の実装・修正を始める前に、必要に応じて次を実行します。
- アプリ情報の確認:
application-info - ドキュメント検索:
search-docs(英語クエリで短く複数回) - DBが絡む場合:
database-schema(テーブル/カラム/インデックス/外部キー) - ルートが絡む場合:
list-routes(既存の命名・責務・ミドルウェアを把握)
実装の基本方針(Laravel way)
- ルーティング: named route と
route()を優先する - バリデーション: Controller直書きではなく Form Request を作成して集約する
- DBアクセス: Eloquent と Relationship を優先し、N+1は eager load で防ぐ
- 設定値:
config()を使用し、env()は config ファイル以外で使わない - Laravel 12の構造: ミドルウェア登録は
bootstrap/app.php側で行う(app/Http/Kernel.php前提にしない)
デバッグ時の標準フロー
- エラーを取る:
last-error - ログを追う:
read-log-entries - フロント絡み:
browser-logs - 状態を確認:
database-query(読み取り専用) /tinker - 必要ならDocs再確認:
search-docs(英語クエリ)
禁止事項
- 日本語でのDocs検索:
search-docsは日本語クエリだと結果が弱い/出ないため、英語で検索する - DBへの書き込み:
database-queryは読み取り用途に限定し、破壊的操作をしない - 秘密情報の露出:
.envやトークン、鍵などの機密を表示・貼り付けしない
仕上げ(推奨)
- 整形:
vendor/bin/pint --dirty - テスト: 関連テストを最小セットで実行(例:
php artisan test --compact --filter=...)