# {{PROJECT_NAME}} - Symfony

> Generado: {{GENERATION_DATE}} | Claude Craft v{{VERSION}}

## Que (Stack y Estructura)

**Stack**: {{TECH_STACK}}

### Estructura del proyecto
```
src/
├── Domain/           # Logica de negocio pura (sin dependencias externas)
│   ├── Entity/       # Aggregates roots
│   ├── ValueObject/  # Objetos inmutables
│   ├── Event/        # Domain Events
│   └── Repository/   # Interfaces de repositorios
├── Application/      # Casos de uso (CQRS)
│   ├── Command/      # Operaciones de escritura
│   ├── Query/        # Operaciones de lectura
│   └── Handler/      # Handlers
└── Infrastructure/   # Detalles tecnicos
    ├── Persistence/  # Doctrine implementations
    ├── Http/         # Controllers
    └── Cache/        # Redis
```

## Por que (Proposito y Organizacion)

### Arquitectura: Clean Architecture + DDD + Hexagonal
- **Domain**: Logica de negocio sin dependencias externas
- **Application**: Casos de uso que orquestan el dominio
- **Infrastructure**: Implementaciones tecnicas

Ver `rules/02-architecture-clean-ddd.md` para patrones detallados.

### Reglas criticas

| Regla | Descripcion |
|-------|-------------|
| Analisis primero | OBLIGATORIO antes de cualquier codigo |
| Docker exclusivo | Todas las comandas via `make` |
| TDD estricto | RED -> GREEN -> REFACTOR |
| Calidad | `make quality` despues de cada cambio |
| Cobertura | Minimo 80% de tests |

## Como (Comandos y Flujos de trabajo)

### Comandos de desarrollo
```bash
make up                # Iniciar stack
make shell             # Shell en container PHP
make console CMD="..." # Symfony console
make composer CMD="..."# Composer
```

### Pipeline de calidad
```bash
make quality           # PHPStan + CS-Fixer + Rector + Deptrac + Tests
make test              # Todos los tests
make test-coverage     # Cobertura HTML
make hadolint          # Lint Dockerfiles
```

### Flujo de desarrollo
1. **Analizar** - `rules/01-workflow-analysis.md`
2. **TDD** - Escribir test ANTES de implementar
3. **Calidad** - `make quality` despues de cada cambio
4. **Commit** - Conventional Commits

## Referencias

| Contexto | Archivo |
|----------|---------|
| Antes de modificar | `rules/01-workflow-analysis.md` |
| Arquitectura | `rules/02-architecture-clean-ddd.md` |
| Estandares codigo | `rules/03-coding-standards.md` |
| SOLID | `rules/04-solid-principles.md` |
| KISS/DRY/YAGNI | `rules/05-kiss-dry-yagni.md` |
| Docker | `rules/06-docker-hadolint.md` |
| Tests | `rules/07-testing-tdd-bdd.md` |
| Git | `rules/09-git-workflow.md` |
| Seguridad | `rules/11-security-rgpd.md` |

<!-- PROJECT-SPECIFIC-START -->
## Especificidades del proyecto

<!-- Agregar configuracion especifica del proyecto aqui -->

<!-- PROJECT-SPECIFIC-END -->
