eduarguz/shift-php-cs
eduarguz/shift-php-cs is a PHP coding standards package that helps you detect and fix style issues in your codebase. It provides a simple way to enforce consistent formatting, keeping projects clean and readable.
composer fix script. The package is a shortcut to a defensible default ruleset if you have no opinion yet and want to stop debating tabs vs. spaces.Adopt (or rather, evaluate) when:
Look elsewhere when:
laravel/pint is the first-party, actively maintained answer and is the correct default recommendation; it wraps PHP-CS-Fixer with a curated preset and is already in most Laravel skeletons.Practical read: the value here is the content of the ruleset, not the package. Copy .php-cs-fixer.dist.php into your repo, or just use Pint. Adding this as a Composer dependency buys you a lockfile entry and an abandonment risk in exchange for roughly one file.
To executives: This is a small developer-productivity tooling question, not a product bet. A style config removes a recurring category of code-review friction and makes codebases look consistent across teams. The specific package is a 2021-era community config with a single maintainer and negligible adoption, so the recommendation is not to depend on it — instead, adopt Laravel's first-party equivalent (Pint) or copy the ruleset into our own repo. Cost is near zero either way; the risk of adopting the package as-is is an unmaintained dependency in our build pipeline.
To engineering: The ruleset encodes Laravel Shift's style conventions and would give us a defensible default in about ten minutes. But it's a thin wrapper around PHP-CS-Fixer, last released December 2021 and effectively unmaintained; rule drift against current PHP-CS-Fixer and Laravel versions is likely. Recommendation: use laravel/pint if we have no strong opinion, or vendor the ruleset into .php-cs-fixer.dist.php if we want explicit control and a documented origin. Either way we get the outcome we want — consistent formatting enforced in CI — without the dependency risk. If a repo already uses this package, schedule migration rather than an emergency swap.
Net PM position: Reject as a dependency. Accept the underlying idea. The decision it should trigger is "we need a committed style standard and a CI enforcement step," and the answer to that is Pint or a vendored config, not this package.
How can I help you explore Laravel packages today?