この記事はソースコード調査に基づく情報です。2026年7月時点で開発中のリポジトリです。
Laravel Package Skeletonとは
Laravel Package Skeleton は、Laravelパッケージを作る際のスターターテンプレートです。composer install を実行すると対話的な設定スクリプト (configure.php) が自動起動し、パッケージ名・ベンダー名・ネームスペース・使用する機能を一問一答で設定します。設定後は即座に開発を始められる状態になります。
なぜこのスケルトンが必要か
Laravelパッケージを「自己流」で作り始めると、テスト環境のセットアップ・静的解析・コードフォーマット・GitHub Actions の設定など、本来のパッケージロジックとは無関係な作業に多くの時間を費やします。 Laravel Package Skeleton は、Laravelチームが実際のパッケージ開発で使うベストプラクティスを一つのテンプレートにまとめたものです。テンプレートを使えば「環境構築」をスキップしてパッケージのロジック実装からすぐに始められます。含まれるツール
| ツール | 役割 |
|---|---|
| Pest | テストフレームワーク |
| Larastan | Laravel向け静的解析 |
| Pint | コードフォーマッター |
| Orchestra Testbench | パッケージテスト環境 |
| Workbench | エンドツーエンド開発用アプリ |
設定可能なパッケージ機能
composer install 時のプロンプトで、必要な機能だけを選択できます。選択しなかった機能に関するスキャフォールドは削除されます。
| 機能 | 説明 |
|---|---|
| Config file | config/ に設定ファイルを追加 |
| Routes | ルートファイルを追加 |
| Views | Blade ビューを追加 |
| Translations | 言語ファイルを追加 |
| Migrations | マイグレーションファイルを追加 |
| Assets | 公開用アセットを追加 |
| Commands | Artisan コマンドを追加 |
| Facade | ファサードクラスを追加 |
| Boost Skill | AI エージェント用スキルを追加 |
設定可能なツール
機能と同様に、プロジェクトに応じてツールのオン/オフも選択できます。| ツール | 説明 |
|---|---|
| Dependabot | 依存関係の自動更新 PR |
| Issue Template | GitHub Issue テンプレート |
| Changelog | リリース時の自動 CHANGELOG.md 更新 |
| Funding | GitHub Sponsors スポンサーリンク |
| Security Policy | セキュリティ脆弱性報告ポリシー |
セットアップの流れ
依存関係をインストール
composer install を実行すると configure.php が自動起動します。--no-scripts オプションを使います。プロンプトに回答
以下の項目を一問一答で設定します。
- Author Name / Email
- Vendor 名 (例:
kawax) - Package 名 (例:
my-package) - Package 説明文
- Class 名 (例:
MyPackage) - 使用する機能のマルチセレクト
- 使用するツールのマルチセレクト
- GitHub リポジトリの自動作成(gh CLI が認証済みの場合)
非対話モード
CI やスクリプトからセットアップする場合は--no-interaction フラグを使います。
GitHub Actions CI
スケルトンに含まれるtests.yml は、複数の PHP バージョン・Laravel バージョン・OS の組み合わせでテストを実行するマトリックスビルドです。
- PHPStan (
composer analyse) — 静的解析 - Pint (
composer lint:check) — スタイルチェック - 型カバレッジ (
composer test:types) — 型カバレッジ 100% 確認(Ubuntu のみ) - Pest (
composer test:unit) — ユニットテスト(Ubuntu のみ)
Changelog 自動化
update-changelog.yml が GitHub Release をトリガーに CHANGELOG.md を自動更新します。release.yml で PR ラベル別に変更内容を分類してリリースノートを生成します。
リリースノートのラベル:
| ラベル | 分類 |
|---|---|
breaking | 破壊的変更 |
enhancement | 機能追加 |
bug | バグ修正 |
documentation | ドキュメント |
dependencies | 依存関係 |
maintenance | メンテナンス |
skip-changelog | 変更履歴に含めない |
configure.php が行うこと
configure.php は設定スクリプトで一度だけ実行する bootstrap です。実行後は削除されます。
インストール後の GitHub 設定
README に記載されているインストール後の推奨設定:- Dependabot PR は手動レビュー — 自動マージワークフローは含まれない
- リリースノートラベルの作成 —
breaking・enhancement・bug・documentation・dependencies・maintenance・skip-changelog・duplicate mainブランチ保護の設定 — Changelog 自動化は GitHub Actions がCHANGELOG.mdにコミットするため、ブランチ保護ルールの調整が必要
GITHUB_TOKEN を使用します。
現在の開発状況
- GitHubリポジトリ: laravel/package-skeleton
- 公開時期: 2026年7月(活発に開発中)
- 注意: 開発初期段階のため、API や構成は変更される可能性があります
laravel/package-skeleton リポジトリ
ソースコードと最新情報はこちら。
パッケージ開発 公式ドキュメント
Laravelパッケージ開発の基礎については公式ドキュメントを参照してください。