sandermuller / package-boost
AI agent skills for framework-agnostic Composer package authors. Pairs with sandermuller/boost-core for sync to nine AI agents.
Requires
- php: ^8.3
- sandermuller/boost-core: ^1.0
- stolt/lean-package-validator: ^5.7||^6.0
- symfony/console: ^7.0||^8.0
- symfony/process: ^7.0||^8.0
Requires (Dev)
- composer/composer: ^2.7
- laravel/pao: ^1.0
- laravel/pint: ^1.29
- mrpunyapal/rector-pest: ^0.2.15
- nunomaduro/collision: ^8.9
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- rector/rector: ^2.4
- rector/type-perfect: ^2.1
- sandermuller/boost-skills: ^2.0
- spaze/phpstan-disallowed-calls: ^4.12
- symplify/phpstan-extensions: ^12.0
- tomasvotruba/cognitive-complexity: ^1.1
- tomasvotruba/type-coverage: ^2.1
This package is auto-updated.
Last update: 2026-08-20 09:45:43 UTC
README
AI agent skills, guidelines, and .gitattributes commands for framework-agnostic Composer package authors. Sibling of sandermuller/package-boost-laravel (Laravel-package flavor); both ride the sandermuller/boost-core sync engine.
Documentation: https://sandermuller.github.io/boost-core/packages/package-boost-php/
Where
laravel/boostships Laravel application guidelines, this package ships package-author CLI infrastructure and skill-authoring tooling. Framework-agnostic, no Laravel dependency. Not sure which family member fits? The picker decides it in two questions.
What you get
Two CLI commands. Both target .gitattributes, the file that controls what
ends up in the Composer archive. Neither overlaps with laravel/boost.
| Command | Purpose |
|---|---|
vendor/bin/package-boost-php lean |
Check that .gitattributes excludes non-shipping paths (tests, fixtures, CI configs, .ai/). Wraps stolt/lean-package-validator |
vendor/bin/package-boost-php gitattributes |
Maintain the # >>> package-boost (managed) >>> block. Foreign lines added by other tools are preserved |
Two guidelines.
| Guideline | Scope | Tag |
|---|---|---|
foundation |
Package-is-not-an-app rules: no app/ or .env, the public API is semver-governed, tests are the spec |
— |
release-automation |
CHANGELOG-via-CI and release-notes-in-internal/ conventions |
release-automation |
Three skills.
| Skill | When it loads | Tag |
|---|---|---|
lean-dist |
Keeping the Composer archive lean with .gitattributes export-ignore |
— |
skill-authoring |
Authoring or editing AI skills for the boost family | boost-extension |
writing-file-emitter |
Implementing a custom FileEmitter for boost-core |
boost-extension |
The readme, release-notes, and upgrading skills ship from sandermuller/boost-skills under the release-automation tag. See UPGRADING for that migration.
Install
composer require --dev sandermuller/package-boost-php vendor/bin/boost install # pick agents and allowlist vendors vendor/bin/boost sync # fan skills + guidelines out vendor/bin/package-boost-php gitattributes # write the managed block vendor/bin/package-boost-php lean # confirm the archive is lean
PHP 8.3+. sandermuller/boost-core and stolt/lean-package-validator come in transitively — do not require them separately. The auto-sync callback lives under this package's own namespace, so your composer.json never names the engine.
The minimum boost.php is one agent plus this package in the allowlist:
return BoostConfig::configure() ->withAgents([Agent::CLAUDE_CODE]) ->withAllowedVendors(['sandermuller/package-boost-php']);
Two opt-in tags: release-automation and boost-extension. Neither ships until you declare it.
Documentation
| Topic | Page |
|---|---|
| What this package ships | Overview |
| Install and first run | Install |
boost.php, the opt-in tags, auto-sync, coexistence |
Configuration |
| Publishing your own skill package | Publishing a skill package |
| Tags, skill dependencies, remote skills, conventions | Guide |
| Every command and exit code | CLI reference |
The semver-protected surface — the AutoSync Composer-hook façade, the bin/package-boost-php CLI contract, and the managed-block marker format — is in PUBLIC_API.md. Everything else is @internal.
Testing
composer test # Pest suite composer qa # Rector + Pint + PHPStan + .gitattributes validator
License
MIT. See LICENSE.
