loadinglucian / laravel-mise
A Laravel package that provides a curated selection of packages and configurations
Installs: 54
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/loadinglucian/laravel-mise
Requires
- php: ^8.5
- laravel/framework: ^12.0
- laravel/prompts: ^0.3
Requires (Dev)
- larastan/larastan: ^3.9
- laravel/pint: ^1.27
- orchestra/testbench: ^10.9
- pestphp/pest: ^4.1
- pestphp/pest-plugin-laravel: ^4.0
- rector/rector: ^2.3
- roave/security-advisories: dev-latest
- dev-main
- v1.0.1
- v1.0.0
- dev-chore/dependabot-remove-labels
- dev-dependabot/composer/main/php-dependencies-235c98357a
- dev-docs/update-installation-docs
- dev-feat/defer-composer-scripts
- dev-docs/add-changelog
- dev-refactor/simplify-process-service-and-tests
- dev-test/add-basecommand-output-tests
- dev-feat/add-confirmation-prompt-and-output-streaming
- dev-dependabot/npm_and_yarn/main/npm-dependencies-f9747c407a
- dev-dependabot/composer/main/php-dependencies-8c0c9928c1
- dev-fix/scope-command-options-per-package
- dev-fix/destination-flag-leaking-to-composer
- dev-fix/pest-remove-coverage-threshold
- dev-feat/add-command-options-injection
- dev-fix/rector-cicanary-skip
- dev-feat/package-dependency-checks
- dev-fix/command-signature-simplification
- dev-feat/deployer-php-scaffold-commands
- dev-feat/env-session-configuration
- dev-chore/update-payload-files
- dev-dependabot/composer/main/php-dependencies-9fa66cb0ee
- dev-dependabot/npm_and_yarn/main/npm-dependencies-d0679de4c8
This package is auto-updated.
Last update: 2026-01-20 15:09:39 UTC
README
- Introduction
- Requirements
- Installation
- Quickstart
- What Gets Installed
- Command Options
- Additional Features
- Post-Installation
- License
Introduction
In professional kitchens, chefs practice "mise en place" — a French phrase meaning "everything in its place." Before cooking begins, every ingredient is prepped, every tool is positioned, and the workspace is ready. This preparation transforms chaos into flow, allowing chefs to focus on creating rather than searching.
Laravel Mise brings this philosophy to your development environment. Instead of spending your first hour on a new project installing packages, configuring linters, and setting up GitHub workflows, you'll run a single command and get straight to building. The package installs a curated selection of modern development tools — Livewire, PHPStan, Pint, Pest, Prettier, and more — all pre-configured with sensible defaults.
Requirements
- PHP ^8.5
- Laravel ^12.40
Don't worry — if you're running a recent Laravel installation, you'll already meet these requirements.
Installation
You may install the package via Composer:
composer require --dev loadinglucian/laravel-mise
Note
The package automatically registers itself via Laravel's package discovery. You don't need to add anything to your config/app.php.
Install Everything
To install all packages and copy all configuration files, run the mise command:
php artisan mise
The command installs Composer and NPM packages, copies configuration files to your project, and automatically configures your composer.json with useful scripts and settings.
Quickstart
To see Laravel Mise in action, let's walk through a typical installation. By following this example, you'll understand what happens when you run the command and what your project looks like afterward.
Start with a fresh Laravel project and run the mise command:
laravel new my-project
cd my-project
composer require --dev loadinglucian/laravel-mise
php artisan mise
The command will:
- Install Composer packages (Livewire, PHPStan, Pest, etc.)
- Update your
composer.jsonwith scripts likepint,pstan, andpest - Detect your package manager (npm, yarn, pnpm, or bun) and install frontend dependencies
- Copy configuration files for all your new tools
- Run Pint, Rector, and PHPStan to ensure everything passes from the start
Once complete, you can immediately run code quality checks:
composer pall # Run all checks: pint → rector → phpstan → pest composer pint # Fix code style issues composer pstan # Run static analysis composer pest # Run your test suite
What Gets Installed
Composer Packages
Production Dependencies:
These packages enhance your application's capabilities:
livewire/livewire- Build dynamic interfaces without leaving PHPlivewire/flux- Modern UI components designed for Livewire applicationsspatie/laravel-data- Create powerful data objects with validation and transformation
Development Dependencies:
These tools help you write better code and catch issues early:
barryvdh/laravel-debugbar- Debug your application with an in-browser toolbarbarryvdh/laravel-ide-helper- Get proper IDE autocompletion for Laravel's magicbeyondcode/laravel-query-detector- Catch N+1 query problems before they hit productionrector/rector- Automatically upgrade and refactor your codebaselaravel/pint- Keep your code style consistent with zero configurationlarastan/larastan- Find bugs through static analysis at PHPStan's maximum levelpestphp/pest- Write expressive tests with a delightful syntaxpestphp/pest-plugin-arch- Enforce architectural rules in your test suiteroave/security-advisories- Block installation of packages with known vulnerabilities
Node Packages
Dependencies:
tailwindcss- Build custom designs without writing custom CSS@tailwindcss/vite- Integrate Tailwind seamlessly with Vite
Development Dependencies:
prettier- Format your code consistently across the teamprettier-plugin-blade- Format Blade templates alongside your other filesprettier-plugin-tailwindcss- Automatically sort Tailwind classes
Configuration Files
The package copies pre-configured files to your project, organized by purpose:
Code Quality:
phpstan.neon- PHPStan configuration at maximum strictnesspint.json- Laravel Pint with the Laravel presetrector.php- Rector rules for automated refactoring.prettierrc- Prettier configuration for frontend files
Testing:
phpunit.xml- PHPUnit configurationtests/Pest.php- Pest configurationtests/FeatureTestCase.php- Base test case for feature teststests/CICanary.php- CI health check testtests/Arch/ArchTest.php- Architecture teststests/Feature/ArchTest.php- Feature architecture tests
Application Scaffolding:
app/Contracts/RepositoryInterface.php- Repository pattern interfaceapp/Repositories/BaseRepository.php- Base repository implementation
Development:
.editorconfig- Consistent formatting across editors (indentation, line endings).cursorignore- Cursor IDE ignore patternsscripts/get-changed-php-files.sh- Git helper for changed file detection
GitHub Integration:
.github/workflows/pest.yml- Automated testing workflow.github/workflows/phpstan.yml- Static analysis workflow.github/workflows/pint.yml- Code style checking workflow.github/workflows/rector.yml- Automated refactoring workflow.github/workflows/ci-canary.yml- CI health check workflow.github/workflows/dependabot-automerge.yml- Auto-merge Dependabot PRs.github/dependabot.yml- Dependabot configuration.github/rulesets/protect_main.json- Branch protection ruleset.github/actions/setup-bun/action.yml- Reusable Bun setup action.github/actions/setup-php-composer/action.yml- Reusable PHP/Composer setup action
Environment:
.env*files - Updates session configuration for security and scalability
Command Options
| Option | Description |
|---|---|
--yes, -y |
Skip all confirmation prompts |
Additional Features
Session Configuration
Laravel defaults to storing sessions in the database, which requires a migration and adds database overhead for every request. Laravel Mise updates your environment files to use encrypted cookie sessions instead:
SESSION_DRIVER=cookie— Stores session data in encrypted cookies (no database queries)SESSION_ENCRYPT=true— Encrypts session data for security
This change applies to all .env* files in your project (.env, .env.example, .env.testing, etc.) to keep them consistent.
Database Migration Alias
Maybe it's muscle memory from Rails days, but many developers instinctively type db:migrate and then stare blankly at Laravel's Command "db:migrate" is not defined error. It makes sense that migrations should live in the db:* namespace.
This package adds that missing command. It forwards everything to Laravel's standard migrate command:
# Run database migrations (equivalent to 'php artisan migrate') php artisan db:migrate # Pass any migrate options (e.g., --force, --seed, --step, etc.) php artisan db:migrate --force --seed
Automatic Composer.json Configuration
When installing Composer packages, the command automatically configures your composer.json with settings that would otherwise require manual setup:
- Scripts: Adds
pint,pstan,rect,pest, andpallcommands - Repositories: Configures any required package repositories
- Configuration: Updates config and extra sections as needed
This means you can run composer pall immediately after installation — no manual configuration required.
Post-Installation
Automatic Code Quality Checks
The package runs code quality tools automatically after installation:
- Laravel Pint fixes code style issues throughout your project
- Rector applies automated refactoring rules
- PHPStan runs static analysis to identify potential issues
These checks ensure your codebase follows best practices from the very first commit.
Additional Setup
Some packages require a few manual steps to complete their setup.
Livewire Flux:
The Flux configuration is published automatically during installation. However, you'll need to complete the setup manually:
Note
For complete Flux setup including asset publishing and layout configuration, follow the official Flux installation guide. You'll need to add the @fluxAppearance and @fluxScripts directives to your layout file.
License
Laravel Mise is open-source software distributed under the MIT License.
You can use it freely for personal or commercial projects, without any restrictions.