Laravel Boost
Laravel Boost sets up the AI agents on a Laravel project: it detects which ones you use and writes them a shared set of guidelines and skills. Truss ships its own, inside the package, so an agent configured through Boost knows Truss is installed and reaches for your real schema instead of guessing at columns.
There is no MCP server to wire up by hand on this path, and nothing is added to your dependencies. The shipped files are inert Markdown: if Boost is not installed, nothing reads them and nothing changes.
Install
Boost finds the content by itself, but it never installs third-party content without asking. Run:
php artisan boost:installWhen Boost lists the third-party packages it found, tick albertoarena/laravel-truss (guidelines, skills).
What you get
A guideline, short and always in the agent’s context: what Truss is, the commands that ground a task in the real structure, and the boundary that Truss never returns row data. It is deliberately small, because standing context is spent on every request.
A skill, longer and loaded only when a task is actually about the database. It teaches the workflow rather than the commands:
- Read the structure you are about to change, focused on the relevant table and its foreign-key neighbourhood.
- Check that ground with
truss:doctorbefore building on it. - Write the migration the way your codebase writes migrations.
- Confirm what the migration actually did with
truss:diff, and pay attention when it shows more than you expected.
Three ways an agent reaches your schema
Boost is a third path in, not a replacement. They are additive, and nobody has to choose only one:
| Path | Best for | Setup |
|---|---|---|
| MCP server | The richest surface: five tools and a resource, queried on demand, always current | composer require laravel/mcp, then point your client at php artisan mcp:start truss |
| Laravel Boost | The lowest friction if you already use Boost, across every agent it configures | php artisan boost:install, tick Truss |
truss:export | CI, scripts, and any CLI-capable agent; no optional dependency at all | None, it ships with Truss |
Turning it off
Truss has no config switch for this, and cannot have one: Boost discovers the files with a filesystem scan over your vendor directory, which never loads Truss’s config. A truss.boost.enabled setting would silently do nothing.
The opt-out that works is Boost’s own, in your config/boost.php. Boost does not publish that file, so create it if you have not already. Note the two lists take different kinds of key, a guideline by its full key and a skill by its name:
'guidelines' => [ 'exclude' => ['albertoarena/laravel-truss/truss'],],
'skills' => [ 'exclude' => ['truss-schema'],],Structure only, as always
Both files are agent-facing instruction, so they state the boundary explicitly and repeat it at the end: Truss exposes tables, columns, types, indexes, and foreign keys, never row contents. An agent reading them is told not to reach for Truss to inspect records. That boundary is covered by tests in the package, alongside a test that asserts Boost still discovers the content, so a change on either side fails the build rather than quietly ending the integration.