PHPackages                             thronedigital/drupal-qa - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. thronedigital/drupal-qa

ActiveLibrary[Testing &amp; Quality](/categories/testing)

thronedigital/drupal-qa
=======================

Reusable CI/QA toolchain for Drupal projects. Provides PHPUnit, PHPCS, PHPStan, Behat, and GrumPHP with sensible defaults and generic smoke tests.

v1.3.1(2mo ago)0598↑22.5%MITShellPHP &gt;=8.2

Since Apr 10Pushed 2mo agoCompare

[ Source](https://github.com/DanePete/drupal-qa)[ Packagist](https://packagist.org/packages/thronedigital/drupal-qa)[ RSS](/packages/thronedigital-drupal-qa/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (14)Versions (12)Used By (0)

drupal-qa
=========

[](#drupal-qa)

Reusable CI/QA toolchain for Drupal 10+ projects. One `composer require` gives you automated testing, code quality checks, AI-powered PR reviews, and GitHub Actions workflows for Pantheon — with sensible defaults that work out of the box.

Table of Contents
-----------------

[](#table-of-contents)

- [What You Get](#what-you-get)
- [Quick Setup](#quick-setup)
- [How It Works](#how-it-works)
- [Gradual Adoption](#gradual-adoption)
- [AI PR Reviews](#ai-pr-reviews)
- [Using AI to Generate Tests](#using-ai-to-generate-tests)
- [Debugging CI Failures](#debugging-ci-failures)

**Reference:**

- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [What's Included](#whats-included)
- [GitHub Actions Setup](#github-actions-setup)
- [Workflow Inputs](#workflow-inputs)
- [Adding Project-Specific Tests](#adding-project-specific-tests)
- [Customizing Configs](#customizing-configs)
- [Optional Extras](#optional-extras)
- [Opinionated Defaults](#opinionated-defaults)
- [Upgrading](#upgrading)
- [Troubleshooting](#troubleshooting)

Install
-------

[](#install)

```
composer require --dev thronedigital/drupal-qa
```

Or run the [setup script](#quick-setup) which does this and more.

What You Get
------------

[](#what-you-get)

- **Automated PR checks** — PHPCS, PHPStan, YAML lint, security audit, PHPUnit on every pull request
- **Secret scanning** — Gitleaks scans every PR for accidentally committed API keys, passwords, tokens, and credentials before they reach production
- **Preview environments** — Pantheon multidev created automatically for each PR
- **Smoke tests** — Behat tests verify login, access control, homepage, and commerce flows
- **Pre-commit hooks** — GrumPHP catches debug code and coding violations before you push
- **AI PR reviews** — GitHub Copilot reviews every PR for Drupal-specific issues (optional)
- **AI coding instructions** — CLAUDE.md scaffolded with Drupal best practices for Claude Code, Cursor, etc.
- **Ready-to-use AI prompts** — generate unit tests, fix violations, debug CI failures

Quick Setup
-----------

[](#quick-setup)

### Option A: Interactive Setup Script

[](#option-a-interactive-setup-script)

Run this from your Drupal project root — it handles everything:

```
bash
