Configuration
boost.php lives in the repository root, or in .config/boost.php. Every method is listed in the configuration reference; this page covers what is specific to package-boost-php.
The minimum
One agent, and this package in the allowlist:
return BoostConfig::configure()
->withAgents([Agent::CLAUDE_CODE])
->withAllowedVendors(['sandermuller/package-boost-php']);A worked config
This is the package's own dogfood config:
<?php declare(strict_types=1);
use SanderMuller\BoostCore\Config\BoostConfig;
use SanderMuller\BoostCore\Enums\Agent;
use SanderMuller\BoostCore\Enums\Tag;
return BoostConfig::configure()
->withAgents([
Agent::CLAUDE_CODE,
Agent::COPILOT,
Agent::CODEX,
])
->withAllowedVendors([
'sandermuller/boost-core',
'sandermuller/boost-skills',
'sandermuller/package-boost-php',
'stolt/lean-package-validator',
])
->withTags([
Tag::Php,
Tag::Github,
'release-automation',
'boost-extension',
]);Opt-in tags
This package recognises two tags. Both are off until you declare them:
release-automation— pulls this package'srelease-automationguideline, and (whensandermuller/boost-skillsis allowlisted) thereadme,release-notes, andupgradingskills that moved there.boost-extension— pullsskill-authoringandwriting-file-emitter, for consumers extending the boost ecosystem itself.
The tag mechanism is documented in Tags and dependencies. The tag vocabulary is per catalog: boost-skills publishes one worked example, and another catalog may organise differently.
Auto-sync on composer install
"scripts": {
"post-install-cmd": ["SanderMuller\\PackageBoostPhp\\Scripts\\AutoSync::run"],
"post-update-cmd": ["SanderMuller\\PackageBoostPhp\\Scripts\\AutoSync::run"]
}The callback lives under this package's own namespace, so you reference only package-boost-php. AutoSync::run delegates to the engine and inherits every guard: it is silent on a no-op install, skips on --no-dev, and honours BOOST_SKIP_AUTOSYNC=1.
For a script you invoke yourself, such as composer sync-ai, where silence reads as nothing happening, use SanderMuller\PackageBoostPhp\Scripts\AutoSync::runWithSummary instead. It always prints the one-line summary. See Automating the sync.
Coexistence
package-boost-laravel requires this package and layers Laravel-specific skills (Testbench, cross-version Laravel, CI matrix) and the .mcp.json emitter on top.
Both coexist with laravel/boost in a Laravel package project, because the concerns are disjoint: this package is dev-time package authorship, and laravel/boost is install-time MCP for the downstream Laravel application.