movingimage/style-checker
A PHP code style checker for Laravel projects from movingimage, helping teams enforce consistent coding standards and catch style violations early so your codebase stays clean, readable, and maintainable.
Architecture fit. movingimage/style-checker is not runtime code. It is a Composer-installable bundle of configuration for a PHP style tool (PHP-CS-Fixer or PHP_CodeSniffer, per its description). That gives it a favorable architectural property — it is a require-dev dependency only, so it cannot affect production request paths, autoloading of application classes, or deployment artifacts. Blast radius is confined to CI pipelines and developer workstations.
That same property is also why its leverage is low. The package's entire value proposition is "one shared opinion about formatting across a fleet of PHP repos." Leverage therefore scales with fleet size and with the credibility of the opinion — and both signals here are negative. Zero stars, zero dependents, and an archived repository mean the ruleset has never been validated by an external consumer. We would be the first adopters of an opinion that its own authors have stopped maintaining.
Integration feasibility. Installation is a one-line composer require --dev in principle, but the practical path is likely blocked. An archived package is frozen at the era it was abandoned; its transitive pin on a specific php-cs-fixer or squizlabs/php_codesniffer major will almost certainly conflict with PHP 8.2/8.3+ and with any modern toolchain. Expect Composer resolution failures, or a requirement to constrain the rest of the toolchain to match a dead dependency — an unacceptable inversion.
Technical risk. Abandonment risk is not a risk here; it is a realized fact. Secondary concerns:
vendor/ and inlined in an afternoon.Key questions.
Assessment: do not adopt as a dependency. Either extract the ruleset into an internal package or config file, or — preferably — standardize on Laravel Pint, which is first-party, maintained, and already the default in Laravel projects.
Stack fit. Weak. For a Laravel codebase, Pint is the maintained, framework-aligned default and is distributed with the framework's own tooling story. For non-Laravel PHP services, a 20-line php-cs-fixer config committed to the repo (or a small internal acme/php-style package) delivers the same central-governance benefit with full control. In both topologies, movingimage/style-checker competes against a maintained alternative rather than filling a gap.
Migration path. Do not migrate to the package. If a specific rule in it is worth keeping, treat the package as documentation:
vendor/ after a manual clone) and dump the resolved ruleset.pint.json / .php-cs-fixer.php.Compatibility. Assume incompatibility until proven otherwise. Verify against our oldest supported PHP runtime and our current PHP-CS-Fixer major before spending further time. If a fork is required to unpin the toolchain, that fork is the package we should have written ourselves.
Sequencing.
--dry-run / non-blocking CI to measure churn volume.git blame.Maintenance. Zero upstream maintenance; 100% of the maintenance burden transfers to us the moment we depend on it. The absolute cost is small (a config file), but the attention cost is not: a dependency that can never be upgraded is a permanent line item in every future PHP-upgrade and toolchain-upgrade conversation.
Support. No maintainer, no issue response, no security channel. Internal engineers debugging a CI failure will find no upstream to escalate to and no recent issues to search. Every incident becomes first-principles debugging.
Scaling. Distributing a config package across repos is mechanically cheap and scales well; the package format is not the constraint. The constraint is that a frozen ruleset does not scale forward in time — it will not know about new language constructs and will silently under-enforce as the fleet modernizes. Central style governance is a real need at fleet scale, but it is better served by an internal package we control.
Failure modes.
composer install breaks on a PHP upgrade due to a conflicting pinned fixer — blocks all CI, not just linting.Ramp-up. Near zero for individual developers — style tooling is invisible when it works. The real effort is organizational: agreeing on a ruleset, assigning an owner, and enforcing via CI with a ratchet so adoption doesn't drown review capacity in format-only diffs.
Bottom line. Extract the ruleset if it contains anything of value, standardize on Pint or an internal config package, and close the dependency question. Estimated engineering cost: roughly one day to audit and reimplement, one to two sprints to roll out with ratcheting. Adopting the archived package directly trades a one-day saving for an indefinite, unowned maintenance obligation.
How can I help you explore Laravel packages today?