Fresh is a Laravel package skeleton by Mazen Touati. It provides an opinionated package skeleton the provides a package with tests, static analysis, CI, a workbench app, and a Laravel Boost skill template for AI agents. It supports both backend-only and full-stack packages.
Here's what your generated package includes using this skeleton:
- PHPUnit, Larastan, Rector, and Pint, with Paratest for parallel runs
- A
workbench/app from Orchestra Testbench, so you can boot the package withcomposer serveand click through it without a host application - A Laravel version switcher,
composer switch:l12andcomposer switch:l13, for checking both supported majors locally - GitHub Actions for a PHP 8.3 to 8.5 by Laravel 12 and 13 test matrix, Codecov, static analysis, Pint and Rector auto-fixes, and release-please auto-releases
- Vue 3, Tailwind v4, Vite, and TypeScript frontend, with its own ESLint, Prettier, Vitest, and type-check workflows
- Repository settings: Dependabot, an issue template, a funding file, and a security policy
- AI guidelines and skills for the package repo itself, plus an optional Laravel Boost skill stub for the apps that install it
Scaffolding a Package
When using this package skeleton to create your package, the wizard runs on composer install:
composer create-project sunchayn/fresh-package my-packagecd my-package
The installation prompts collects package details and which features you want to use. Every prompt has a flag, so you can skip the wizard in a script or a CI job:
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
Directory Layout
The Fresh skeleton groups code by domain rather than by type:
src/ Http/Greeting/ Controllers/GreetingController.php Requests/GreetingRequest.php Resources/GreetingResource.php Modules/Greeting/ Actions/BuildGreetingAction.php DataTransferObjects/GreetingData.php Enums/GreetingTone.php
If you keep the AI support option, the bundled scaffold-module skill enforces the same layout when an agent adds a feature, and create-dto-action, write-php-test, and task-finalization skills cover the rest of a change.
Fresh includes a separate Boost skill option that adds a resources/boost/skills/ stub. Apps that install your package will get package guidelines and skills in Laravel Boost.
Learn More
If you are new to package development, the guide to building your own Laravel packages explains how to build a Laravel package from scratch.
You can learn more about the Fresh Package skeleton for Laravel on GitHub.