sandermuller/package-boost
Deprecated: sandermuller/package-boost is split into successors. Use package-boost-php for framework-agnostic Composer packages, package-boost-laravel for Laravel packages, or project-boost for PHP apps. Legacy 0.15.x remains for existing installs.
Installation:
composer require --dev sandermuller/package-boost-php orchestra/testbench
(Note: Use package-boost-php instead of the deprecated package-boost per the migration guide.)
Configure Testbench:
Add to testbench.yaml:
providers:
- SanderMuller\PackageBoost\PackageBoostServiceProvider
First Sync:
vendor/bin/testbench package-boost:sync
This generates AI agent directories (e.g., .claude/skills/) and guidelines files (CLAUDE.md, AGENTS.md) from .ai/.
.ai/ Directory: Core source for skills (skills/) and guidelines (guidelines/).vendor/bin/testbench package-boost: to see available commands.package-development, cross-version-laravel-support, and lean-dist (Laravel-specific by default but safe to ignore for non-Laravel packages).Create a Custom Skill:
vendor/bin/testbench package-boost:new skill my-custom-skill --description="Describe the skill's purpose."
This scaffolds a SKILL.md in .ai/skills/my-custom-skill/ with frontmatter. Sync it:
vendor/bin/testbench package-boost:sync
Skill Development Cycle:
.ai/skills/<name>/SKILL.md (frontmatter + content).vendor/bin/testbench package-boost:doctor to check frontmatter and naming.package-boost:sync propagates to agent directories..claude/skills/ or AGENTS.md.Guideline Management:
.ai/guidelines/my-conventions.md.package-boost:sync --guidelines to update AGENTS.md/CLAUDE.md.CI Integration:
- run: vendor/bin/testbench package-boost:sync --check
Laravel-Specific Packages:
Use package-boost-laravel alongside package-boost-php for Laravel-specific skills (e.g., McpJsonEmitter).
Install both:
composer require --dev sandermuller/package-boost-php sandermuller/package-boost-laravel
Framework-Agnostic Packages: Ignore Laravel-specific skills (they auto-deactivate). Focus on:
package-development (Testbench setup).lean-dist (Git hygiene).skill-authoring (skill naming conventions).Selective Sync: Sync only skills or guidelines in CI to reduce noise:
vendor/bin/testbench package-boost:sync --skills --check
MCP.json Generation:
Only works if laravel/boost is installed. Skip with --no-mcp if irrelevant.
Cross-Version Support:
Use the cross-version-laravel-support skill to handle:
composer.json constraints.if (class_exists(\Illuminate\Contracts\...))).CI Matrix Troubleshooting:
Run package-boost:sync --ci-matrix to diagnose failing CI cells (e.g., prefer-lowest conflicts).
Boost-MCP Integration:
If using Laravel Boost, package-boost auto-generates .mcp.json pointing to vendor/bin/testbench boost:mcp.
Deprecation Warning:
sandermuller/package-boost is deprecated. Always use package-boost-php (or package-boost-laravel).composer remove sandermuller/package-boost
composer require --dev sandermuller/package-boost-php
Skill Naming Collisions:
readme or release-notes (reserved by shipped skills).package-boost:doctor before syncing.Agent Directory Permissions:
.claude/, .cursor/, etc., are writable. Sync may fail silently if permissions are restrictive.Frontmatter Requirements:
SKILL.md must include name: and description: in frontmatter.---
name: my-skill
description: "One-line purpose."
---
CI Drift Checks:
--check fails on host skill/guideline issues (e.g., missing frontmatter) but only warns on shipped skill problems.- run: vendor/bin/testbench package-boost:sync --check || exit 1
Sync Failures:
--verbose:
vendor/bin/testbench package-boost:sync --verbose
.ai/ directory.name:)..claude/skills/.JSON Output Parsing:
--format=json to debug drift:
vendor/bin/testbench package-boost:sync --check --format=json | jq
"drift": true (files need syncing)."skipped" reasons (e.g., laravel-boost-not-installed).Skill Activation Issues:
SKILL.md files in .claude/skills/.AGENTS.md. Verify content appears in the correct file.Skill Authoring Best Practices:
skill-authoring skill to avoid silent collisions.my-skill.md).Guideline Customization:
.ai/guidelines/..ai/guidelines/custom-coding.md → merged into AGENTS.md.Lean Dist Integration:
stolt/lean-package-validator for Git hygiene:
composer require --dev stolt/lean-package-validator
lean-dist skill auto-configures .gitattributes to ignore .ai/ and agent directories.Laravel-Specific Shortcuts:
cross-version-laravel-support to auto-generate version guards:
if (version_compare(app()->version(), '10.0', '<')) {
// Fallback for Laravel <10
}
Agent-Specific Quirks:
.claude/skills/ as activatable tools..github/skills/; relies on AGENTS.md..cursor/skills/ but falls back to AGENTS.md.Custom File Emitters:
boost-core by declaring the boost-extension tag in your boost.php:
withTags(['boost-extension']);
writing-file-emitter skill for custom file generation (e.g., .mcp.json).Skill Frontmatter Hooks:
auto-activate: true to SKILL.md frontmatter to force activation in Claude Code:
---
name: my-skill
description: "Auto-activated skill."
auto-activate: true
---
Agent Filtering:
config/package-boost.php:
return [
'agents' => ['claude_code', 'cursor'], // Exclude others
];
vendor/bin/testbench package-boost:install --agents=claude_code,cursor
MCP.json Customization:
.mcp.json by publishing the config:
vendor/bin/testbench vendor:publish --tag=package-boost-config
How can I help you explore Laravel packages today?