hardimpactdev/liftoff-laravel

This is my package laravel

dev-main 2025-07-17 08:13 UTC

This package is not auto-updated.

Last update: 2025-07-17 21:03:38 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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

  1. Middleware Replacement: The HandleInertiaRequests middleware will be replaced if it already exists in your application.

  2. Route Attributes: All controllers use route attributes from the waymaker package, eliminating the need for manual route definitions.

  3. App Class: The App class provides a centralized location for application configuration, including login redirect routes.

  4. File Merging: When copying directories, existing files are preserved unless they have the same name as files being copied.

  5. 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.