メインコンテンツへスキップ
この記事はソースコード調査に基づく情報です。2026年7月時点で開発中のリポジトリです。

Laravel Package Skeletonとは

Laravel Package Skeleton は、Laravelパッケージを作る際のスターターテンプレートです。
git clone https://github.com/laravel/package-skeleton.git my-package
cd my-package
composer install
composer install を実行すると対話的な設定スクリプト (configure.php) が自動起動し、パッケージ名・ベンダー名・ネームスペース・使用する機能を一問一答で設定します。設定後は即座に開発を始められる状態になります。

なぜこのスケルトンが必要か

Laravelパッケージを「自己流」で作り始めると、テスト環境のセットアップ・静的解析・コードフォーマット・GitHub Actions の設定など、本来のパッケージロジックとは無関係な作業に多くの時間を費やします。 Laravel Package Skeleton は、Laravelチームが実際のパッケージ開発で使うベストプラクティスを一つのテンプレートにまとめたものです。テンプレートを使えば「環境構築」をスキップしてパッケージのロジック実装からすぐに始められます。

含まれるツール

ツール役割
Pestテストフレームワーク
LarastanLaravel向け静的解析
Pintコードフォーマッター
Orchestra Testbenchパッケージテスト環境
Workbenchエンドツーエンド開発用アプリ

設定可能なパッケージ機能

composer install 時のプロンプトで、必要な機能だけを選択できます。選択しなかった機能に関するスキャフォールドは削除されます。
機能説明
Config fileconfig/ に設定ファイルを追加
Routesルートファイルを追加
ViewsBlade ビューを追加
Translations言語ファイルを追加
Migrationsマイグレーションファイルを追加
Assets公開用アセットを追加
CommandsArtisan コマンドを追加
Facadeファサードクラスを追加
Boost SkillAI エージェント用スキルを追加

設定可能なツール

機能と同様に、プロジェクトに応じてツールのオン/オフも選択できます。
ツール説明
Dependabot依存関係の自動更新 PR
Issue TemplateGitHub Issue テンプレート
Changelogリリース時の自動 CHANGELOG.md 更新
FundingGitHub Sponsors スポンサーリンク
Security Policyセキュリティ脆弱性報告ポリシー

セットアップの流れ

1

テンプレートからリポジトリを作成

GitHub の Use this template ボタンを押して新しいリポジトリを作成するか、直接クローンします。
git clone https://github.com/laravel/package-skeleton.git my-package
cd my-package
2

依存関係をインストール

composer install を実行すると configure.php が自動起動します。
composer install
スクリプトを手動で実行したい場合は --no-scripts オプションを使います。
composer install --no-scripts
php configure.php
3

プロンプトに回答

以下の項目を一問一答で設定します。
  • Author Name / Email
  • Vendor 名 (例: kawax)
  • Package 名 (例: my-package)
  • Package 説明文
  • Class 名 (例: MyPackage)
  • 使用する機能のマルチセレクト
  • 使用するツールのマルチセレクト
  • GitHub リポジトリの自動作成(gh CLI が認証済みの場合)
4

動作確認

composer test
PHPStan → Pint → 型カバレッジ → Pest の順で全チェックを実行します。
5

Workbench でエンドツーエンドテスト

composer serve
http://localhost:8000 にパッケージ確認用の簡易 Laravel アプリが起動します。

非対話モード

CI やスクリプトからセットアップする場合は --no-interaction フラグを使います。
php configure.php --no-interaction --config --routes
機能フラグを指定すると、指定した機能だけが含まれます。フラグを省略するとすべての機能が含まれます。

GitHub Actions CI

スケルトンに含まれる tests.yml は、複数の PHP バージョン・Laravel バージョン・OS の組み合わせでテストを実行するマトリックスビルドです。
matrix:
  os: [ubuntu-latest, windows-latest]
  php: [8.3, 8.4, 8.5]
  laravel: [12.*, 13.*]
  stability: [prefer-lowest, prefer-stable]
各ジョブで実行される内容:
  1. PHPStan (composer analyse) — 静的解析
  2. Pint (composer lint:check) — スタイルチェック
  3. 型カバレッジ (composer test:types) — 型カバレッジ 100% 確認(Ubuntu のみ)
  4. 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 は手動レビュー — 自動マージワークフローは含まれない
  • リリースノートラベルの作成breakingenhancementbugdocumentationdependenciesmaintenanceskip-changelogduplicate
  • main ブランチ保護の設定 — Changelog 自動化は GitHub Actions が CHANGELOG.md にコミットするため、ブランチ保護ルールの調整が必要
追加のリポジトリシークレットは不要です。含まれているワークフローは GitHub の組み込み GITHUB_TOKEN を使用します。

現在の開発状況

  • GitHubリポジトリ: laravel/package-skeleton
  • 公開時期: 2026年7月(活発に開発中)
  • 注意: 開発初期段階のため、API や構成は変更される可能性があります
これからLaravelパッケージを作り始める人は、自己流のスケルトンを1から組み立てるよりもこのテンプレートから始めるのが良いでしょう。Laravel チームが長年のパッケージ開発で得たベストプラクティスが詰まっています。

laravel/package-skeleton リポジトリ

ソースコードと最新情報はこちら。

パッケージ開発 公式ドキュメント

Laravelパッケージ開発の基礎については公式ドキュメントを参照してください。
最終更新日 2026年7月8日