Questo articolo si basa su un’indagine del codice sorgente. Al momento (luglio 2026) il repository è in fase di sviluppo.
Cos’è Laravel Package Skeleton
Laravel Package Skeleton è un template starter per creare pacchetti Laravel.composer install parte automaticamente uno script di configurazione interattivo (configure.php), che imposta con un’unica sessione a domande e risposte nome pacchetto, vendor, namespace e funzionalità da usare. Dopo la configurazione sei pronto per iniziare a sviluppare immediatamente.
Perché serve questo skeleton
Se inizi a costruire un pacchetto Laravel “a modo tuo”, perdi molto tempo in attività non correlate alla logica vera e propria del pacchetto: setup dell’ambiente di test, analisi statica, formattazione del codice, configurazione di GitHub Actions. Laravel Package Skeleton raccoglie in un unico template le best practice usate dal team di Laravel nello sviluppo reale dei pacchetti. Usando il template puoi saltare la “costruzione dell’ambiente” e iniziare subito dall’implementazione della logica.Strumenti inclusi
| Strumento | Ruolo |
|---|---|
| Pest | Framework di test |
| Larastan | Analisi statica per Laravel |
| Pint | Formatter di codice |
| Orchestra Testbench | Ambiente di test per pacchetti |
| Workbench | App per lo sviluppo end-to-end |
Funzionalità di pacchetto configurabili
Nel prompt durantecomposer install puoi selezionare solo le funzionalità che ti servono. Gli scaffold relativi alle funzionalità non selezionate vengono rimossi.
| Funzionalità | Descrizione |
|---|---|
| Config file | Aggiunge un file di configurazione in config/ |
| Routes | Aggiunge un file di rotte |
| Views | Aggiunge view Blade |
| Translations | Aggiunge file di lingua |
| Migrations | Aggiunge file di migration |
| Assets | Aggiunge asset pubblici |
| Commands | Aggiunge comandi Artisan |
| Facade | Aggiunge una classe facade |
| Boost Skill | Aggiunge skill per agenti AI |
Strumenti configurabili
Come per le funzionalità, in base al progetto puoi anche attivare/disattivare gli strumenti.| Strumento | Descrizione |
|---|---|
| Dependabot | PR di aggiornamento automatico delle dipendenze |
| Issue Template | Template per le issue di GitHub |
| Changelog | Aggiornamento automatico di CHANGELOG.md alla release |
| Funding | Link ai GitHub Sponsors |
| Security Policy | Policy di segnalazione vulnerabilità di sicurezza |
Flusso di setup
Crea un repository dal template
Premi il pulsante Use this template su GitHub per creare un nuovo repository, oppure clona direttamente.
Installa le dipendenze
Eseguendo Se vuoi eseguire manualmente lo script, usa l’opzione
composer install parte automaticamente configure.php.--no-scripts.Rispondi al prompt
Le voci seguenti vengono impostate a domande e risposte.
- Nome e email dell’autore
- Nome del vendor (es.
kawax) - Nome del pacchetto (es.
my-package) - Descrizione del pacchetto
- Nome della classe (es.
MyPackage) - Selezione multipla delle funzionalità
- Selezione multipla degli strumenti
- Creazione automatica del repository GitHub (se
ghCLI è autenticato)
Verifica il funzionamento
Modalità non interattiva
Per il setup da CI o da script usa il flag--no-interaction.
CI GitHub Actions
Iltests.yml incluso nello skeleton è una matrix build che esegue i test su più combinazioni di versione PHP, versione Laravel e OS.
- PHPStan (
composer analyse) — analisi statica - Pint (
composer lint:check) — check di stile - Type coverage (
composer test:types) — verifica del 100% di copertura dei tipi (solo Ubuntu) - Pest (
composer test:unit) — test unitari (solo Ubuntu)
Automazione del Changelog
update-changelog.yml aggiorna automaticamente CHANGELOG.md in seguito a un release GitHub. release.yml classifica i cambiamenti per label delle PR e genera le release note.
Label delle release note:
| Label | Categoria |
|---|---|
breaking | Modifiche non retrocompatibili |
enhancement | Aggiunta di funzionalità |
bug | Bug fix |
documentation | Documentazione |
dependencies | Dipendenze |
maintenance | Manutenzione |
skip-changelog | Da escludere dal changelog |
Cosa fa configure.php
configure.php è uno script di bootstrap che si esegue una sola volta per la configurazione. Al termine viene rimosso.
Impostazioni GitHub post-installazione
Impostazioni consigliate dopo l’installazione, come descritto nel README:- Review manuale delle PR Dependabot — non è incluso alcun workflow di auto-merge
- Creazione delle label delle release note —
breaking,enhancement,bug,documentation,dependencies,maintenance,skip-changelog,duplicate - Protezione del branch
main— poiché l’automazione del Changelog fa commit diCHANGELOG.mdtramite GitHub Actions, occorre regolare le regole di protezione del branch
GITHUB_TOKEN integrato di GitHub.
Stato attuale dello sviluppo
- Repository GitHub: laravel/package-skeleton
- Data di pubblicazione: luglio 2026 (sviluppo attivo)
- Nota: essendo in fase iniziale, API e struttura possono cambiare
Repository laravel/package-skeleton
Codice sorgente e ultime novità qui.
Documentazione ufficiale sullo sviluppo di pacchetti
Per le basi dello sviluppo di pacchetti Laravel consulta la documentazione ufficiale.