Skip to main content
Dit artikel is gebaseerd op onderzoek van de broncode. De repository is per juli 2026 nog in ontwikkeling.

Wat is Laravel Package Skeleton

Laravel Package Skeleton is een startertemplate voor het bouwen van Laravel-packages.
Wanneer je composer install uitvoert, start automatisch een interactief configuratiescript (configure.php) dat je vraag voor vraag door de instellingen leidt: packagenaam, vendornaam, namespace en de features die je wilt gebruiken. Daarna kun je meteen beginnen met ontwikkelen.

Waarom je deze skeleton nodig hebt

Als je een Laravel-package “op eigen houtje” begint te bouwen, besteed je veel tijd aan zaken die niets met de eigenlijke packagelogica te maken hebben: het opzetten van een testomgeving, statische analyse, codeformattering en GitHub Actions-configuratie. Laravel Package Skeleton bundelt de best practices die het Laravel-team in echte packageontwikkeling gebruikt in één template. Met deze template sla je de “omgevingsopbouw” over en kun je direct beginnen met het implementeren van je packagelogica.

Meegeleverde tools

Configureerbare packagefeatures

Via de prompts tijdens composer install kies je alleen de features die je nodig hebt. Scaffolding voor niet-geselecteerde features wordt verwijderd.

Configureerbare tools

Net als bij de features kun je tools per project aan- of uitzetten.

De setup stap voor stap

1

Maak een repository aan vanuit de template

Klik op de knop Use this template op GitHub om een nieuwe repository te maken, of kloon direct.
2

Installeer de dependencies

Wanneer je composer install uitvoert, start configure.php automatisch.
Wil je het script handmatig uitvoeren, gebruik dan de optie --no-scripts.
3

Beantwoord de prompts

Je stelt de volgende onderdelen vraag voor vraag in.
  • Author Name / Email
  • Vendornaam (bijv. kawax)
  • Packagenaam (bijv. my-package)
  • Packagebeschrijving
  • Klassenaam (bijv. MyPackage)
  • Multiselect van de features die je wilt gebruiken
  • Multiselect van de tools die je wilt gebruiken
  • Automatisch aanmaken van de GitHub-repository (als de gh CLI is geauthenticeerd)
4

Controleer of alles werkt

Voert alle checks uit in de volgorde PHPStan → Pint → type coverage → Pest.
5

End-to-end testen met Workbench

Op http://localhost:8000 start een eenvoudige Laravel-app om je package te testen.

Niet-interactieve modus

Voor setup vanuit CI of scripts gebruik je de flag --no-interaction.
Als je featureflags opgeeft, worden alleen die features opgenomen. Laat je de flags weg, dan worden alle features opgenomen.

GitHub Actions CI

De meegeleverde tests.yml is een matrixbuild die tests uitvoert op combinaties van meerdere PHP-versies, Laravel-versies en besturingssystemen.
Wat elke job uitvoert:
  1. PHPStan (composer analyse) — statische analyse
  2. Pint (composer lint:check) — stijlcontrole
  3. Type coverage (composer test:types) — controle op 100% type coverage (alleen Ubuntu)
  4. Pest (composer test:unit) — unittests (alleen Ubuntu)

Changelog-automatisering

update-changelog.yml werkt CHANGELOG.md automatisch bij, getriggerd door een GitHub Release. release.yml genereert releasenotes door wijzigingen te categoriseren op PR-label. Labels voor releasenotes:

Wat configure.php doet

configure.php is een bootstrap die als configuratiescript slechts één keer wordt uitgevoerd. Na uitvoering wordt het verwijderd.

GitHub-instellingen na installatie

Aanbevolen instellingen na installatie, zoals beschreven in de README:
  • Beoordeel Dependabot-PR’s handmatig — er is geen auto-merge-workflow inbegrepen
  • Maak de labels voor releasenotes aanbreaking, enhancement, bug, documentation, dependencies, maintenance, skip-changelog, duplicate
  • Stel branchbescherming voor main in — de changelog-automatisering laat GitHub Actions committen naar CHANGELOG.md, dus je moet de branchbeschermingsregels hierop aanpassen
Extra repository-secrets zijn niet nodig. De meegeleverde workflows gebruiken de ingebouwde GITHUB_TOKEN van GitHub.

Huidige ontwikkelstatus

  • GitHub-repository: laravel/package-skeleton
  • Publicatie: juli 2026 (actief in ontwikkeling)
  • Let op: omdat het project zich in een vroeg ontwikkelstadium bevindt, kunnen de API en structuur nog veranderen
Als je van plan bent een Laravel-package te bouwen, kun je beter met deze template beginnen dan zelf een skeleton vanaf nul in elkaar te zetten. Hij zit boordevol best practices die het Laravel-team in jarenlange packageontwikkeling heeft opgedaan.

laravel/package-skeleton repository

Hier vind je de broncode en de laatste informatie.

Officiële documentatie voor packageontwikkeling

Raadpleeg de officiële documentatie voor de basis van Laravel-packageontwikkeling.
Laatst gewijzigd op 6 september 2026