What Is Fresh?
Fresh is an opinionated Laravel package skeleton created by Mazen Touati. Scaffold it with a single Composer command and you get a fully wired package environment — tests, static analysis, CI pipelines, a workbench app, and optional AI agent skill stubs — ready to go before you write a single line of business logic. It supports both backend-only and full-stack packages.
Getting Started
Create a new package with:
composer create-project sunchayn/fresh-package my-package
cd my-package
An interactive wizard runs on composer install and collects your package details and the features you want to enable. Every prompt is also available as a CLI flag, so you can drive the setup non-interactively from a script or 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
What Gets Scaffolded
Testing and Code Quality
- PHPUnit with Paratest for parallel test runs
- Larastan for static analysis
- Rector and Pint for automated code style and refactoring fixes
Workbench App
Fresh includes an Orchestra Testbench workbench/ application. Run composer serve to boot your package inside a real Laravel app without needing a separate host project — ideal for manual testing and UI verification.
Laravel Version Switcher
Two convenience scripts let you flip between supported Laravel majors locally:
composer switch:l12
composer switch:l13
GitHub Actions CI
The bundled workflow matrix covers:
- PHP 8.3 through 8.5 × Laravel 12 and 13
- Codecov coverage reporting
- Static analysis, Pint, and Rector auto-fix jobs
- Automated releases via release-please
Full-Stack Frontend (Optional)
If you need a frontend, Fresh wires up Vue 3, Tailwind v4, Vite, and TypeScript, complete with ESLint, Prettier, Vitest, and a type-check workflow.
Repository Hygiene
Dependabot configuration, an issue template, a funding file, and a security policy are all included out of the box.
Domain-Driven Directory Layout
Fresh organises source code by domain rather than by technical type:
src/
Http/Greeting/
Controllers/GreetingController.php
Requests/GreetingRequest.php
Resources/GreetingResource.php
Modules/Greeting/
Actions/BuildGreetingAction.php
DataTransferObjects/GreetingData.php
Enums/GreetingTone.php
Laravel Boost and AI Skills
Fresh ships with AI guidelines and skills for the package repo itself. The bundled scaffold-module skill enforces the domain layout when an AI agent adds a feature, while create-dto-action, write-php-test, and task-finalization skills cover the rest of a typical change.
An optional Laravel Boost skill stub adds a resources/boost/skills/ directory. Apps that install your package will automatically receive package-specific guidelines and skills inside Laravel Boost.
Key Takeaways
- Scaffold a production-ready Laravel package in one command
- Parallel PHPUnit, Larastan, Rector, and Pint configured from day one
- Orchestra Testbench workbench lets you run the package without a host app
- GitHub Actions matrix covers PHP 8.3–8.5 and Laravel 12–13
- Optional Vue 3 + Tailwind v4 + TypeScript frontend stack included
- AI skill stubs for both the package repo and consuming apps via Laravel Boost
- Every wizard prompt has a
--flagfor fully automated, non-interactive setup
Source: Laravel News — Fresh Package: Laravel Package Skeleton with Testbench, CI, and Boost Integration