- What is sandermuller/package-boost-php and what does it actually do?
- It is a dev-only Composer package whose product is file generation rather than runtime code. It reads a canonical .ai/skills and .ai/guidelines source tree and fans it out to per-agent directories plus CLAUDE.md, AGENTS.md and GEMINI.md, optionally emitting .mcp.json for Laravel Boost. It also ships two .gitattributes CLI commands, lean and gitattributes, and rides the sandermuller/boost-core sync engine. Evaluate it as developer-workflow infrastructure, not as a library.
- Does package-boost-php require Laravel?
- No. It is framework-agnostic and has no Laravel runtime dependency, which is why it is the sibling of sandermuller/package-boost-laravel rather than a replacement. Laravel package authors typically add the -laravel flavor alongside it, while non-Laravel Composer packages use this one alone. If you are unsure which family member fits, the project documentation includes a two-question picker.
- How do I install package-boost-php?
- Install it as a dev dependency with composer require --dev sandermuller/package-boost-php and commit your .ai source tree. Commands are then run from the vendor bin directory rather than from application code. Because it is a 0.x package, pin the version range you validate against.
- What do the lean and gitattributes commands do?
- The lean command checks that .gitattributes excludes non-shipping paths such as tests, fixtures, CI configs and .ai, and it wraps stolt/lean-package-validator. The gitattributes command maintains a managed block marked with package-boost, while preserving foreign lines added by other tools. Neither command overlaps with laravel/boost.
- Why does this package need orchestra/testbench as a dev dependency?
- All of its commands run through a Testbench harness, which means a provider entry in testbench.yaml and Testbench installed as a dev-only dependency. For a tool that mainly writes text files, that is a heavy dependency surface and it is the largest architectural objection for non-Laravel packages. If Testbench is already present the marginal cost is near zero; if your team caps dev dependencies or runs minimal CI images, treat that as a go or no-go gate before adopting.
- Is package-boost-php still maintained or is it deprecated?
- The repository is explicitly deprecated and in maintenance mode, with features split across boost-core, package-boost-php, package-boost-laravel and project-boost. It is 0.x semver with a single maintainer and effectively no dependent ecosystem, so there is no stability guarantee or bus factor beyond one. Adoption decisions should be made against the successor's current state rather than against this artifact, and you should confirm whether the 0.15.x line receives security patches or is frozen.
- Does it really support nine AI agents?
- Only one target, Claude Code, natively consumes the generated skill directory as activatable skills. The other eight agents consume the concatenated guidelines file, with skill directories written for forward compatibility. The realistic value today is one source tree and one guidelines body per agent, which is a modest but real win, so size the benefit accordingly rather than against the nine-agent headline.
- Can I use package-boost-php as a CI gate?
- Yes, and this is its highest-value capability. The sync --check --format=json output uses a versioned schema 1 contract with stable-sorted arrays, per-target hint and line_delta values, and explicit skipped reasons. That makes it machine-parseable and CI-gateable, and the README ships a working GitHub Actions snippet. Verify whether --check also covers .mcp.json and .gitignore mutations or only skills and guidelines.
- Does the sync copy files or create symlinks, and does it modify .gitignore?
- The documentation is inconsistent: the prose says targets are copied, while JSON hints reference symlinking to a target. Symlinked skill directories committed to git are a cross-platform hazard, so confirm behavior on Windows, devcontainers and case-insensitive filesystems before rolling it out. The sync also manages .gitignore, a file other tooling may own, so review those mutations in code review. Silent skill-name collisions across host, vendor and package-boost defaults are a known sharp edge.
- How do I migrate from package-boost to package-boost-php, and what is the exit plan?
- Run composer remove sandermuller/package-boost and composer require --dev sandermuller/package-boost-php, adding package-boost-laravel as well if the package targets Laravel, then keep your existing .ai source layout. Before migrating, confirm that the successor is generally available and preserves the command names and the schema 1 JSON contract. Because the family is single-maintainer, document an internal exit plan, such as vendoring the generated files and dropping the tool, in case it is abandoned.