- CLAUDE.md for AI agents to understand the codebase - GITEA-GUIDE.md centralizes all Gitea operations (API, Registry, Auth) - DEVELOPMENT-WORKFLOW.md explains complete dev process - ROADMAP.md, NEXT-SESSION.md for planning - QUICK-REFERENCE.md, TROUBLESHOOTING.md for daily use - 40+ detailed docs in /docs folder - Backend as submodule from Gitea Everything documented for autonomous operation. Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
6.8 KiB
6.8 KiB
Overview General - AiWorker
Concepto
AiWorker es un sistema de orquestación de agentes IA que automatiza el ciclo completo de desarrollo de software mediante:
- Dashboard Web: Interfaz central para gestionar proyectos y tareas
- Consolas Web Persistentes: Terminales web conectadas a pods de Claude Code en K8s
- Kanban Board Inteligente: Gestión visual de tareas con estados automáticos
- Agentes Autónomos: Claude Code trabajando en tareas asignadas
- Deployments Automatizados: Preview, staging y producción orquestados
Arquitectura de Alto Nivel
┌─────────────────────────────────────────────────────────────────┐
│ Dashboard Web │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Kanban │ │ Consolas │ │ Project │ │
│ │ Board │ │ Web │ │ Manager │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└────────────────────────┬────────────────────────────────────────┘
│ HTTP/WebSocket
┌────────────────────────▼────────────────────────────────────────┐
│ Backend (Bun + Express) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ API │ │ MCP │ │ Gitea │ │ K8s │ │
│ │ Server │ │ Server │ │ Client │ │ Client │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└────────┬───────────────┬─────────────┬─────────────┬───────────┘
│ │ │ │
┌────▼────┐ ┌───▼────┐ ┌───▼────┐ ┌────▼─────┐
│ MySQL │ │ Redis │ │ Gitea │ │ K8s │
└─────────┘ └────────┘ └────────┘ └──────────┘
│
┌───────────────────────────────┘
│
┌──────────▼──────────────────────────────────────┐
│ Kubernetes Cluster │
│ ┌──────────────┐ ┌─────────────────────────┐ │
│ │ Agents │ │ Project Namespaces │ │
│ │ Namespace │ │ ├── dev │ │
│ │ │ │ ├── preview/<task-id> │ │
│ │ Claude Code │ │ ├── staging │ │
│ │ Pods │ │ └── production │ │
│ └──────────────┘ └─────────────────────────┘ │
└─────────────────────────────────────────────────┘
Componentes Principales
1. Dashboard Web (Frontend)
- Tecnología: React 19.2 + TailwindCSS + Vite
- Funciones:
- Kanban board para gestión de tareas
- Consolas web interactivas (xterm.js)
- Gestión de proyectos
- Monitoring en tiempo real
2. Backend API
- Tecnología: Bun 1.3.6 + Express + TypeScript
- Funciones:
- API REST para frontend
- MCP Server para agentes
- Orquestación de tareas
- Integración con Gitea y K8s
3. Base de Datos
- MySQL 8.0: Almacenamiento persistente
- Redis: Colas, cache, pub/sub
4. Gitea
- Servidor Git auto-alojado
- API compatible con GitHub
- Gestión de repos, branches, PRs
5. Kubernetes Cluster
- Orquestación de contenedores
- Namespaces por proyecto y entorno
- Auto-scaling de agentes
6. Claude Code Agents
- Pods persistentes en K8s
- Conectados vía MCP Server
- Workspace aislado por agente
Estados de Tareas
Backlog → En Progreso → Necesita Respuestas
↓
Usuario responde
↓
┌───────────────┘
↓
Listo para Probar
↓
(Preview deploy)
↓
Aprobado
↓
Staging (merge grupal)
↓
Producción
Flujo de Trabajo Típico
- Usuario crea proyecto → Sistema crea repo en Gitea + namespace en K8s
- Usuario crea tareas → Se añaden al backlog del kanban
- Agente disponible → Toma siguiente tarea vía MCP
- Agente trabaja → Clone, branch, código, commits
- ¿Necesita info? → Cambia estado a "Necesita Respuestas"
- Completa tarea → Push + PR + deploy preview
- Usuario prueba → En ambiente preview aislado
- Aprueba → Marca para staging
- Merge grupal → Agrega 2-3 tareas + merge a staging
- Deploy staging → Tests automáticos
- Deploy producción → Aprobación final
Ventajas del Sistema
✅ Automatización completa: Desde tarea hasta producción ✅ Aislamiento: Cada tarea en su propio preview environment ✅ Trazabilidad: Todo cambio vinculado a tarea y PR ✅ Escalabilidad: Agentes auto-escalables en K8s ✅ Flexibilidad: Agentes pueden pedir ayuda al usuario ✅ Control: Usuario aprueba cada fase importante
Seguridad
- Namespaces aislados en K8s
- RBAC por agente
- Secrets management
- Network policies
- Auditoría de acciones
Próximos Pasos
Ver documentación específica de cada componente en las secciones correspondientes.