leanadmin/installer
LeanAdmin Installer provides a simple Artisan command to install and configure the LeanAdmin panel in a Laravel application, publishing assets and running setup steps so you can get a working admin backend quickly.
composer require leanadmin/installer. It's a scaffold package, not a runtime dependency — treat it as a dev/setup tool you run once per environment.php artisan list | grep lean — the whole point of the package is a single command). One run should publish config/views/assets, register the service provider and routes, run migrations, and seed a default admin user.config/lean*.php) — this is where route prefix, middleware/guard, and token settings live. Everything you'll tune day-to-day is here./admin), change the seeded password, and commit the published config plus the generated composer.json diff. That gives you a reproducible baseline.name so your logs, UI lists, and tests reflect the new format.composer require leanadmin/installer
php artisan lean:install # verify signature via `php artisan list`
php artisan migrate
make setup, a Composer post-create-project-cmd hook, or an onboarding README step). The installer is designed for exactly this — do the boring publishing/migrating/seeding once and move on.php artisan migrate --force (or let the installer do it) then run your seeders. Keep the installer out of production deploys — run it once, commit the published artifacts, and let normal migrations take over from there.vendor/. Publish once, then edit the published config/views/routes. If you find yourself editing the package's stubs, you've lost the upgrade path. For heavier changes, override the published service provider bindings rather than forking.Kernel.php doesn't.'ci-deploy', 'mobile-ios') when you need deterministic identification.name — names are labels, abilities are the security boundary.actingAs($admin) for authenticated requests. Add an explicit assertion on the seeded admin's default token name so the v0.2.0 behavior is pinned in tests rather than assumed.--force only when you intend to republish, and guard the install step in setup scripts (e.g., "run only if config/lean*.php is absent").assertDatabaseHas(['name' => 'cli']), seeded fixtures) needs updating. This is the single most likely upgrade breakage.app.name is environment-specific and overridable. If you need provenance, store it in a dedicated column or token metadata.name column length. Project name + separator + base name can overflow a tight custom migration. Verify the schema before rolling out to long app names.php artisan config:clear (or config:cache). Stale cached config is the usual reason new settings don't appear.laravel/framework constraint before assuming a package bug — upgrade Laravel first.--force and diff before committing.createToken() call site. One override beats a dozen drifted arguments.How can I help you explore Laravel packages today?