PHP 8.3+
The project is in a healthy, maintained state
AI agent skills for Laravel package authors. Adds Laravel-flavored skills + .mcp.json emission on top of package-boost-php.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

composer/composer
^2.7
^12.0||^13.0
^2.0||^3.0
laravel/pao
^1.0
mrpunyapal/rector-pest
^0.2
pestphp/pest-plugin-arch
^4.0
phpstan/extension-installer
^1.4
phpstan/phpstan-deprecation-rules
^2.0
phpstan/phpstan-phpunit
^2.0
phpstan/phpstan-strict-rules
^2.0
sandermuller/boost-skills
^2.27
spaze/phpstan-disallowed-calls
^4.10
symplify/phpstan-extensions
^12.0
tomasvotruba/cognitive-complexity
^1.1
tomasvotruba/type-coverage
^2.1

Runtime

sandermuller/boost-core
^1.6
sandermuller/package-boost-php
^1.0
 Project Readme

package-boost-laravel

Latest Version on Packagist GitHub Tests Action Status Total Downloads License Laravel Boost

AI agent skills, guidelines, and .mcp.json emission for Laravel-package authors. Inherits the framework-agnostic package-author toolkit from sandermuller/package-boost-php and layers on Laravel-specific context: Testbench conventions, cross-version Laravel support, CI matrix diagnostics, and the McpJsonEmitter that wires laravel/boost's MCP server into Claude Code during boost sync.

Documentation: https://sandermuller.github.io/boost-core/packages/package-boost-laravel/

overview image

Where laravel/boost targets Laravel application developers, this package targets the people building Laravel packages — the dev-time codebase where app/, bootstrap/ and .env do not exist and php artisan does not apply. Not sure which family member fits? The picker decides it in two questions.

What you get

McpJsonEmitter — the zero-overlap claim against laravel/boost. It updates .mcp.json on every boost sync, idempotently, with the command pointed at vendor/bin/testbench boost:mcp (not php artisan) so the MCP server actually boots in a package codebase. It merges rather than overwrites: only mcpServers.laravel-boost is touched, so your own servers, other top-level keys, and extra keys on that entry survive, and a .mcp.json it cannot parse is left alone. It fires only when laravel/boost and orchestra/testbench are both in your dev dependencies and Agent::CLAUDE_CODE is active; otherwise it skips silently.

Three Laravel skills. All untagged, so they ship whenever this package is installed.

Skill When it loads
package-development Testbench conventions: vendor/bin/testbench versus php artisan, service-provider registration in testbench.yaml, the workbench/ layout
cross-version-laravel-support Several Laravel majors in one release: constraint patterns, version shims, the CI matrix shape including prefer-lowest
ci-matrix-troubleshooting Debugging "fails on prefer-lowest" and "fails on Laravel 13 but not 12" matrix failures

One Laravel guidelinelaravel-packages. The detection rule (require.illuminate/* or require.laravel/framework), Testbench context, the artisan-substitution table, and a cross-version pointer. It composes with the framework-agnostic foundation guideline inherited from package-boost-php.

Everything package-boost-php ships comes along: the foundation guideline, the lean and gitattributes CLI commands, and the lean-dist skill.

Install

composer require --dev sandermuller/package-boost-laravel
vendor/bin/boost install   # pick agents and allowlist vendors
vendor/bin/boost sync      # fan skills + guidelines out

PHP 8.3+ and Laravel 12 or 13. sandermuller/package-boost-php, sandermuller/boost-core, and stolt/lean-package-validator all come in transitively — do not require any of them separately.

Allowlist both package vendors in boost.php, since inheritance is a Composer dependency and not an allowlist entry:

return BoostConfig::configure()
    ->withAgents([Agent::CLAUDE_CODE, Agent::COPILOT, Agent::CODEX])
    ->withAllowedVendors([
        'sandermuller/boost-skills',
        'sandermuller/package-boost-laravel',
        'sandermuller/package-boost-php',
    ])
    ->withTags([Tag::Php, Tag::Laravel, Tag::Github, 'release-automation']);

Documentation

Topic Page
McpJsonEmitter, the skills, what it inherits Overview
Install and first run Install
boost.php, tags, inheritance, coexistence, auto-sync Configuration
Writing a custom FileEmitter Publishing a skill package
Tags, skill dependencies, remote skills, conventions Guide
Every command and exit code CLI reference

The semver-protected surface is in PUBLIC_API.md. Everything else is @internal.

Testing

composer test

License

MIT. See LICENSE.