Repository navigation
v0.5.0
Package Boost v0.5.0
Shipped content release — driven by real feedback from two downstream
peers (laravel-fluent-validation, laravel-js-store) running
package-boost 0.3–0.4 in anger. Two new skills land, the foundation
stops assuming Pest-first, and Boost-specific commands move into
their own table so PHPUnit-only and Boost-less packages stop reading
dead copy.
What's new
Runner-agnostic foundation + Boost sub-table
resources/boost/guidelines/foundation.md and the shipped
package-development SKILL no longer imply Pest-first test running.
The php artisan test row now reads:
The package's configured test runner
(vendor/bin/pestorvendor/bin/phpunit)
Boost-specific rows (boost:install, boost:mcp) move into a
dedicated sub-table:
### Commands that require `laravel/boost`
| Instead of | Use |
|---|---|
| `php artisan boost:install` | `vendor/bin/testbench boost:install` |
| `php artisan boost:mcp` | `vendor/bin/testbench boost:mcp` |
Readers without Boost installed see the heading, understand the rows
don't apply, and skip. PHPUnit-only packages stop reading Pest-first
ordering as advice.
New shipped skill: cross-version-laravel-support
Preventive workflow for packages supporting multiple Laravel / PHP
majors. Activate before writing version-sensitive code. Covers:
- Reading
composer.jsonconstraints (^11.0||^12.0||^13.0decoded) - Version-guard patterns —
version_compare(app()->version(), ...),
method_existsfeature detection, conditional trait composition - Local verification workflow — default /
--prefer-lowest/
--prefer-stable - Deprecation-but-not-removed trap
- Common failure modes (Blade directive availability, parameter
defaults, macro scopes)
New shipped skill: ci-matrix-troubleshooting
Diagnostic workflow for after a matrix cell has gone red. Covers:
- Local reproduction of the failing cell
- Usual suspects — transitive dep floor bumps
(roave/security-advisories), Testbench ↔ PHPUnit interlock, wrong
package floor, phpstan/larastan incompat, missing version guard - Deeper diagnostics —
composer why-not,
composer update ... --dry-run - Fix patterns — widen constraint, raise floor, exclude cell,
conflictdirective - Filing useful upstream issues
Trigger partition is deliberate: the preventive and diagnostic skills
cross-link and share only the testbench descriptor. Vocabulary like
prefer-lowest / prefer-stable lives on the diagnostic skill only,
so the skill matcher fires predictably on "CI just broke" language.
.ai/ authoring schema docs
New ## Authoring guidelines section in the shipped
package-development SKILL covers the four things downstream authors
kept reverse-engineering from sibling files:
- Guideline file shape — plain markdown, no required frontmatter,
filename controls ordering - Skill file shape — YAML frontmatter (
name,description),
body is markdown,descriptionis the trigger surface - Rendering model — shipped first,
---divider, user content
second - Opting out — cross-links to the README's Customising excluded
guidelines section (no duplication)
Foundation Cross-Version section trimmed
The paragraph-long advice moved into cross-version-laravel-support.
Foundation now holds a pointer:
Supporting multiple Laravel / PHP majors is routine for packages.
Activatecross-version-laravel-supportbefore writing the
code; activateci-matrix-troubleshootingafter a matrix cell
has failed.
Single source of truth for the workflow, with a disambiguator so
readers know which skill to pick without drilling in.
Upgrading
composer update sandermuller/package-boost
vendor/bin/testbench package-boost:syncOr, in CI:
vendor/bin/testbench package-boost:sync --checkMigration impact
Downstream --check will report drift on the first run after upgrade:
- Guidelines —
CLAUDE.md,AGENTS.md,
.github/copilot-instructions.mdall pick up the runner-agnostic
row, new sub-table, trimmed Cross-Version section. - Skills —
.claude/skills/package-development/SKILL.mdand
.github/skills/package-development/SKILL.mdpick up the Authoring
guidelines section + the Cross-Version trim + the table reshape. - New skills —
.claude/skills/cross-version-laravel-support/
and.claude/skills/ci-matrix-troubleshooting/appear (plus their
.github/skills/mirrors).
Expected one-time re-sync.
Internals
- Tests introduce a
SHIPPED_SKILLSconstant so each new shipped
skill gets automatic coverage via a Pest dataset-driven test.
No more per-skill test-count drift. - Seeded
ROADMAP.md+specs/directory in the repo as the plan
of record for 0.5.x / 0.6.x / 0.7.x work.
Compatibility
No breaking changes. Config shape unchanged, command surface
unchanged, synced file layout unchanged. Content-only evolution of
the shipped skill and guideline text.