make qa (code style check + tests) and make release-check to verify everything passes.
Setting up the environment
- With Docker (recommended)
- Without Docker
Start the container
install, test, test-coverage, cs-check, cs-fix, rector, phpstan, qa) depend on ensure-up: if the container is not running, make up is triggered and dependencies are installed before the command runs.Running tests
Tests live intests/ and are PHPUnit-based.
Code quality
The bundle uses PHP CS Fixer (PSR-12 + Symfony canonical), PHPStan, and Rector.Check and fix code style
PHPStan static analysis
Rector
Run all QA checks at once
make qa (or composer qa) runs cs-check and test in sequence.
Composer scripts reference
| Script | What it does |
|---|---|
test | Run PHPUnit tests |
test-coverage | Run tests with code coverage |
cs-check | Check code style (PHP CS Fixer, no changes) |
cs-fix | Apply PHP CS Fixer fixes |
rector | Apply Rector refactoring |
phpstan | Run PHPStan static analysis |
qa | Run cs-check + test |
Building dashboard assets
Dashboard TypeScript sources are compiled to JavaScript with Vite. Source files (src/Resources/assets/src/):
dashboard.ts— main dashboard IIFE bundlestimulus-live.ts— Stimulus + LiveComponent ESM bundlelogger.ts— shared logger utility
src/Resources/public/js/):
dashboard.js— IIFE, loaded globally in the dashboard layoutstimulus-live.js— ESM, imported by Symfony UX
You can also run
make assets from the bundle root. It checks for node_modules first and calls pnpm install if needed, then runs pnpm run build.Release checks
Before tagging a release, run:composer-sync, cs-fix, cs-check, rector-dry, phpstan, test-coverage, and release-check-demos (each demo is started, verified with an HTTP health check, then stopped).
CI/CD
GitHub Actions (.github/workflows/ci.yml) run on every push and pull request:
- Tests across the supported PHP and Symfony matrix
- Code style check
- Optional demo verification
Pull request guidelines
- Run
make qabefore opening a PR to confirm code style and tests pass. - Run
make release-checkfor a full pre-release check including demo verification. - Keep commits focused; one logical change per commit is preferred.
- Update
CHANGELOG.mdunder[Unreleased]with a summary of your change. - If your change adds or modifies a config option, update the relevant docs pages.