notiziephp.it

Fresh Package: skeleton per pacchetti Laravel con Testbench, CI e integrazione Boost

Traduzione da Laravel News
18 Settembre 2026 Tempo di lettura: 3 minuti
Fresh Package: skeleton per pacchetti Laravel con Testbench, CI e integrazione Boost

Fresh è uno skeleton per pacchetti Laravel creato da Mazen Touati. Offre uno skeleton per pacchetti opinionated che fornisce un pacchetto con test, analisi statica, CI, un'app workbench e un template di skill Laravel Boost per gli agenti AI. Supporta sia pacchetti solo backend sia pacchetti full-stack.

Ecco cosa include il pacchetto generato con questo skeleton:

  • PHPUnit, Larastan, Rector e Pint, con Paratest per le esecuzioni in parallelo
  • Un'app workbench/ basata su Orchestra Testbench, così puoi avviare il pacchetto con composer serve e navigarlo senza un'applicazione host
  • Uno switcher di versione di Laravel, composer switch:l12 e composer switch:l13, per verificare localmente entrambe le major supportate
  • GitHub Actions per una matrice di test da PHP 8.3 a 8.5 su Laravel 12 e 13, Codecov, analisi statica, auto-fix di Pint e Rector e auto-release con release-please
  • Frontend in Vue 3, Tailwind v4, Vite e TypeScript, con workflow dedicati per ESLint, Prettier, Vitest e type-check
  • Impostazioni del repository: Dependabot, un template per le issue, un file di funding e una security policy
  • Linee guida e skill AI per il repository del pacchetto stesso, più uno stub opzionale di skill Laravel Boost per le app che lo installano

Creare lo scaffolding di un pacchetto

Quando usi questo skeleton per creare il tuo pacchetto, il wizard si avvia durante composer install:

composer create-project sunchayn/fresh-package my-package
cd my-package

I prompt di installazione raccolgono i dettagli del pacchetto e le funzionalità che vuoi utilizzare. Ogni prompt ha un flag, quindi puoi saltare il wizard in uno script o in un job di CI:

php .template/init template:init --no-interaction \
--package-name=acme/webhooks \
--vendor-namespace=Acme \
--class-name=Webhooks \
--config --routes --migrations --commands \
--no-blade --no-translations --no-facade --no-assets \
--no-vue --no-funding

Struttura delle directory

Lo skeleton Fresh raggruppa il codice per dominio anziché per tipo:

src/
Http/Greeting/
Controllers/GreetingController.php
Requests/GreetingRequest.php
Resources/GreetingResource.php
Modules/Greeting/
Actions/BuildGreetingAction.php
DataTransferObjects/GreetingData.php
Enums/GreetingTone.php

Se mantieni l'opzione di supporto AI, la skill scaffold-module inclusa impone la stessa struttura quando un agente aggiunge una funzionalità, mentre le skill create-dto-action, write-php-test e task-finalization coprono il resto di una modifica.

Fresh include un'opzione separata per le skill Boost che aggiunge uno stub in resources/boost/skills/. Le app che installano il tuo pacchetto otterranno linee guida e skill del pacchetto in Laravel Boost.

Per saperne di più

Se sei nuovo allo sviluppo di pacchetti, la guida alla creazione dei tuoi pacchetti Laravel spiega come costruire un pacchetto Laravel da zero.

Puoi saperne di più sullo skeleton Fresh Package per Laravel su GitHub.

Condividi su: LinkedIn

Altri articoli recenti