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

1.5 KiB

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

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)