mcpField
L
laravel-packages

laravel-packages

github.com/leeovery開発1552 回インストール2 週間前に更新
リポジトリ

laravel-packages について

Laravelパッケージ開発者向けに、再利用コードをパッケージ化する判断基準と基本構成を説明するガイドです。よく使われる依存パッケージと、用途に応じて選ぶパッケージを紹介します。

主な機能

  1. 01パッケージ抽出の基準
  2. 02パッケージのディレクトリ構成
  3. 03セマンティックバージョニングと個別テスト
  4. 04よく使うSpatieパッケージ
  5. 05任意で導入するLaravelパッケージ

活用シーン

  1. 01共有コードをパッケージ化するか評価する
  2. 02Laravelパッケージの構成を整える
  3. 03DTO、状態機械、クエリ関連の依存を選ぶ
  4. 04必要に応じて認証やテナント機能を追加する

インストール

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

$npx skills add https://github.com/leeovery/agentic-skills --skill laravel-packages

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

同梱ファイル

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

references/
ExampleAction.php
ExampleBaseData.php
ExampleServiceProvider.php
package-extraction.md

詳細

Laravel パッケージ

パッケージ開発:プロジェクト間で再利用できるパターンを抽出します。

関連ガイド:

  • package-extraction.md - コードをパッケージに抽出する
  • DTOs - Spatie Laravel Data の使用
  • Models - Spatie Model States と Query Builder の使用

抽出するタイミング

次の場合はパッケージに抽出します:

  1. 3つ以上のプロジェクトで使用されているパターン
  2. コードが安定しており、十分にテストされている
  3. パターンに明確な境界がある
  4. メンテナンスコストに見合う価値がある

→ 抽出ガイド全文:package-extraction.md

パッケージ構成

my-package/
├── src/
│   ├── PackageServiceProvider.php
│   ├── Actions/
│   ├── DTOs/
│   └── ...
├── tests/
├── composer.json
└── README.md

セマンティックバージョニングを使用します。パッケージを個別にテストします。明確に文書化します。

コアパッケージ(常時)

Spatie Laravel Data
composer require spatie/laravel-data
  • キャスト、バリデーション、トランスフォーマーに対応した DTO
  • テストファクトリーをサポート
Spatie Model States
composer require spatie/laravel-model-states
  • ステートマシンパターン
  • 専用クラスによる状態遷移
Spatie Query Builder
composer require spatie/laravel-query-builder
  • クエリ文字列を使ったフィルター、ソート、リレーションの読み込み
  • API に適したクエリ処理
Saloon
composer require saloonphp/saloon saloonphp/laravel-plugin
  • 洗練された API クライアントビルダー
  • 外部サービスとの連携をテスト可能
Pest
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
  • 表現力豊かなテストフレームワーク
  • アーキテクチャテスト

オプションのパッケージ

Laravel Sanctum
composer require laravel/sanctum

用途: API 認証が必要な場合

Stancl Tenancy
composer require stancl/tenancy

用途: マルチテナントアプリケーション

Spatie Settings
composer require spatie/laravel-settings

用途: アプリケーションレベルの設定が必要な場合

インストールコマンド

一括インストール
composer require \
  spatie/laravel-data \
  spatie/laravel-model-states \
  spatie/laravel-query-builder \
  saloonphp/saloon \
  saloonphp/laravel-plugin

composer require \
  pestphp/pest \
  pestphp/pest-plugin-laravel \
  --dev

./vendor/bin/pest --init
最小限のインストール
composer require spatie/laravel-data
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
./vendor/bin/pest --init

コメント