eckinox/eckinox-cs
Eckinox CS adds linting and coding standards to PHP projects. Installs and configures PHP-CS-Fixer, PHPStan, PHPMD and more, plus JS deps, config files, helper scripts, a git pre-commit hook, and a GitHub Actions workflow.
npm install step could interfere with existing frontend tooling (e.g., if the project uses Yarn or custom Webpack configs).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Rule conflicts | High | Audit existing .php_cs, phpstan.neon, and custom ESLint configs pre-integration. |
| Git hook collisions | Medium | Test locally with git commit before merging; document hook merge steps in PR. |
| Node.js version | Medium | Pin Node.js version in .nvmrc or Dockerfile to avoid runtime issues. |
| CI pipeline impact | Low | Run the GitHub Actions workflow in a PR to validate compatibility. |
| Performance overhead | Low | Benchmark pre-commit hook execution time; exclude large files (e.g., vendor/) via .gitignore. |
.php_cs, phpstan.neon, and ESLint configs for conflicts.// phpcs:ignore annotations).composer require --dev eckinox/eckinox-cs
npm install
chmod +x DEV/**/*
DEV/cs/ scripts (e.g., skip PHPStan if baselines are incompatible).pre-commit-with-bypass script for critical fixes during transition.| Component | Compatibility Notes |
|---|---|
| PHP Version | Supports PHP 8.1+ (check composer.json for project’s min PHP version). |
| Node.js | Requires Node.js 16+ (pin version in .nvmrc or package.json engines field). |
| Laravel Version | Tested with Symfony 6+; may need adjustments for older Laravel versions (e.g., <8.x). |
| Existing Configs | Risk: Overwrites .editorconfig, .php_cs.dist, etc. Backup files pre-install. |
| Monorepos | Risk: May install tools globally; scope to Laravel app directory only. |
| Dockerized Environments | Ensure npm install and chmod steps are included in Docker builds. |
composer install
npm install
./DEV/cs run # Test all tools
on: [pull_request, push]
main after confirming no false positives in PRs.How can I help you explore Laravel packages today?