Customization
Adapt SWAT to your own project, workflow and hosting strategy without fighting the base structure.
SWAT is designed to be a flexible starting point for Symfony projects.
The provided structure, frontend stack and CI/CD workflows can all be adapted
to match your own development and deployment workflow.
The goal is not to force a rigid setup, but to give you a practical base
that you can simplify, extend or reorganize depending on your project needs.
The project includes example pages, assets and tests used to demonstrate
the structure and verify that the stack works correctly.
When starting a real project, you may want to remove this content
and keep only the shared base structure.
# These commands remove the example pages, assets and tests from the project
# Review them first and adjust them if needed before running
# On Windows
.\scripts\cleanup\clean-example-files.ps1
# On Linux or macOS
./scripts/cleanup/clean-example-files.sh
The provided GitHub Actions workflows are meant to be adapted to your own environment. You can modify the triggers, branches, validation steps and deployment logic to match your hosting setup and release process.
| Workflow | Purpose | Customization points |
|---|---|---|
| Validation | Validates the project on pull requests before merge | Triggers, checks, test commands, quality tools |
| Preproduction deployment | Deploys the application to a staging environment before release | Triggers, deployment steps, server access, Docker or reverse proxy setup |
| Production deployment | Deploys the application to the live production environment | Triggers, deployment steps, hosting setup, release flow |
SWAT is intended to be modified. In most projects, the first customizations usually include
removing the example content, adapting the workflows, changing the frontend organization
or extending the Symfony application structure.
You are free to add or remove packages, reorganize templates, change the deployment strategy
or adjust the pipeline, as long as the resulting setup stays consistent with your project.