f3d5ddcddd
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
77 lines
1.5 KiB
Markdown
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)
|
|
```
|