arxeiss/coding-standards
Arxeiss Coding Standards offers a reusable PHP_CodeSniffer ruleset for PHP and Laravel projects, helping teams enforce consistent formatting, naming, and code-quality rules. Install via Composer and reference the included standard in your PHPCS config for shared, maintainable style conventions.
Package category: Dev-only static-analysis tooling. arxeiss/coding-standards is a PHP_CodeSniffer ruleset.xml distributed as a Composer package — it ships no runtime code, no service provider, no facades, and therefore carries zero production blast radius. For a TPM this is the most favorable risk class available: adoption is reversible with a single composer remove --dev and a CI config edit.
Architecture fit: Good conceptual fit for Laravel/PHP shops that want opinionated, centrally versioned style enforcement. It slots in as a require-dev dependency referenced by path from a project or org-level ruleset.xml. It does not replace Laravel Pint — Pint wraps PHP-CS-Fixer, not PHPCS — so teams already standardized on Pint would be running two overlapping fixers, which is a real source of conflicting auto-fixes and developer frustration. Architectural fit is therefore conditional: this package makes sense if the org's linting spine is PHP_CodeSniffer (often for its sniff-rule granularity, Slevomat sniffs, or legacy codebases already on PHPCS); it is a poor fit as a second opinion alongside Pint.
Integration feasibility: Technically trivial — one Composer line, one XML include, one CI step. The effort is not integration, it is normalization: applying a new ruleset to an existing codebase surfaces a violation backlog that must be either fixed, baselined, or scoped to changed files. Budget for that, not for the install.
Technical risk:
composer.json. Any drift between this ruleset's constraints and the host project's PHP/PHPCS version produces resolver conflicts that block unrelated dependency upgrades — a classic dev-dependency lock.Key questions:
ruleset.xml designed for inclusion, or is it primarily a self-testing repo we would have to fork?Stack fit: Fits any PHP 8.x codebase with Composer and a CI pipeline; fits Laravel projects specifically only where the team has chosen PHPCS as the enforcement layer. It composes cleanly with PHPStan/Psalm (complementary, no overlap), and composes poorly with Pint/PHP-CS-Fixer in fixer mode.
Migration path:
org/coding-standards package whose ruleset.xml includes the upstream ruleset and layers org-specific overrides. Every project depends on the wrapper, never on the upstream directly. This gives one place to patch rules and one place to swap the upstream out.composer.lock. Treat ruleset upgrades as reviewed PRs with a CI dry-run attached.Compatibility: Verify PHPCS major version alignment and the PHP version matrix before any code changes. If the org runs mixed PHP 8.1/8.3 images, confirm the ruleset's sniffs are version-neutral or split the ruleset per matrix entry.
Sequencing (advisory → enforcing):
phpcs --standard=<ruleset> --report=summary against two representative repos, one greenfield and one legacy. Quantify violation counts per sniff. This number determines whether the rollout is a sprint or a program.Maintenance: Low ongoing effort, but non-zero ownership effort. Realistically the upstream package should be assumed frozen. Budget roughly a few hours per quarter to review upstream changes and merge them into the fork, plus one-time fork setup. Because the artifact is declarative XML, maintenance is a code review task, not an engineering task.
Support: No SLA, no vendor, no downstream community. Support model is internal: whoever owns the wrapper package owns the ruleset. Document that owner explicitly — otherwise the ruleset becomes an orphan that nobody dares change and everyone works around with // phpcs:ignore.
Scaling: Operationally cheap — PHPCS is CPU-local, adds seconds to CI, scales horizontally with existing build runners. The scaling constraint is social, not technical: as the number of repos grows, rule changes propagate to all of them simultaneously via the wrapper. This is the desired behavior but requires a change-management gate, otherwise a Tuesday afternoon wrapper bump red-lines forty pipelines at once.
Failure modes and mitigations:
phpcs:ignore → Phase-1 advisory period exists precisely to tune the ruleset before enforcement; if a rule generates ignore-comments at scale, delete the rule from the wrapper.Ramp-up: Low. PHPCS is ubiquitous in PHP tooling; the incremental learning is "how to write and override a ruleset.xml," which is well-documented upstream and takes an engineer under a day. The real onboarding cost is communicating why a rule exists so the team does not treat lint output as noise. Include the wrapper's rationale in the repo README rather than pointing at an unfamiliar 8-star upstream.
TPM recommendation: Do not adopt as a live external dependency. Adopt as a forked-and-wrapped ruleset if and only if the org has standardized on PHP_CodeSniffer and accepts a single-owner maintenance model for the wrapper. If the org is on Pint, the correct decision is to skip this package and encode the same conventions as a Pint preset — the value here is the ruleset content, not the distribution vehicle, and the content is forkable under Apache-2.0.
How can I help you explore Laravel packages today?