Starting a new Laravel project usually means the same routine: install the framework, wire up an admin panel, generate models from a database, and set up roles and permissions, all before writing a single line of real business logic. This setup walks through a stack of four packages that automate most of that routine, along with what each one actually adds to your project.
1. Create the Laravel Project
composer create-project laravel/laravel .
This scaffolds a fresh Laravel application in the current directory: the folder structure, service providers, routing files, and default configuration. Nothing unusual here, it’s the standard starting point for any Laravel app.
2. Install Filament
composer require filament/filament:"^5.0" -W
Filament is an admin panel and rapid application development framework built on Livewire, Alpine.js, and Tailwind CSS. Instead of hand-building CRUD controllers, forms, and tables for every model, you define a Resource class and Filament generates the list, create, and edit interfaces from it. The -W flag tells Composer to update your other dependencies alongside Filament, which helps avoid version conflicts when installing a large package like this into a brand-new project.
The official installation docs are here: filamentphp.com/docs/5.x/introduction/installation
3. Fixing the Missing intl Extension Error
Filament (and some of its dependencies) rely on PHP’s intl extension for locale-aware formatting. On a fresh Linux setup, this extension often isn’t installed by default, which surfaces as a Composer error when the extension requirement can’t be satisfied.
The fix:
cd
sudo apt update
sudo apt install php8.5-intl
sudo apt install php-intl
Then confirm it’s active:
php -m | grep intl
If intl shows up in the output, the extension is loaded and you can return to your project directory and continue.
4. Install Laravel Boost
composer require laravel/boost --dev
Laravel Boost is an MCP (Model Context Protocol) server built specifically for AI-assisted development. It gives AI coding agents (like Claude Code or Cursor) direct, structured access to your application: it can inspect your app’s structure, query the database, run Tinker, read routes and configuration, and check recent errors, rather than guessing from static file contents alone. It also ships with a large set of Laravel-specific documentation and composable AI guidelines for packages already in your project, so an agent’s suggestions stay aligned with the versions you’re actually running.
Since Boost is meant purely for local development tooling, it’s installed with --dev so it never ships to production.
Docs: laravel.com/docs/13.x/boost
5. Run the Boost Installer
php artisan boost:install
This launches an interactive setup wizard. It will:
- Detect installed packages (including Filament) and offer to publish their AI guidelines
- Ask which editor or AI agent you use, letting you select the ones you actually work with (for example, Antigravity and Claude)
- Generate the MCP configuration and guideline files your chosen agent will read from
Because the installer auto-detects packages already in your composer.json, running it after Filament is installed means Filament-specific guidelines get pulled in automatically.
6. Install Reliese for Model Generation
composer require reliese/laravel --dev
Reliese inspects your existing database schema (tables, columns, foreign keys) and generates Eloquent models directly from it, including correctly typed properties and relationships inferred from your foreign keys. This is especially useful when working against a database that already has its structure defined (migrations already run, or a legacy schema you’re building on top of), since it saves you from writing every model and relationship by hand. Like Boost, it’s a --dev dependency since it’s a code-generation tool, not something the running application needs in production.
7. Install Filament Shield
composer require bezhansalleh/filament-shield
Filament Shield adds role- and permission-based access control to your Filament panel, built on top of spatie/laravel-permission under the hood. Once configured, it automatically generates policies and permissions for your Resources, Pages, and Widgets, and provides a UI inside Filament for managing roles and assigning permissions. This means access control (who can view, create, edit, or delete which resources) is handled through configuration and generated policies rather than scattered manual checks across your codebase.
Docs: filamentphp.com/plugins/bezhansalleh-shield
8. Initialize Everything
With all four packages in place, this last step ties them together: Filament’s panel is installed and ready, Boost’s MCP server and guidelines are configured for your AI agent, Reliese is ready to generate models from your schema, and Shield is set up to manage roles and permissions across whatever Resources you build next. From here, the typical flow is to run your migrations, generate models with Reliese, scaffold Filament Resources on top of them, and let Shield handle who’s allowed to touch what.
What Each Component Actually Adds
| Package | What It Adds |
|---|---|
| Laravel | The core framework: routing, Eloquent ORM, service container, and application structure. |
| Filament | A full admin panel framework: auto-generated CRUD interfaces, forms, tables, and dashboards built on Livewire. |
| Laravel Boost | An MCP server that gives AI coding agents real, structured access to your app’s state (routes, schema, logs, Tinker) plus Laravel-specific AI guidelines. |
| Reliese | Database-to-model code generation: inspects your schema and writes typed Eloquent models with relationships already defined. |
| Filament Shield | Role and permission management for your Filament panel, generating policies automatically and providing a UI to manage access control. |
Put together, this stack removes most of the repetitive setup work in a typical Laravel + admin panel project: the panel is scaffolded, the models are generated from your actual schema, access control is handled through generated policies instead of manual checks, and your AI coding agent has real visibility into the app instead of working blind.