Skip to main content
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.
Eseguendo 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

Funzionalità di pacchetto configurabili

Nel prompt durante composer install puoi selezionare solo le funzionalità che ti servono. Gli scaffold relativi alle funzionalità non selezionate vengono rimossi.

Strumenti configurabili

Come per le funzionalità, in base al progetto puoi anche attivare/disattivare gli strumenti.

Flusso di setup

1

Crea un repository dal template

Premi il pulsante Use this template su GitHub per creare un nuovo repository, oppure clona direttamente.
2

Installa le dipendenze

Eseguendo composer install parte automaticamente configure.php.
Se vuoi eseguire manualmente lo script, usa l’opzione --no-scripts.
3

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 gh CLI è autenticato)
4

Verifica il funzionamento

Esegue tutti i controlli in ordine: PHPStan → Pint → coverage dei tipi → Pest.
5

Test end-to-end con Workbench

Su http://localhost:8000 si avvia una piccola app Laravel per la verifica del pacchetto.

Modalità non interattiva

Per il setup da CI o da script usa il flag --no-interaction.
Specificando i flag di funzionalità, vengono incluse solo quelle indicate. Se li ometti, vengono incluse tutte le funzionalità.

CI GitHub Actions

Il tests.yml incluso nello skeleton è una matrix build che esegue i test su più combinazioni di versione PHP, versione Laravel e OS.
Contenuto eseguito in ciascun job:
  1. PHPStan (composer analyse) — analisi statica
  2. Pint (composer lint:check) — check di stile
  3. Type coverage (composer test:types) — verifica del 100% di copertura dei tipi (solo Ubuntu)
  4. 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:

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 notebreaking, enhancement, bug, documentation, dependencies, maintenance, skip-changelog, duplicate
  • Protezione del branch main — poiché l’automazione del Changelog fa commit di CHANGELOG.md tramite GitHub Actions, occorre regolare le regole di protezione del branch
Non servono secret aggiuntivi al repository. I workflow inclusi usano il 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
Se stai per iniziare a sviluppare un pacchetto Laravel, meglio partire da questo template piuttosto che costruire da zero uno skeleton personale. Contiene le best practice raccolte dal team di Laravel in anni di sviluppo di pacchetti.

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.
Ultima modifica il 13 luglio 2026