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

Style Checker Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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:

  • Supply chain: no maintainer means no security response, though the exposure is limited to dev tooling rather than runtime.
  • Lock-in: genuinely low-risk. The artifact is text — a ruleset can be lifted out of vendor/ and inlined in an afternoon.
  • Decision debt: adopting an unmaintained third party's style opinion means we inherit a standard nobody on our team chose and nobody upstream will evolve. Style rules need to track PSR-12 / PER Coding Style and PHP language changes (enums, readonly properties, first-class callables); a frozen ruleset will progressively under-format new syntax.

Key questions.

  1. What exactly does it wrap — PHP-CS-Fixer, PHP_CodeSniffer, or a bespoke runner? This determines whether the config is portable in 30 minutes or requires rewriting.
  2. Which PHP and toolchain versions are pinned, and do we have a repo still on that baseline?
  3. Is there anything in the ruleset that materially differs from Laravel Pint's default? If not, the package has no reason to exist for us.
  4. If we adopt it, who owns style governance internally once the upstream is gone?

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.

Integration Approach

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:

  1. Install it in a throwaway branch (or read vendor/ after a manual clone) and dump the resolved ruleset.
  2. Diff that ruleset against our current pint.json / .php-cs-fixer.php.
  3. Port any genuinely valuable deltas into our own config — which becomes the single source of truth.

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.

  1. Ruleset audit (0.5 day) — extract, diff against Pint defaults, quantify the delta.
  2. Config authoring (0.5 day) — land the chosen rules in a shared internal package or per-repo config.
  3. Report-only pilot (1 week) — run on one mid-sized service in --dry-run / non-blocking CI to measure churn volume.
  4. Ratchet (1–2 sprints) — enforce on changed files only, not the whole tree, to avoid a format-only mega-PR that destroys git blame.
  5. Fleet rollout — one repo per PR, each with a green CI run before merge.

Operational Impact

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.

  • Resolve failure: composer install breaks on a PHP upgrade due to a conflicting pinned fixer — blocks all CI, not just linting.
  • Silent drift: new syntax lands unformatted because the ruleset predates it; no one notices because no one owns the rules.
  • False green: style checks run but are non-blocking after an emergency CI bypass, and never get re-tightened.
  • Bikeshed stall: adopting an opinionated third-party ruleset invites debate over rules nobody can change upstream.

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.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package