symfony-framework
Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.
Best use case
symfony-framework is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.
Teams using symfony-framework should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/symfony-skill/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How symfony-framework Compares
| Feature / Agent | symfony-framework | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Symfony Framework Development Skill
## Instructions à Exécuter
**IMPORTANT : Exécute ce workflow étape par étape :**
## Quick Start
```bash
# Full web app
symfony new project_name --version="6.4.*" --webapp
# API/Microservice
symfony new project_name --version="6.4.*"
# Without CLI
composer create-project symfony/skeleton:"6.4.*" project_name
```
## Core Patterns
### Controller
- Extend `AbstractController`
- Use attributes for routing: `#[Route('/path', name: 'route_name')]`
- Automatic entity parameter conversion
### Services
- Autowiring by default
- Configure in `config/services.yaml`
### Doctrine
- Create entity: `php bin/console make:entity`
- Create migration: `php bin/console make:migration`
- Execute: `php bin/console doctrine:migrations:migrate`
### Forms
- Dedicated `FormType` classes
- Handle in controller: `createForm()`, `handleRequest()`, `isSubmitted()`, `isValid()`
### Security
- Configure in `config/packages/security.yaml`
- Use Voters for authorization
## Essential Commands
```bash
php bin/console cache:clear
php bin/console debug:router
php bin/console debug:container
php bin/console make:controller
php bin/console make:crud Product
```
## Best Practices
1. Use dependency injection
2. Prefer composition over inheritance
3. Keep controllers thin
4. Use DTOs for API input/output
5. Repository pattern for queries
6. Voters for authorization
7. Cache expensive operations
8. TDD for critical features
## Deployment Checklist
1. `APP_ENV=prod`, `APP_DEBUG=0`
2. `composer install --no-dev --optimize-autoloader`
3. `php bin/console cache:clear --env=prod`
4. `npm run build`
5. `php bin/console doctrine:migrations:migrate --env=prod`
## References
Pour détails avancés :
- `references/doctrine-advanced.md` - ORM patterns
- `references/security-detailed.md` - Security configs
- `references/api-platform.md` - API Platform
- `references/testing-complete.md` - Testing strategies
- `references/performance-tuning.md` - OptimizationRelated Skills
symfony:make
Cherche si il existe un maker Symfony pour faire la tache demandée et l'utilise si il existe. Si aucun maker n'existe alors utilise la slash command "/prepare"
framework:make:urls
Génère classe Urls + Message CQRS + Handler
framework:make:story
Génère Story Foundry pour fixtures de tests
framework:make:out
Génère classe Out (DTO immuable pour output)
framework:make:invalide
Génère classe Invalide (exceptions métier)
framework:make:factory
Génère Factory Foundry pour tests
framework:make:entity
Génère une entité Doctrine avec repository selon principes Elegant Objects
framework:make:contracts
Génère les interfaces de contrats pour une architecture Elegant Objects
framework:make:collection
Génère classe Collection typée avec traits Atournayre
framework:make:all
Génère tous les fichiers pour une entité complète (orchestrateur)
fix-grammar
Fix grammar and spelling errors in one or multiple files while preserving formatting
phpstan-resolver
Résout automatiquement les erreurs PHPStan en analysant et corrigeant les problèmes de types. Boucle jusqu'à zéro erreur ou stagnation.