Bob moved to Canada in 2023 after 20+ years doing Web Development in Japan. When not working with Drupal, he enjoys personal coding projects, woodworking, and 3D Printing. He is bad with names, bad with faces, and worse with the combo.
You've pushed your code. GitLab CI rejects it. You fix it. You push again. Sound familiar?
This session is about ending that cycle. I'll show you how to run the exact same code quality checks that Drupal.org's GitLab CI pipeline uses, directly inside your DDEV environment, before you ever push a commit.
Along the way, I'll demo a DDEV add-on I built specifically for this: ddev-drupal-code-quality. One command installs it, and it brings in Drupal-appropriate configurations for PHPCS, PHPStan, ESLint, Stylelint, and CSpell — matching what GitLab CI actually runs. You'll see a real workflow: run the checks, interpret the output, use autofix tools like PHP Code Beautifier where they help, use PHPStan baselines to manage pre-existing issues without being overwhelmed, and work through errors one checker at a time.
I'll also cover how to get IDE integration so problems surface while you're writing code, not after you push — and when to use ddev-drupal-contrib instead if you're working on a standalone contrib module or theme.
You don't need deep expertise in any of these tools. The add-on handles configuration, and I'll show you exactly what to do when things don't work.
At the end of this session, attendees will be able to:
-
Install and configure
ddev-drupal-code-qualityto run PHPCS, PHPStan, ESLint, Stylelint, and CSpell locally with Drupal-standard configuration. - Work through code quality errors systematically — using autofixers and PHPStan baselines to handle issues incrementally without blocking progress.
- Integrate checks into their IDE and daily workflow to catch problems early, reduce failed CI builds, and ship cleaner code.