Prerequisites
Before you begin, make sure you have the following installed:- Docker and Docker Compose (recommended path)
- PHP 8.1+ and Composer (required for the non-Docker path)
- pnpm (for building frontend assets)
Setup
- With Docker (recommended)
- Without Docker
1
Start the container
Build and start the development container:This builds the Docker image, starts the container, and runs
composer install automatically.2
Install all dependencies
Install both Composer and pnpm dependencies inside the container:
3
Run the tests
Verify your setup is working:
Available Make targets
All targets run commands inside the Docker container. The container starts automatically if it isn’t running.Composer scripts
These scripts run directly withcomposer inside the container (or locally without Docker):
Running tests
The bundle has 150+ tests targeting 90%+ code coverage. CI runs the full matrix across PHP 8.1–8.5 and Symfony 6.4, 7.0, 8.0.Test structure
Code quality tools
The bundle uses three tools to maintain code quality:- PHP-CS-Fixer — enforces PSR-12 code style (config:
.php-cs-fixer.dist.php) - PHPStan — static analysis
- Rector — automated refactoring
Building frontend assets
The bundle ships TypeScript and SCSS assets compiled with Vite.- With Docker
- Locally
Asset locations
Main output files in
src/Resources/views/assets/dist/:
index.min.js— bundled TypeScript (IIFE)style.min.css— compiled SCSS
CI/CD
GitHub Actions run on every push and pull request:- Tests — PHP 8.1–8.5 × Symfony 6.4, 7.0, 8.0 matrix
- Code style — PHP-CS-Fixer; auto-fix on push to
main/master - Coverage — 90% minimum enforced in CI
- Assets — TypeScript and SCSS build verified
- Dependabot — automated dependency update PRs
