# {{PROJECT_NAME}} - C#/.NET

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

## Que (Stack y Estructura)

**Stack**: {{TECH_STACK}}
**.NET**: {{DOTNET_VERSION}}
**C#**: 13

### Estructura del proyecto
```
src/
├── Domain/           # Logica de negocio core (sin dependencias externas)
│   ├── Entities/     # Modelos de dominio ricos
│   ├── ValueObjects/ # Tipos de valor inmutables
│   └── Events/       # Domain events
├── Application/      # Casos de uso, CQRS (depende de Domain)
│   ├── Commands/     # Operaciones de escritura
│   ├── Queries/      # Operaciones de lectura
│   └── Behaviors/    # Pipeline behaviors MediatR
├── Infrastructure/   # Concerns externos (depende de Domain + Application)
│   └── Persistence/  # Entity Framework Core
└── WebAPI/           # Capa presentacion (depende de todos)
```

## Por que (Proposito y Organizacion)

### Arquitectura: Clean Architecture + CQRS + DDD
- **Domain**: Logica de negocio sin dependencias externas
- **Application**: Commands y Queries separados con MediatR
- **Infrastructure**: Implementaciones tecnicas

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

### Reglas criticas

| Regla | Descripcion |
|-------|-------------|
| Analisis primero | OBLIGATORIO antes de cualquier codigo |
| Nullable types | Referencias nullable habilitadas |
| CancellationToken | Siempre en metodos async |
| Cobertura | Minimo 80% |

## Como (Comandos y Flujos de trabajo)

### Comandos de desarrollo
```bash
dotnet build                 # Compilar
dotnet run --project src/WebAPI # Ejecutar API
dotnet ef migrations add [Name] # Crear migracion
```

### Pipeline de calidad
```bash
dotnet test                  # Ejecutar tests
dotnet test --collect:"XPlat Code Coverage" # Con cobertura
dotnet format                # Formatear codigo
```

### Comandos disponibles
- `/csharp:check-compliance` - Auditoria completa
- `/csharp:check-architecture` - Validacion arquitectura
- `/csharp:check-code-quality` - Analisis calidad codigo
- `/csharp:generate-feature` - Generar feature CQRS

### Flujo de desarrollo
1. **Analizar** - `rules/01-workflow-analysis.md`
2. **TDD** - Escribir test ANTES de implementar
3. **Calidad** - Tests + format antes de commit
4. **Commit** - Conventional Commits

## Referencias

| Contexto | Archivo |
|----------|---------|
| Antes de modificar | `rules/01-workflow-analysis.md` |
| Arquitectura | `rules/02-architecture.md` |
| Estandares codigo | `rules/03-coding-standards.md` |
| SOLID | `rules/04-solid-principles.md` |
| Tests | `rules/07-testing.md` |
| Seguridad | `rules/11-security.md` |

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

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

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