Search by

igne-agency / laravel-boot-up

Rick Blanksma

Boot a Laravel project on any machine with one command: php artisan app:up installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets and serves via Herd, Sail or artisan serve, then runs Laravel's own dev terminal and cleanly stops

Package info

github.com/IGNE-Agency/laravel-boot-up-package

pkg:composer/igne-agency/laravel-boot-up

Statistics

Installs: 168

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v3.0.0 2026-08-28 22:32 UTC

README

A development-only Laravel package that sets a project up on any machine — even a blank one — with one command, runs it with Laravel's own php artisan dev, and cleanly shuts it down again when you quit.

Requires PHP 8.3+, Laravel 13, macOS or Linux (native Windows fails fast with a clear message — use WSL2). Development only.

Installation

composer require igne-agency/laravel-boot-up --dev

The package auto-registers via Laravel's package discovery. Always use --dev; this package has no business in production.

Quickstart

composer install
php artisan app:up   # once, after a clone — and it keeps going into dev
php artisan dev      # every day

app:up installs the tools you're missing, creates your .env, sets up the database, installs dependencies, runs migrations, builds assets, and serves the app via Herd, Sail, or php artisan serve. Then it runs php artisan dev for you, opens the app in your browser once it can actually render it, and when you quit that terminal it stops everything it started — the whole session in one command.

dev is Laravel's own dev command: each process gets its own searchable tab, and boot-up only decides which processes this project needs. It starts in milliseconds, and says to run app:up if the project is not ready. Run on its own it leaves the server up when you quit; app:down stops everything boot-up started — and nothing it didn't.

Your own processes join dev exactly as they would in any Laravel application:

use Illuminate\Foundation\DevCommands;

DevCommands::register('stripe listen --forward-to '.config('app.url'))->orange();

boot-up only decides which of the built-in processes your project actually needs — no queue worker on a sync connection, no log tail without Pail, no vite without a dev script, and every command rewritten to run inside Sail's containers when that is where the project lives. See Dev processes.

Commands

Command What it does
app:up Set up the application, run it, and stop it again when you quit.
dev Run the dev processes this project needs.
app:down Stop tracked processes and the server app:up started.
app:status Show the active server and tracked processes.
app:deploy Install, run project commands and migrate — without booting a server.
generate:deploy-script Export a paste-ready deployment script (Forge, fortrabbit).
generate:pipeline Generate a CI/CD pipeline (GitHub, Bitbucket) plus shared scripts.
generate:git-hooks Install a tracked pre-commit hook running the pipeline's Pint check.

Every flag is documented in docs/COMMANDS.md — and php artisan list / php artisan app:up --help are always authoritative.

Documentation

Testing

composer test          # Pest suite (unit + feature + architecture tests)
composer analyse       # PHPStan, level 6, no baseline
vendor/bin/pint        # code style

The pre-commit hook runs Pint on staged files and PHPStan across the package. Analysis covers src/ and config/; tests are left out because Pest binds $this inside test closures at runtime, which static analysis reads as Pest's own TestCall and reports by the thousand.

License