A modern Symfony starter with CI/CD, automated deployments and built-in testing.
👉 Documentation: https://swat.depatin-florian.fr
SWAT is a modern Symfony starter template designed to bootstrap a production-ready application with:
- a clean architecture
- automated CI/CD pipelines
- integrated testing tools
- a lightweight and maintainable frontend stack
It gives you a solid foundation out of the box, without overengineering your project.
SWAT was created with a simple goal:
Provide a clean, modern and production-ready Symfony foundation without unnecessary complexity.
Most starters either:
- include too many tools and abstractions
- or provide almost no structure at all
SWAT sits in between by offering:
- a clean and scalable structure
- modern but minimal tooling
- automated workflows
- predictable developer experience
Everything included solves a real development need.
Built on the latest Symfony version with a production-ready configuration.
Twig + Webpack Encore + TypeScript + Turbo + SCSS.
No heavy SPA frameworks — just fast and maintainable code.
GitHub Actions pipelines handle:
- dependency installation
- asset build
- test execution
- deployments
Includes:
- PHPUnit (backend tests)
- PHPStan (static analysis)
- ESLint (frontend linting)
- Vitest (frontend tests)
The homepage acts as a technical validation page to confirm that:
- Symfony
- Twig
- Webpack Encore
- Turbo
- frontend assets
are correctly running.
Organized to be readable, maintainable and scalable from day one.
Designed to be used as a GitHub template repository.
- PHP 8.2+
- Symfony
- Doctrine ORM
- Twig
- Turbo
- Webpack Encore
- TypeScript
- SCSS
- PHPUnit
- PHPStan
- ESLint
- Vitest
- GitHub Actions
- Automated deployments
- Preprod + production workflows
SWAT is intended to be used as a GitHub template repository.
Use the template on GitHub, then:
git clone https://github.com/your-username/your-project.git cd your-project
composer install npm install
npm run dev
symfony serve
or
php -S localhost:8000 -t public
The homepage confirms that your stack is working correctly.
SWAT includes example content used for demonstration and validation.
To start with a clean base:
Windows
.\scripts\cleanup\clean-example-files.ps1
Linux / macOS
./scripts/cleanup/clean-example-files.sh
SWAT includes GitHub Actions workflows providing:
- automated build
- test execution
- preproduction deployment
- production deployment
The pipelines are designed to be:
- simple
- predictable
- easily customizable
SWAT includes Doctrine migration checks in CI and automatic migration execution during deployment.
In CI, the pipeline validates the database setup by running test migrations, checking the Doctrine schema and ensuring that no migration diff is pending.
During preproduction and production deployments, SWAT can create the database if needed and execute Doctrine migrations automatically, keeping the database schema in sync with the application code.
Example command:
php bin/console doctrine:migrations:migrate --no-interaction
The project includes a complete documentation website:
- setup guide
- CI/CD
- project structure
- customization
- FAQ
👉 https://swat.depatin-florian.fr
This project is released under the MIT License.
Florian Depatin
SWAT is intentionally minimal.
Future improvements may include:
- real-world feedback integration
- CI/CD enhancements
- ecosystem extensions
Contributions, ideas and feedback are welcome.
Feel free to open issues or discussions.
SWAT is actively maintained and used as a base for real Symfony projects.