Cet article s’appuie sur une exploration du code source. Il s’agit d’un dépôt en cours de développement à la date de juillet 2026.
Qu’est-ce que Laravel Package Skeleton ?
Laravel Package Skeleton est un template de démarrage pour créer un package Laravel.composer install lance automatiquement un script de configuration interactif (configure.php) qui vous demande, question par question, le nom du package, du vendor, du namespace et les fonctionnalités à activer. À l’issue de cette étape, vous êtes prêt à développer immédiatement.
Pourquoi ce squelette est utile
Commencer un package Laravel « à sa manière » demande beaucoup de temps sur la mise en place de l’environnement de test, l’analyse statique, le formatage du code et GitHub Actions — autant de tâches qui n’ont rien à voir avec la logique du package. Laravel Package Skeleton rassemble en un seul template les bonnes pratiques utilisées par l’équipe Laravel elle-même. En partant de ce template, vous sautez la phase de « mise en place » et vous démarrez directement l’implémentation.Outils inclus
| Outil | Rôle |
|---|---|
| Pest | Framework de test |
| Larastan | Analyse statique pour Laravel |
| Pint | Formateur de code |
| Orchestra Testbench | Environnement de test pour packages |
| Workbench | Application de développement end-to-end |
Fonctionnalités de package configurables
Lors du prompt decomposer install, vous choisissez uniquement les fonctionnalités souhaitées. Les scaffolds correspondants aux options non sélectionnées sont supprimés.
| Fonctionnalité | Description |
|---|---|
| Config file | Ajoute un fichier de configuration dans config/ |
| Routes | Ajoute un fichier de routes |
| Views | Ajoute des vues Blade |
| Translations | Ajoute des fichiers de traductions |
| Migrations | Ajoute des fichiers de migration |
| Assets | Ajoute des assets publics |
| Commands | Ajoute des commandes Artisan |
| Facade | Ajoute une classe facade |
| Boost Skill | Ajoute un skill pour agents IA |
Outils optionnels
De la même façon, vous pouvez activer ou désactiver les outils selon le projet.| Outil | Description |
|---|---|
| Dependabot | PR de mise à jour automatique des dépendances |
| Issue Template | Modèle d’issue GitHub |
| Changelog | Mise à jour automatique de CHANGELOG.md lors des releases |
| Funding | Lien de sponsors GitHub |
| Security Policy | Politique de signalement de vulnérabilité |
Étapes de mise en place
Créer le dépôt à partir du template
Cliquez sur le bouton Use this template sur GitHub ou clonez directement.
Installer les dépendances
L’exécution de Pour exécuter le script à la main, utilisez
composer install déclenche configure.php.--no-scripts.Répondre aux prompts
Vous répondez aux éléments suivants un à un :
- Nom et e-mail de l’auteur
- Nom du vendor (ex.
kawax) - Nom du package (ex.
my-package) - Description du package
- Nom de la classe (ex.
MyPackage) - Sélection multiple des fonctionnalités
- Sélection multiple des outils
- Création automatique du dépôt GitHub (si
ghest authentifié)
Mode non interactif
En CI ou depuis un script, utilisez--no-interaction.
CI GitHub Actions
Le fichiertests.yml fourni effectue une matrice de test sur plusieurs versions de PHP, Laravel et OS.
- PHPStan (
composer analyse) — analyse statique - Pint (
composer lint:check) — vérification de style - Couverture de types (
composer test:types) — vérifie 100 % de couverture (Ubuntu seulement) - Pest (
composer test:unit) — tests unitaires (Ubuntu seulement)
Automatisation du Changelog
update-changelog.yml met à jour CHANGELOG.md automatiquement lors d’une release GitHub. release.yml classe les changements selon les labels de PR pour générer les notes de release.
Labels des notes de release :
| Label | Catégorie |
|---|---|
breaking | Changement cassant |
enhancement | Ajout de fonctionnalité |
bug | Correction de bug |
documentation | Documentation |
dependencies | Dépendances |
maintenance | Maintenance |
skip-changelog | Non inclus dans l’historique |
Ce que fait configure.php
configure.php est un script de configuration bootstrap exécuté une seule fois. Il se supprime après exécution.
Configuration GitHub post-installation
Recommandations post-installation indiquées dans le README :- Revue manuelle des PR Dependabot — aucun workflow d’auto-merge inclus
- Créer les labels de notes de release —
breaking,enhancement,bug,documentation,dependencies,maintenance,skip-changelog,duplicate - Configurer la protection de la branche
main— l’automatisation du changelog effectue un commit surCHANGELOG.md, il faut ajuster la protection en conséquence
GITHUB_TOKEN intégré à GitHub.
État actuel du développement
- Dépôt GitHub : laravel/package-skeleton
- Date de publication : juillet 2026 (développement actif)
- Attention : projet en phase précoce, l’API et la structure peuvent évoluer
Dépôt laravel/package-skeleton
Retrouvez le code source et les informations à jour ici.
Documentation officielle de développement de packages
Consultez la documentation officielle pour les bases du développement de packages Laravel.