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=...)