shopperlabs/laravel-sail-starter-kit
A Laravel starter kit from ShopperLabs built around Laravel Sail, offering a ready-to-use Docker-based development environment for new Laravel projects. Skip manual setup and start building with a preconfigured Sail workflow.
This is a starter kit/template, not a runtime library — "installing" means scaffolding a project, not composer require.
laravel new my-app --using=shopperlabs/laravel-sail-starter-kit
# or
composer create-project shopperlabs/laravel-sail-starter-kit my-app
cp .env.example .env
./vendor/bin/sail up -d
sail composer install
sail artisan key:generate
sail artisan migrate --seed
sail npm install && sail npm run dev
/admin with the seeded user from database/seeders/DatabaseSeeder.php (usually [email protected] / password — check the seeder, don't assume).Look here first: app/Providers/Filament/AdminPanelProvider.php (panel config: path, middleware, colors, auth guard), app/Filament/ (your resources/pages/widgets), docker-compose.yml + compose.yaml for service definitions, and routes/web.php. First use case: generate a CRUD screen for an existing model — sail artisan make:filament-resource Post --generate — and you have a working admin in under a minute.
v1.2 pins Filament v5 and Livewire 4, so check composer.json before copying snippets from any v1.1.x-era tutorial.
Customer panel) by running sail artisan make:filament-panel Customer rather than hacking middleware.make:filament-resource --generate → tweak form()/table() → make:filament-relation-manager → make:filament-widget. Treat generated files as scaffolds; move shared form schemas into reusable schema classes once two resources overlap.app/Livewire/, resources/views/livewire/). Prefer the single-file component style — it keeps markup and logic co-located and plays well with Alpine.alias sail='./vendor/bin/sail' in your shell keeps commands short. Run tests with sail artisan test --parallel; the kit wires Pest/PHPUnit against the Sail MySQL container, so tests behave the same as CI..env for local Sail ports, and set APP_PORT/VITE_PORT/FORWARD_*_PORT rather than editing docker-compose.yml, so teammates with conflicting local ports can coexist.npm ci && npm run build), ship the compiled public/build, and never ship the Sail containers to production — swap DB_HOST/REDIS_HOST to managed services.composer update path. Because this is a template, upstream fixes don't reach you automatically. Add git remote add upstream https://github.com/shopperlabs/laravel-sail-starter-kit.git early, then git fetch upstream && git diff HEAD upstream/main to review what changed before cherry-picking. Do this before your first major feature branch.app/Filament code across.sail artisan vendor:publish --tag=filament-config --force (review the diff first) and sail artisan filament:assets, otherwise you get stale Blade views or missing CSS.config/debugbar.php, re-publish and re-apply your changes. Confirm APP_DEBUG=false in production — Debugbar 4 will not silently no-op if it's enabled.*_PORT vars in .env, then sail down && sail up -d.sail as your own user, not root, or you'll end up with root-owned files in storage/ and node_modules/. Fix with sail root-shell only when necessary, and sudo chown -R $USER . afterwards.sail artisan optimize:clear is your first move when a panel route 404s or a color change doesn't appear..nvmrc/engines so CI and Sail match.AdminPanelProvider (register plugins, render hooks, custom theme), app/Providers/AppServiceProvider.php (global model configs, Model::unguard()), and docker/ (custom PHP extensions, Xdebug toggles via SAIL_XDEBUG_MODE).How can I help you explore Laravel packages today?