Skip to content

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:

Terminal window
php artisan boost:install

When 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:

  1. Read the structure you are about to change, focused on the relevant table and its foreign-key neighbourhood.
  2. Check that ground with truss:doctor before building on it.
  3. Write the migration the way your codebase writes migrations.
  4. 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:

PathBest forSetup
MCP serverThe richest surface: five tools and a resource, queried on demand, always currentcomposer require laravel/mcp, then point your client at php artisan mcp:start truss
Laravel BoostThe lowest friction if you already use Boost, across every agent it configuresphp artisan boost:install, tick Truss
truss:exportCI, scripts, and any CLI-capable agent; no optional dependency at allNone, 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.