hardimpactdev / liftoff-laravel
This is my package laravel
Fund package maintenance!
Liftoff
Requires
- php: ^8.4
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
This package is not auto-updated.
Last update: 2025-07-17 17:46:27 UTC
README
The Liftoff Laravel package provides scaffolding commands and utilities for rapidly setting up Laravel applications with Vue.js, Inertia.js, and optional Filament CMS integration. It includes pre-built authentication, dashboard, settings, and CMS functionality.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Requirements
- PHP 8.1 or higher
- Laravel 10.x or 11.x
- Node.js and npm/bun for frontend assets
Installation
You can install the package via composer:
composer require hardimpactdev/liftoff-laravel
Scaffolders
The package provides powerful scaffolding commands to quickly set up different aspects of your application. All scaffolders automatically generate routes using the waymaker package.
Available Scaffolders
1. App Scaffolder (Full Application Setup)
The most comprehensive scaffolder that sets up a complete application with authentication and CMS functionality.
php artisan liftoff:setup app
This scaffolder includes:
- ✅ App class with redirect configuration
- ✅ Dashboard controller and views
- ✅ Settings pages (profile, password, appearance)
- ✅ HandleInertiaRequests middleware
- ✅ TypeScript type definitions
- ✅ Feature tests
- ✅ Full authentication system (runs Auth scaffolder)
- ✅ Filament CMS integration (runs CMS scaffolder)
- ✅ Automatic route generation
2. Auth Scaffolder
Sets up a complete authentication system with login, registration, password reset, and email verification.
php artisan liftoff:setup auth
This scaffolder includes:
- ✅ Authentication controllers with route attributes
- ✅ Login request validation
- ✅ Vue.js authentication pages
- ✅ Authentication tests
- ✅ User migration publishing
Note: The auth scaffolder requires the App class to be present. If running standalone, ensure you have an App class or run the app scaffolder instead.
3. CMS Scaffolder
Sets up Filament CMS with user management and authentication.
php artisan liftoff:setup cms
This scaffolder includes:
- ✅ App class with redirect configuration
- ✅ Full authentication system (runs Auth scaffolder)
- ✅ Filament package installation
- ✅ User resource for managing users
- ✅ Admin panel configuration
- ✅ Filament CSS build process
- ✅ Automatic route generation
Route Generation
All scaffolders use the waymaker package to automatically generate routes from controller attributes. Routes are generated at the end of each scaffolding process, eliminating the need to manually run php artisan waymaker:generate
.
Files and Directories Created
App Scaffolder creates:
app/
├── App.php
├── Http/
│ ├── Controllers/
│ │ ├── DashboardController.php
│ │ └── Settings/
│ │ ├── AppearanceController.php
│ │ ├── PasswordController.php
│ │ └── ProfileController.php
│ ├── Middleware/
│ │ └── HandleInertiaRequests.php
│ └── Requests/
│ └── Settings/
│ └── ProfileUpdateRequest.php
resources/js/
├── pages/
│ ├── Dashboard.vue
│ └── settings/
│ ├── Appearance.vue
│ ├── Password.vue
│ └── Profile.vue
└── types/
└── index.d.ts
tests/Feature/
├── DashboardTest.php
└── Settings/
├── PasswordUpdateTest.php
└── ProfileUpdateTest.php
Auth Scaffolder creates:
app/Http/
├── Controllers/Auth/
│ ├── ConfirmablePasswordController.php
│ ├── EmailVerificationNotificationController.php
│ ├── EmailVerificationPromptController.php
│ ├── ForgotPasswordController.php
│ ├── LoginController.php
│ ├── NewPasswordController.php
│ ├── RegisterController.php
│ └── VerifyEmailController.php
└── Requests/Auth/
└── LoginRequest.php
resources/js/
├── layouts/auth/
│ └── AuthLayout.vue
└── pages/auth/
├── ConfirmPassword.vue
├── ForgotPassword.vue
├── Login.vue
├── Register.vue
├── ResetPassword.vue
└── VerifyEmail.vue
tests/Feature/Auth/
├── AuthenticationTest.php
├── EmailVerificationTest.php
├── PasswordConfirmationTest.php
├── PasswordResetTest.php
└── RegistrationTest.php
Usage Examples
Quick Start - Full Application
# Install the package composer require hardimpactdev/liftoff-laravel # Run the app scaffolder for a complete setup php artisan liftoff:setup app # Install frontend dependencies npm install # or bun install # Run migrations php artisan migrate # Start development server npm run dev # or bun dev
Authentication Only
# Run just the auth scaffolder php artisan liftoff:setup auth # Note: Requires App class to be present
CMS with Authentication
# Run the CMS scaffolder (includes auth) php artisan liftoff:setup cms # Create a Filament user php artisan make:filament-user
Important Notes
-
Middleware Replacement: The HandleInertiaRequests middleware will be replaced if it already exists in your application.
-
Route Attributes: All controllers use route attributes from the waymaker package, eliminating the need for manual route definitions.
-
App Class: The App class provides a centralized location for application configuration, including login redirect routes.
-
File Merging: When copying directories, existing files are preserved unless they have the same name as files being copied.
-
Dependencies: Make sure to install the waymaker package if not already installed:
composer require nckrtl/waymaker
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.