Rector rules that can never fire

A Rector config set up for a one-time PHP upgrade years ago had quietly become maintenance debt: rules that can’t match modern code, and custom rules nothing references. Here’s the cleanup, and why dead tooling config is sneakier than dead application code.

June 11, 2026 · 4 min · Lars Evald Andersen

Rector without the level sets: upgrading PHP 7.3 → 8.4 the boring way

Rector ships with version ‘sets’ that bundle hundreds of rules to take your code from PHP X to PHP Y. We didn’t use any of them. Here’s the 20-rule cherry-pick we used to upgrade a multi-repo PHP 7.3 codebase to 8.4 — and why hand-picking turned out to be the smaller risk.

September 15, 2025 · 6 min · Lars Evald Andersen