nickdekruijk / leap-template
Frontend website template scaffolding for nickdekruijk/leap: the leap:template and leap:content commands. Install with composer require --dev.
Requires
- php: ^8.3
- laravel/framework: ^12.0|^13.0
- nickdekruijk/leap: ^0.10.15
Requires (Dev)
- laravel/pint: ^1.18
- orchestra/testbench: ^10.0|^11.0
- phpunit/phpunit: ^11.0|^12.0
Suggests
- nickdekruijk/horizontal-scroller: Horizontal-scroll sections used by the frontend template
- nickdekruijk/imageresize: Responsive asset_resized() images used by the frontend template
- nickdekruijk/minify: ^4.0 for SCSS/JS compilation and bundling used by the frontend template (php artisan leap:template)
- nickdekruijk/settings: Admin-editable settings and footer used by the frontend template (php artisan leap:template)
- nickdekruijk/vanilla-slider: Carousel/slider used by the frontend template
README
Frontend website template scaffolding for nickdekruijk/leap:
the leap:template and leap:content commands, plus the stubs they copy into your
project. It is dev-only tooling — install it with --dev so it (and its commands)
are absent from production entirely.
Installation
Leap itself is a runtime dependency (the admin panel runs in production); only the scaffolding is dev-only. So install two packages, like Laravel's own framework + Pint:
composer require nickdekruijk/leap # admin panel — production (non-dev) composer require --dev nickdekruijk/leap-template # scaffolding — dev only
Why
nickdekruijk/leapmust be a normal (non-dev) require: this package depends on leap, but if you onlyrequire --dev leap-template, leap comes in as a dev-transitive dependency andcomposer install --no-devon production removes it — taking the admin panel with it. leap has to be a direct non-dev requirement of your app.
On production (composer install --no-dev) leap-template is not installed, so
leap:template/leap:content don't exist there — zero footprint.
Live demo
leap.nickdekruijk.nl is a stock leap:template install —
that site is what these stubs produce. Log in on
/admin with info@example.com / leapdemo and
change anything; the site resets to its seeded state 15 minutes after the last change.
Commands
php artisan leap:template # scaffold the frontend website (interactive) php artisan leap:template --fresh # complete, unattended install (implies --force) php artisan leap:content News # generate a listed content type
Both refuse to run on APP_ENV=production without --force (like Laravel's migrate).
Documentation
The template and content types are documented in the leap repo:
Versioning
Tracks leap's major/minor line — this package requires nickdekruijk/leap: ^0.10, so a
breaking leap release (0.11) is paired with a new leap-template release. Patch versions
are independent.
License
MIT.