rector/extension-installer
A Composer plugin that automatically registers installed Rector extensions, so custom rules and configurations load without manual setup. It simplifies adding third-party Rector packages to projects and keeps configuration minimal.
rector.php. This is a "golden path" decision: do we want extension wiring to be implicit and consistent, or explicit and curated?composer require. Supports build-vs-buy on internal scaffolding: adopt a 20-line Composer plugin vs. maintain your own base config template.allow-plugins decision. This forces an explicit org position on which Composer plugins run in CI — a governance decision, not just a technical one.Consider it when:
rector.php files is a recurring complaint.composer.json and can approve the plugin in allow-plugins (Composer 2.2+).Look elsewhere or skip it when:
->withSets() / config imports are clearer and fully visible in code review.NOASSERTION). Legal review is a prerequisite; do not ship it into a product build until cleared.Practical gate: run a one-repo, one-sprint pilot. Success = setup steps per repo drop, config drift disappears, and removing the plugin is a one-line revert. If any of those fail, keep manual registration.
For executives: This is a small, single-purpose developer-tooling dependency, not a product feature. Its value is efficiency: it removes manual configuration steps every time we add an automated code-upgrade ruleset to a repository, which lowers the cost of keeping our PHP codebases current. Cost is near zero, risk is low and fully reversible — one composer require in, one removal out. It is not on any roadmap and carries no revenue impact. Recommendation: approve a short pilot in a single repository, measure setup time saved and configuration errors avoided, then decide on broader rollout.
For engineering: A Composer plugin that auto-registers Rector extension configs, so installing an extension enables it without editing rector.php. Benefits are consistency across repos and less copy-paste config. Caveats to weigh: last release 2021, minimal adoption, and an undetected license requiring legal sign-off. It must be explicitly allowed in Composer's allow-plugins setting, and it should be version-pinned. Confirm it works with our current Rector version first; if it does not, a shared internal base config achieves most of the same outcome with code we control.
Bottom line: Adopt conditionally — pilot in one repo, clear the license, pin the version, and keep the manual fallback documented. Treat it as a convenience layer, never as a load-bearing dependency.
How can I help you explore Laravel packages today?