# Issue #007: Mejorar agente backend-lib (DevFactory)

**Tipo:** enhancement
**Prioridad:** alta
**Estado:** pendiente

## Descripción

Extender DevFactory con más módulos en shell/ y app/ para cubrir casos de uso comunes.

## Nuevos módulos shell/

### shell/postgres.go
- [ ] Cliente PostgreSQL funcional
- [ ] Connection pooling
- [ ] Transacciones con Result[T]
- [ ] Query builder básico

### shell/redis.go
- [ ] Cliente Redis funcional
- [ ] Get/Set/Del con Result[T]
- [ ] Pub/Sub
- [ ] Cache wrapper

### shell/queue.go
- [ ] Cola de mensajes simple
- [ ] Workers con retry
- [ ] Dead letter queue

## Nuevos módulos app/

### app/auth/
- [ ] JWT generation/validation
- [ ] OAuth2 client
- [ ] Session management
- [ ] Password hashing (argon2)

### app/email/
- [ ] SMTP client
- [ ] Templates HTML
- [ ] Queue de envío

## Mejoras de calidad

### Testing
- [ ] Tests para todos los módulos core/
- [ ] Tests para shell/ (con mocks)
- [ ] Coverage > 80%
- [ ] Benchmarks

### CI/CD
- [ ] GitHub/Gitea Actions workflow
- [ ] Lint con golangci-lint
- [ ] Release automático con goreleaser

### Documentación
- [ ] godoc para cada función
- [ ] Ejemplos en README
- [ ] CHANGELOG.md

## Ejemplo de uso nuevo

```go
import (
    "github.com/lucasdataproyects/devfactory/shell"
    "github.com/lucasdataproyects/devfactory/app/auth"
)

// Postgres
db := shell.NewPostgresClient(os.Getenv("DATABASE_URL"))
users := db.Query("SELECT * FROM users").UnwrapOr([]User{})

// Auth
token := auth.GenerateJWT(userID, secret)
claims := auth.ValidateJWT(token, secret)
```
