symfony-framework

Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.

8 stars

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

$curl -o ~/.claude/skills/symfony-skill/SKILL.md --create-dirs "https://raw.githubusercontent.com/atournayre/claude-marketplace/main/symfony/skills/symfony-skill/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/symfony-skill/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How symfony-framework Compares

Feature / Agentsymfony-frameworkStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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` - Optimization

Related Skills

symfony:make

8
from atournayre/claude-marketplace

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

8
from atournayre/claude-marketplace

Génère classe Urls + Message CQRS + Handler

framework:make:story

8
from atournayre/claude-marketplace

Génère Story Foundry pour fixtures de tests

framework:make:out

8
from atournayre/claude-marketplace

Génère classe Out (DTO immuable pour output)

framework:make:invalide

8
from atournayre/claude-marketplace

Génère classe Invalide (exceptions métier)

framework:make:factory

8
from atournayre/claude-marketplace

Génère Factory Foundry pour tests

framework:make:entity

8
from atournayre/claude-marketplace

Génère une entité Doctrine avec repository selon principes Elegant Objects

framework:make:contracts

8
from atournayre/claude-marketplace

Génère les interfaces de contrats pour une architecture Elegant Objects

framework:make:collection

8
from atournayre/claude-marketplace

Génère classe Collection typée avec traits Atournayre

framework:make:all

8
from atournayre/claude-marketplace

Génère tous les fichiers pour une entité complète (orchestrateur)

fix-grammar

8
from atournayre/claude-marketplace

Fix grammar and spelling errors in one or multiple files while preserving formatting

phpstan-resolver

8
from atournayre/claude-marketplace

Résout automatiquement les erreurs PHPStan en analysant et corrigeant les problèmes de types. Boucle jusqu'à zéro erreur ou stagnation.