tightenco/duster
Duster automatically applies Tighten’s Laravel code style by running TLint, PHP_CodeSniffer, PHP CS Fixer, and Laravel Pint. Lint or fix the whole project (or only dirty files), and generate GitHub Actions or Husky hooks with optional container env support.
duster.json.duster fix --dirty (only auto-fix uncommitted changes).Adopt Duster if:
Look Elsewhere if:
duster.json allows overrides)."Duster automates Laravel code quality enforcement, reducing technical debt and developer friction. By integrating it into our CI/CD pipelines and pre-commit hooks, we’ll catch issues early—saving time on reviews and merges. It’s a low-effort, high-impact way to standardize our codebase, similar to how we enforce design systems for UI. The MIT license and Tighten’s track record (used in production by their clients) make it a safe, scalable choice. Initial setup takes <1 hour per project, with long-term ROI in maintainability."
Ask: "Should we prioritize this for our next Laravel project, or explore alternatives for non-PHP stacks?"
*"Duster bundles TLint, PHP_CodeSniffer, PHP CS Fixer, and Pint with Tighten’s Laravel-optimized presets. Key benefits:
- One command (
./vendor/bin/duster lint/fix) replaces running 4+ tools separately.- Pre-commit hooks (Husky) block bad code before it’s merged.
- GitHub Action integrates seamlessly into PR workflows.
- Customizable: Exclude files, add PHPStan, or tweak rules via
duster.json.Trade-offs:
- Locks into Tighten’s style (but overrides are easy).
- Adds ~5MB to
vendor/(negligible for most projects).Proposal: Use Duster for all new Laravel projects. For legacy code, run
duster fix --dirtyincrementally to avoid massive refactors."*
Ask: "Does the team prefer Tighten’s presets, or should we start with a custom config?"
How can I help you explore Laravel packages today?