Files
repo_Claude/dev/issues/007-improve-backend-lib.md
T
egutierrez f3d5ddcddd docs: crear roadmap de issues para agentes
Se crean 9 issues para trackear el desarrollo de agentes:

Nuevos agentes:
- #001 orchestrator: coordinar agentes para proyectos
- #002 ci-cd: pipelines de build/test/deploy
- #003 testing: tests automatizados Go y React
- #004 api-client: gestión de APIs externas
- #005 docs-generator: documentación automática

Mejoras a existentes:
- #006 db-reader: PostgreSQL, migraciones
- #007 backend-lib: nuevos módulos shell/app
- #008 frontend-lib: versionado, testing
- #009 gitea: Actions, templates
2026-03-22 20:00:15 +01:00

77 lines
1.5 KiB
Markdown

# 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)
```