tightenco/duster
Duster applies Tighten’s default Laravel code style by combining TLint, PHP_CodeSniffer, PHP CS Fixer, and Laravel Pint. Lint or auto-fix your whole project or only dirty files, with optional GitHub Actions and Husky hooks support.
Strengths:
duster.json, aligning with Laravel’s preference for declarative configuration (e.g., .env, config/).phpcs.xml, pint.json), catering to teams with specific needs.--dirty flag for linting only uncommitted changes, integrating with Git workflows (e.g., pre-commit hooks).Weaknesses:
Tighten preset for PHP_CodeSniffer). Teams not aligned with Tighten’s conventions may need significant customization.Laravel Projects:
Non-Laravel PHP Projects:
php-cs-fixer, psalm).Polyglot Repos:
duster.json scripts.Low Risk for Laravel Teams:
composer require + ./vendor/bin/duster lint).Moderate Risk for Customization:
processTimeout in duster.json).High Risk for Non-Laravel Adoption:
pint.json) to equivalent tools in other ecosystems.Alignment with Standards:
Toolchain Maturity:
CI/CD Impact:
duster fix in CI? Are there resource constraints (e.g., memory, timeouts)?Developer Experience:
Long-Term Viability:
Primary Fit:
Secondary Fit:
duster.json scripts (e.g., adding JavaScript linters).Non-Fit:
Assessment Phase:
php-cs-fixer, psalm, eslint).Pilot Integration:
composer require tightenco/duster --dev../vendor/bin/duster lint to evaluate output. Fix critical issues manually first../vendor/bin/duster fix on a subset of files (e.g., app/ directory).Configuration Alignment:
./vendor/bin/duster github-actions # For CI
./vendor/bin/duster husky-hooks # For local dev
duster.json to:
tests, vendor).phpstan, pest).Toolchain Migration:
./vendor/bin/php-cs-fixer fix with ./vendor/bin/duster fix../vendor/bin/pint with Duster’s Pint integration.Gradual Rollout:
Laravel Versions:
PHP Versions:
composer.json constraints). Test with the project’s PHP version.Tool Dependencies:
tlint CLI). Version compatibility may vary.Tighten standard (v3.x tested).Git Integration:
--dirty flag. Works with Git 2.0+. Test with the project’s Git setup.Pre-Migration:
.php-cs-fixer.dist.php, pint.json).Core Integration:
duster lint and duster fix in a staging environmentHow can I help you explore Laravel packages today?