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
This commit is contained in:
2026-03-22 20:00:15 +01:00
parent 3af90e590c
commit f3d5ddcddd
10 changed files with 654 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
# Issue #001: Crear agente orchestrator
**Tipo:** feat
**Prioridad:** alta
**Estado:** pendiente
## Descripción
Crear un agente "arquitecto" que coordine los demás agentes para proyectos completos. Cuando el usuario pida algo como "Crea una app de trading", el orchestrator debe coordinar:
- backend-lib (API Go)
- frontend-lib (UI React)
- db-reader (base de datos)
- docker (containerización)
- build-wails (si es desktop)
- gitea (repo)
## Capacidades requeridas
- [ ] Analizar requisitos del proyecto
- [ ] Determinar qué agentes necesita invocar
- [ ] Secuenciar las operaciones (crear repo → backend → frontend → docker)
- [ ] Pasar contexto entre agentes
- [ ] Verificar que cada paso se completó correctamente
- [ ] Generar resumen final del proyecto creado
## Ejemplo de uso
```
Usuario: "Crea una app de gestión de inventario con Go backend y React frontend"
Orchestrator:
1. Crea repo en Gitea (agente gitea)
2. Inicializa backend con DevFactory (agente backend-lib)
3. Inicializa frontend con Frontend_Library (agente frontend-lib)
4. Configura docker-compose (agente docker)
5. Genera README con instrucciones
```
## Dependencias
- Todos los agentes existentes deben estar funcionales
- MCP de Gitea configurado
## Notas
Este es el agente más complejo porque requiere orquestación multi-agente.
+49
View File
@@ -0,0 +1,49 @@
# Issue #002: Crear agente ci-cd
**Tipo:** feat
**Prioridad:** alta
**Estado:** pendiente
## Descripción
Crear un agente para gestionar pipelines de CI/CD, principalmente con Gitea Actions (compatible con GitHub Actions) o Drone CI.
## Capacidades requeridas
### Gitea Actions
- [ ] Crear workflows `.gitea/workflows/*.yml`
- [ ] Templates para Go (test, build, lint)
- [ ] Templates para React (test, build, lint)
- [ ] Templates para Docker (build, push)
- [ ] Configurar secrets en Gitea
### Pipelines
- [ ] Pipeline de PR: lint → test → build
- [ ] Pipeline de merge: test → build → deploy
- [ ] Pipeline de release: tag → build → push registry
### Integración
- [ ] Detectar tipo de proyecto (Go/React/ambos)
- [ ] Generar pipeline apropiado
- [ ] Configurar badges de estado
## Templates a incluir
```yaml
# .gitea/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: go test ./...
```
## Dependencias
- Gitea Actions habilitado en la instancia
- Agente gitea para gestionar secrets
- Agente docker para builds de imágenes
+70
View File
@@ -0,0 +1,70 @@
# Issue #003: Crear agente testing
**Tipo:** feat
**Prioridad:** media
**Estado:** pendiente
## Descripción
Crear un agente especializado en testing que pueda generar, ejecutar y analizar tests para proyectos Go y React.
## Capacidades requeridas
### Go Testing
- [ ] Generar tests unitarios con `go test`
- [ ] Generar tests de tabla (table-driven tests)
- [ ] Mocks con testify o gomock
- [ ] Coverage con `go test -cover`
- [ ] Benchmarks con `go test -bench`
### React Testing
- [ ] Tests con Vitest
- [ ] Tests de componentes con Testing Library
- [ ] Tests E2E con Playwright
- [ ] Coverage reports
### Análisis
- [ ] Parsear resultados de tests
- [ ] Identificar tests fallidos
- [ ] Sugerir fixes para tests rotos
- [ ] Generar reporte de coverage
## Flujo de trabajo
```
Usuario: "Genera tests para el módulo auth"
Agente:
1. Lee el código del módulo
2. Identifica funciones públicas
3. Genera tests unitarios
4. Ejecuta tests
5. Reporta coverage
```
## Templates
### Go test template
```go
func TestNombreFuncion(t *testing.T) {
tests := []struct {
name string
input string
expected string
}{
{"caso normal", "input", "expected"},
{"caso edge", "", ""},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// ...
})
}
}
```
## Dependencias
- Go 1.22+ con soporte de testing
- Vitest/Playwright para React
+65
View File
@@ -0,0 +1,65 @@
# Issue #004: Crear agente api-client
**Tipo:** feat
**Prioridad:** media
**Estado:** pendiente
## Descripción
Crear un agente para gestionar integraciones con APIs externas: autenticación, rate limiting, retry logic, y generación de clientes.
## Capacidades requeridas
### Gestión de API Keys
- [ ] Almacenar keys en pass (cifrado GPG)
- [ ] Rotar keys automáticamente
- [ ] Validar keys antes de usar
- [ ] Documentar límites de cada API
### Generación de clientes
- [ ] Generar cliente Go desde OpenAPI/Swagger
- [ ] Generar cliente TypeScript desde OpenAPI
- [ ] Wrappers con retry y rate limiting
- [ ] Caché de respuestas
### APIs comunes pre-configuradas
- [ ] OpenAI / Anthropic (LLMs)
- [ ] Alpha Vantage / Yahoo Finance (finanzas)
- [ ] GitHub / Gitea (git)
- [ ] Cloudflare / AWS (infra)
## Integración con DevFactory
```go
// shell/api/openai.go
package api
import "github.com/lucasdataproyects/devfactory/core"
type OpenAIClient struct {
apiKey string
http *shell.HTTPClient
}
func (c *OpenAIClient) Complete(prompt string) core.Result[string] {
// Con retry y rate limiting automático
}
```
## Flujo de trabajo
```
Usuario: "Configura cliente para Alpha Vantage"
Agente:
1. Verifica si key existe en pass
2. Si no, pide al usuario que la añada
3. Genera cliente Go con DevFactory patterns
4. Añade a shell/api/ o app/finance/
5. Documenta uso
```
## Dependencias
- pass para gestión de secrets
- DevFactory para patrones HTTP
+71
View File
@@ -0,0 +1,71 @@
# Issue #005: Crear agente docs-generator
**Tipo:** feat
**Prioridad:** baja
**Estado:** pendiente
## Descripción
Crear un agente para generar documentación técnica automáticamente desde el código.
## Capacidades requeridas
### Go
- [ ] Generar docs desde godoc comments
- [ ] README.md con ejemplos de uso
- [ ] API reference
- [ ] Diagramas de arquitectura (mermaid)
### React/TypeScript
- [ ] Docs desde JSDoc/TSDoc
- [ ] Props tables para componentes
- [ ] Storybook docs (ya existe en frontend-lib)
- [ ] Changelog automático
### Proyecto completo
- [ ] README.md con badges, instalación, uso
- [ ] CONTRIBUTING.md
- [ ] CHANGELOG.md (conventional commits)
- [ ] Arquitectura (diagrama mermaid)
## Templates
### README.md
```markdown
# Proyecto
![CI](badge) ![Coverage](badge)
## Instalación
## Uso
## API
## Desarrollo
## Licencia
```
### Diagrama arquitectura
```mermaid
graph TB
A[Frontend] --> B[Backend]
B --> C[Database]
B --> D[Cache]
```
## Flujo de trabajo
```
Usuario: "Genera documentación para este proyecto"
Agente:
1. Detecta tipo de proyecto
2. Escanea código y comentarios
3. Genera README.md
4. Genera API docs
5. Genera diagrama de arquitectura
```
## Dependencias
- godoc para Go
- typedoc para TypeScript
- mermaid para diagramas
+68
View File
@@ -0,0 +1,68 @@
# Issue #006: Mejorar agente db-reader
**Tipo:** enhancement
**Prioridad:** media
**Estado:** pendiente
## Descripción
Extender el agente db-reader para soportar más bases de datos y funcionalidades.
## Mejoras requeridas
### Nuevas bases de datos
- [ ] PostgreSQL via MCP (mcp-server-postgres)
- [ ] MySQL/MariaDB via MCP
- [ ] Redis para cache
### Migraciones
- [ ] Integrar golang-migrate o Atlas
- [ ] Crear migraciones desde schema
- [ ] Aplicar migraciones up/down
- [ ] Historial de migraciones
### Seeds
- [ ] Generar datos de prueba
- [ ] Seeds desde CSV/JSON
- [ ] Faker para datos aleatorios
### Queries avanzados
- [ ] Query builder visual
- [ ] Explain/analyze de queries
- [ ] Índices sugeridos
- [ ] Exportar a CSV/JSON/Parquet
## Configuración MCP adicional
```yaml
mcpServers:
- postgres:
type: stdio
command: uvx
args:
- mcp-server-postgres
- --connection-string
- "${POSTGRES_URL}"
```
## Integración con DevFactory
```go
// shell/postgres.go
package shell
import "github.com/lucasdataproyects/devfactory/core"
type PostgresClient struct {
connString string
}
func (c *PostgresClient) Query(sql string) core.Result[[]map[string]any] {
// ...
}
```
## Dependencias
- MCP servers para cada DB
- golang-migrate para migraciones
+76
View File
@@ -0,0 +1,76 @@
# 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)
```
+72
View File
@@ -0,0 +1,72 @@
# Issue #008: Mejorar agente frontend-lib
**Tipo:** enhancement
**Prioridad:** media
**Estado:** pendiente
## Descripción
Mejorar Frontend_Library con versionado semántico, testing y más componentes.
## Versionado
### Semántico
- [ ] Configurar release-please o semantic-release
- [ ] CHANGELOG.md automático desde commits
- [ ] Tags v1.0.0, v1.1.0, etc.
- [ ] Breaking changes documentados
### Publicación
- [ ] Publicar a npm registry privado (Gitea Packages)
- [ ] O mantener pnpm link como está
## Testing
### Componentes
- [ ] Tests con Vitest + Testing Library
- [ ] Tests de accesibilidad con axe-core
- [ ] Visual regression tests
- [ ] Coverage > 70%
### E2E
- [ ] Playwright tests para flujos críticos
- [ ] Tests en CI
## Nuevos componentes
### Data visualization
- [ ] Treemap (ECharts)
- [ ] Sankey diagram
- [ ] Heatmap calendar
- [ ] Sparklines
### Forms
- [ ] File upload con drag & drop
- [ ] Rich text editor (Tiptap)
- [ ] Color picker
- [ ] Slider range
### Layout
- [ ] Resizable panels
- [ ] Virtual list (TanStack Virtual)
- [ ] Infinite scroll
## Mejoras existentes
### Button
- [ ] Loading state con spinner
- [ ] Icon button variant
- [ ] Button group
### DataTable
- [ ] Export a CSV/Excel
- [ ] Column resize
- [ ] Row selection con checkbox
- [ ] Inline editing
## Documentación
- [ ] Storybook docs mejorados
- [ ] Props tables automáticas
- [ ] Ejemplos de código copiables
- [ ] Changelog visible
+80
View File
@@ -0,0 +1,80 @@
# Issue #009: Mejorar agente gitea
**Tipo:** enhancement
**Prioridad:** media
**Estado:** pendiente
## Descripción
Extender el agente gitea con soporte para CI/CD, templates y automatizaciones.
## Gitea Actions
### Workflows
- [ ] Crear/editar workflows en `.gitea/workflows/`
- [ ] Templates para Go, React, Docker
- [ ] Secrets management via API
### Templates de workflow
```yaml
# Template Go
- uses: actions/setup-go@v5
- run: go test ./...
- run: go build
# Template React
- uses: actions/setup-node@v4
- run: pnpm install
- run: pnpm test
- run: pnpm build
```
## Templates de proyecto
### Issue templates
- [ ] `.gitea/issue_template/bug.md`
- [ ] `.gitea/issue_template/feature.md`
### PR template
- [ ] `.gitea/pull_request_template.md`
### Ejemplo bug template
```markdown
---
name: Bug Report
about: Report a bug
---
## Descripción
## Pasos para reproducir
## Comportamiento esperado
## Screenshots
## Entorno
```
## Automatizaciones
### Hooks post-creación de repo
- [ ] Añadir egutierrez como colaborador (ya implementado)
- [ ] Crear estructura inicial (README, LICENSE, .gitignore)
- [ ] Configurar branch protection
- [ ] Crear labels estándar
### Labels estándar
```
bug - #d73a4a
enhancement - #a2eeef
documentation - #0075ca
good first issue - #7057ff
```
## Releases
- [ ] Crear releases via API
- [ ] Subir binarios como attachments
- [ ] Changelog automático desde commits
## Integraciones
- [ ] Webhook a Discord/Slack
- [ ] Mirror a GitHub (backup)
+57
View File
@@ -0,0 +1,57 @@
# Issues - Roadmap de Agentes
Sistema local de issues para trackear mejoras y nuevos agentes.
## Nuevos Agentes
| # | Issue | Prioridad | Estado |
|---|-------|-----------|--------|
| 001 | [orchestrator](001-agent-orchestrator.md) - Coordinar agentes | Alta | Pendiente |
| 002 | [ci-cd](002-agent-ci-cd.md) - Pipelines de CI/CD | Alta | Pendiente |
| 003 | [testing](003-agent-testing.md) - Tests automatizados | Media | Pendiente |
| 004 | [api-client](004-agent-api-client.md) - APIs externas | Media | Pendiente |
| 005 | [docs-generator](005-agent-docs-generator.md) - Documentación | Baja | Pendiente |
## Mejoras a Agentes Existentes
| # | Issue | Prioridad | Estado |
|---|-------|-----------|--------|
| 006 | [db-reader](006-improve-db-reader.md) - PostgreSQL, migraciones | Media | Pendiente |
| 007 | [backend-lib](007-improve-backend-lib.md) - Nuevos módulos shell/app | Alta | Pendiente |
| 008 | [frontend-lib](008-improve-frontend-lib.md) - Versionado, testing | Media | Pendiente |
| 009 | [gitea](009-improve-gitea.md) - Actions, templates | Media | Pendiente |
## Agentes Completados
| Agente | Descripción | Fecha |
|--------|-------------|-------|
| docker | Containerización y deployment | 2025-03-22 |
| build-wails | Apps desktop Wails | 2025-03-22 |
## Prioridad de implementación
```
1. ci-cd ← Automatización básica
2. orchestrator ← Cuando tengas 5+ agentes funcionando
3. backend-lib ← Más módulos reutilizables
4. testing ← Integrar con CI
5. frontend-lib ← Versionado y tests
6. db-reader ← Más bases de datos
7. gitea ← Templates y automatizaciones
8. api-client ← APIs externas
9. docs-generator ← Último, menos crítico
```
## Formato de issues
```markdown
# Issue #XXX: Título
**Tipo:** feat | enhancement | fix
**Prioridad:** alta | media | baja
**Estado:** pendiente | en progreso | completado
## Descripción
## Capacidades requeridas
## Dependencias
```