The project ports Easy Coding Standard (ECS), a PHP code-formatting and fixing tool, to Go to make it dramatically faster without changing how developers use it. On a Symfony codebase, the PHP version can take more than two minutes, while the Go version is reported to finish in about four seconds. A small prototype emulated PHP’s tokenization and converted legacy array syntax; it ran roughly 30 times faster, motivating a broader port of ECS and PHP-CS-Fixer rules. The goal was not to create a different tool, but to preserve existing configurations, rule behavior, and output so users would mainly notice the speed improvement.
Development used AI agents to port rules in small batches, with PHP and Go implementations kept in one repository and tested against examples of before-and-after code. The port reached all 230 fixers, but matching rule counts alone was not enough: results were compared on large projects such as Mautic and Laravel. Initially, changes differed in 25 percent of Mautic cases and 8 percent of Laravel cases; repeated testing reduced mismatches to around 1 percent and below 2 percent, respectively. The Go mode now warns when rules or configurations are unsupported, though custom local PHP fixers remain a limitation. A public beta is available through the existing ECS command with “blink” added, while CI continues to check parity and catch regressions.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.