stechstudio/laravel-php-cs-fixer
A Laravel wrapper around PHP-CS-Fixer that adds Artisan commands to check and fix your code style with sensible defaults. Configure rules and paths in a single config file, then run fixes locally or in CI for consistent formatting across your project.
Architecture fit. This is a thin Laravel service-provider wrapper that exposes FriendsOfPHP/PHP-CS-Fixer as an Artisan command. It is development tooling, not application architecture: no runtime coupling, no production traffic path, and low blast radius. For a Laravel team already standardizing on Artisan workflows, the ergonomic fit is good; for teams using Composer scripts, CI-native tooling, or Laravel Pint, it adds a layer with little differentiated value.
Integration feasibility. Low initial effort: add as a require-dev dependency, rely on package discovery, optionally publish config, and invoke via Artisan. The real feasibility question is dependency compatibility. The last release was 2022-02-10, while PHP-CS-Fixer, PHP, and Laravel have moved substantially since then. Expect possible conflicts with modern PHP-CS-Fixer majors, PHP 8.3/8.4, and Laravel 11/12. A short compatibility spike is mandatory before adoption.
Technical risk. The main risk is not code quality but abandonment and dependency drift. A stale wrapper can pin or constrain PHP-CS-Fixer indirectly, block PHP upgrades, or silently lag behind fixer features such as parallel execution, cache behavior, and rule configuration. Because it is dev-only, security exposure is limited, but CI supply-chain and developer-environment inconsistency still matter. The package also risks duplicating configuration and behavior that PHP-CS-Fixer or Pint already own.
TPM stance. Do not treat this as a strategic dependency. It is a convenience wrapper with a 2022 release, 146 stars, and a low overall score despite a positive opportunity signal. Prefer Laravel Pint or direct PHP-CS-Fixer invocation unless the team specifically needs this Artisan command and has verified compatibility. If adopted, pin versions and assign an internal owner.
Key questions.
Stack fit. Best suited to Laravel applications or packages that already use Artisan for developer workflows and want a low-friction formatter command. It should live in require-dev only and must not be part of production deployment requirements. It does not replace a coding-standard policy; it only exposes an existing fixer.
Migration path. If the team already runs PHP-CS-Fixer directly, there is no migration rationale beyond adding an Artisan alias. If adopting, install in a disposable branch, run a dry-run against a representative codebase, and compare output with Pint/direct PHP-CS-Fixer. If replacing it later, remove the package, add direct PHP-CS-Fixer or Pint, update Composer scripts and CI jobs, and keep the same config rules to avoid formatting churn.
Compatibility. Validate the full matrix before commitment: PHP version, Laravel version, PHP-CS-Fixer version, and package auto-discovery. Because the last release predates recent Laravel and PHP-CS-Fixer releases, assume incompatibility until proven otherwise. Check whether Composer resolves an old PHP-CS-Fixer major and whether that conflicts with other dev dependencies. Also verify behavior under CI’s non-interactive environment.
Sequencing.
Maintenance. The wrapper itself is small, but the package is effectively unmaintained. That shifts maintenance to the adopting team: dependency conflicts, PHP upgrades, and PHP-CS-Fixer upgrades become internal work. Budget for periodic compatibility checks or a fork/replace decision. The underlying fixer will continue to evolve; the wrapper may not.
Support. Community-only support with a small star count and no recent release. There is no vendor SLA. Internal ownership is required for onboarding docs, config standards, and upgrade troubleshooting. If the team cannot assign that ownership, avoid the dependency.
Scaling. Formatting scales with codebase size, not with this wrapper. PHP-CS-Fixer can be slow or memory-heavy on large repositories; parallel execution and caching help, but only if the wrapper exposes or preserves those capabilities. CI runtime and developer machine resource use should be measured. The wrapper adds negligible runtime overhead but may constrain access to newer fixer performance features.
Failure modes.
Ramp-up. Low for Laravel developers familiar with Artisan, but nonzero because the team must understand the underlying PHP-CS-Fixer config and the package’s limitations. Onboarding should state the canonical formatter, command, config location, CI check, and upgrade process. Without that, teams tend to accumulate multiple formatter entry points, which is the main operational cost of adopting a thin wrapper.
How can I help you explore Laravel packages today?