Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Cs Fixer Config Laravel Package

stickee/php-cs-fixer-config

A shared PHP-CS-Fixer configuration from Stickee that standardizes code style across PHP projects. Install via Composer and extend the preset ruleset to enforce consistent formatting, catch style issues early, and keep your codebase clean with minimal setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is developer tooling, not runtime code — a shared rule-set provider for friendsofphp/php-cs-fixer that lets a consuming repo instantiate a centralised Config instead of copy-pasting .php-cs-fixer.php between projects. It sits at the very edge of the architecture (dev dependencies only), so it introduces no coupling to application code, no service boundary, and no deployment surface. That is both its strength and its limit: adoption is cheap, but the only value delivered is stylistic consistency, and that consistency is Stickee's opinion, not necessarily ours. It does not touch Laravel's container, HTTP layer, or Eloquent, so there is no framework-level integration risk whatsoever.

Integration feasibility. High on paper: composer require --dev, point the config file at the package's class, run php-cs-fixer fix. The real feasibility question is toolchain coexistence. Most Laravel estates standardise on Laravel Pint, which is itself a PHP-CS-Fixer wrapper driven by pint.json. Running Pint and this package side by side produces two competing formatters — a classic "who owns style" conflict. The viable paths are (a) replace Pint with raw php-cs-fixer + this config, or (b) extract the package's rules array and express it as Pint rules, avoiding the dependency entirely. Path (b) is lower-risk and captures most of the value.

Technical risk. Low blast radius, moderate friction. Nothing here can break production; the worst case is CI noise and diff churn. The substantive risks are: version pinning (the package will constrain php-cs-fixer's major, which must match whatever CI and IDE integrations already use), first-run reformatting (adopting a new rule set typically produces a large one-off diff that pollutes git blame unless captured in .git-blame-ignore-revs), and upstream durability — 2 stars, 0 dependents, single-organisation ownership means we would be the first external adopter and therefore the de facto QA.

Key questions.

  • Which friendsofphp/php-cs-fixer majors and PHP versions are supported, and how tight is the constraint?
  • Is the rule set PSR-12-based with additions, or does it carry opinionated rules (ordered class elements, final classes, declare(strict_types=1) injection) that would force semantic-ish edits?
  • Is the Config class designed for extension/override, or is it a closed preset?
  • Does Stickee accept external issues/PRs, and is there any documented BC policy or changelog?
  • Is there a machine-readable rules array we could export into Pint?
  • How does it interact with PHPStan/Rector/Pint configs already in our repos?

Integration Approach

Stack fit. Applies to any PHP/Laravel repo in the estate (Laravel 9–12, PHP 8.1+), as a require-dev entry. Zero runtime footprint, no image size impact, no autoload cost in production. The only genuine fit question is whether the org has standardised on Pint; if so, treat this package as a rules source, not a dependency.

Migration path. Recommend a four-stage ramp:

  1. Harvest — install in a scratch repo, dump the resolved rule set, diff it against our current Pint/php-cs-fixer configuration to quantify disagreement.
  2. Report-only — add a non-blocking CI job on one pilot service running --dry-run --diff; measure file-touch count and diff volume.
  3. Auto-fix on a branch — apply, review, merge as a single style-only commit recorded in .git-blame-ignore-revs.
  4. Enforce — flip CI to blocking, add a composer lint:fix script and optional pre-commit hook.

Compatibility. Validate three constraints before committing: php-cs-fixer major, PHP minimum, and the absence of overlap with existing Pint configuration. Also confirm IDE/editor integrations (PhpStorm's quality tools) can point at the same config, otherwise developers will get conflicting auto-formats locally.

Sequencing. Style tooling work is best batched with other dev-experience initiatives rather than run standalone — the payoff is consistency, not capability. If a broader CI/linting standardisation effort exists, this becomes a candidate rule set within it. If not, prioritise behind anything with production impact. Given the low opportunity score (33.8) and zero dependents, this should not consume roadmap capacity on its own merits.

Operational Impact

Maintenance. The package is a thin wrapper and will need little of our attention, but it will need an owner. Plan for a fork-or-vendor contingency from day one: if upstream goes quiet, we pin the last good version and carry the rules ourselves. Dependency bots will surface releases; treat php-cs-fixer major bumps as breaking changes requiring a full-codebase reformat review, not routine merges.

Support. MIT, no SLA, no commercial backing, community-only responsiveness. Internal documentation burden is a single onboarding page explaining the formatter, the composer lint script, and how to fix a failing CI lint job. That is achievable in an afternoon.

Scaling. Effectively free. A dev dependency adds no infrastructure cost and scales linearly in repos, not traffic — 5 repos or 500, the model is identical. The real scaling cost is organisational: every rule change ripples across every adopting repo simultaneously, which is exactly the point but also the risk.

Failure modes.

  • Dependency conflict: upstream pins a php-cs-fixer version that clashes with another dev tool, blocking composer update across the estate.
  • Silent reformat: a minor release tightens a rule, producing whole-file diffs in unrelated PRs and breaking blame attribution.
  • Staleness: upstream lags new PHP syntax (property hooks, asymmetric visibility), leaving newer code formatted inconsistently or incorrectly.
  • Tool conflict: Pint and php-cs-fixer both auto-formatting on save, producing churn loops for developers.
  • CI regression: an added blocking lint step lengthens pipelines and becomes a merge bottleneck until the baseline is clean.

Ramp-up. Near-zero for engineers — they run a script. The communication burden is the "why": explaining that style churn is intentional and that the one-off large diff is expected. Budget a short team briefing and a pinned PR to land the reformat commit cleanly.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log