# {{PROJECT_NAME}} - Python

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

## Que (Stack y Estructura)

**Stack**: {{TECH_STACK}}
**Framework**: {{WEB_FRAMEWORK}}
**Python**: {{PYTHON_VERSION}}

### Estructura del proyecto
```
{{PROJECT_NAME}}/
├── domain/           # Logica de negocio pura (sin dependencias)
│   ├── entities/     # Objetos con identidad
│   ├── value_objects/# Inmutables, definidos por valores
│   └── repositories/ # Interfaces (Protocols)
├── application/      # Casos de uso
│   ├── commands/     # Operaciones de escritura
│   └── queries/      # Operaciones de lectura
└── infrastructure/   # Adaptadores
    ├── persistence/  # Implementaciones repositorios
    └── api/          # Routes FastAPI/Flask
```

## Por que (Proposito y Organizacion)

### Arquitectura: Clean/Hexagonal
- **Domain**: Logica de negocio sin dependencias
- **Application**: Casos de uso que orquestan
- **Infrastructure**: Implementaciones tecnicas

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

### Reglas criticas

| Regla | Descripcion |
|-------|-------------|
| Analisis primero | OBLIGATORIO antes de cualquier codigo |
| Type hints | Obligatorios en funciones publicas |
| Docstrings | Google style en funciones/clases publicas |
| Cobertura | Global >80%, Domain >95% |

## Como (Comandos y Flujos de trabajo)

### Comandos de desarrollo
```bash
make setup     # Configuracion inicial
make install   # Instalar dependencias
make dev       # Iniciar entorno desarrollo
make shell     # Shell en container
```

### Pipeline de calidad
```bash
make lint          # Linting con ruff
make format        # Formateo con black + isort
make type-check    # Verificacion tipos con mypy
make security-check# Analisis seguridad con bandit
make quality       # Todas las verificaciones
```

### 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.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 -->
