Skip to content

Commit 37f343d

Browse files
authored
Merge branch 'develop' into copilot/sub-pr-175-yet-again
2 parents 7ba89be + 28cd9cb commit 37f343d

318 files changed

Lines changed: 97897 additions & 1285 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ci-local.yaml

Lines changed: 403 additions & 0 deletions
Large diffs are not rendered by default.

.github/agents/README.md

Lines changed: 379 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,379 @@
1+
# Agentes Especializados - Proyecto IACT
2+
3+
Este directorio contiene la definición de agentes especializados para automatización de tareas DevOps y desarrollo en el proyecto IACT Call Center.
4+
5+
## Agentes Disponibles
6+
7+
### 1. GitOpsAgent
8+
9+
**Archivo**: `gitops_agent.md`
10+
11+
**Propósito**: Operaciones Git y gestión de repositorio
12+
13+
**Capacidades**:
14+
- Sincronización de ramas principales
15+
- Limpieza de ramas obsoletas
16+
- Auditoría de estructura de repositorio
17+
- Gestión de workflows Git
18+
19+
**Cuándo usar**:
20+
- Después de múltiples PRs mergeados
21+
- Limpieza periódica de ramas
22+
- Sincronización antes de release
23+
- Auditoría de estructura del repositorio
24+
25+
**Ejemplo**:
26+
```
27+
GitOpsAgent: Sincroniza todas las ramas principales con develop
28+
y genera reporte completo de cambios.
29+
```
30+
31+
---
32+
33+
### 2. ReleaseAgent
34+
35+
**Archivo**: `release_agent.md`
36+
37+
**Propósito**: Gestión de releases y versionado semántico
38+
39+
**Capacidades**:
40+
- Cálculo automático de versión según commits
41+
- Generación de changelogs
42+
- Creación de tags Git
43+
- Actualización de archivos de versión
44+
- Preparación de release notes
45+
46+
**Cuándo usar**:
47+
- Crear nuevo release (major, minor, patch)
48+
- Generar changelog
49+
- Crear release candidate
50+
- Hotfix urgente
51+
52+
**Ejemplo**:
53+
```
54+
ReleaseAgent: Crear nuevo release minor.
55+
Analiza commits desde último tag, genera changelog,
56+
actualiza versiones y crea tag.
57+
```
58+
59+
---
60+
61+
### 3. DependencyAgent
62+
63+
**Archivo**: `dependency_agent.md`
64+
65+
**Propósito**: Gestión de dependencias y vulnerabilidades
66+
67+
**Capacidades**:
68+
- Actualización de dependencias (conservadora/moderada/agresiva)
69+
- Escaneo de vulnerabilidades (CVEs)
70+
- Auditoría de licencias
71+
- Limpieza de dependencias no usadas
72+
- Gestión de lockfiles
73+
74+
**Cuándo usar**:
75+
- Actualización mensual de dependencias
76+
- Respuesta a alerta de CVE
77+
- Auditoría de licencias antes de release
78+
- Limpieza de dependencias obsoletas
79+
80+
**Ejemplo**:
81+
```
82+
DependencyAgent: Actualiza dependencias con estrategia conservadora.
83+
Solo patches y minors. Genera reporte de cambios.
84+
```
85+
86+
---
87+
88+
### 4. SecurityAgent
89+
90+
**Archivo**: `security_agent.md`
91+
92+
**Propósito**: Auditorías de seguridad y compliance
93+
94+
**Capacidades**:
95+
- Escaneo de código con Bandit
96+
- Detección de secrets con gitleaks
97+
- Análisis de amenazas STRIDE
98+
- Validación de restricciones del proyecto
99+
- Auditoría de configuración de seguridad
100+
101+
**Cuándo usar**:
102+
- Antes de cada release
103+
- Auditoría mensual de seguridad
104+
- Después de cambios en autenticación
105+
- Respuesta a incidente de seguridad
106+
- Validación de cumplimiento
107+
108+
**Ejemplo**:
109+
```
110+
SecurityAgent: Ejecuta auditoría completa de seguridad.
111+
Incluye: código, dependencias, secrets, configuración.
112+
Genera reporte priorizado por severidad.
113+
```
114+
115+
---
116+
117+
### 5. CodeTasker (Original)
118+
119+
**Archivo**: `my_agent.md`
120+
121+
**Propósito**: Tareas de programación asíncronas
122+
123+
**Capacidades**:
124+
- Escribir funciones en múltiples lenguajes
125+
- Depurar errores
126+
- Refactorizar módulos
127+
- Generar documentación
128+
- Ejecutar pruebas de código
129+
130+
**Cuándo usar**:
131+
- Tareas de programación delegables
132+
- Trabajo en segundo plano
133+
- Refactorización de código
134+
135+
---
136+
137+
## Cómo Usar los Agentes
138+
139+
### Sintaxis General
140+
141+
```
142+
[NombreAgente]: [Descripción de tarea]
143+
[Parámetros opcionales]
144+
```
145+
146+
### Ejemplos de Invocación
147+
148+
**Ejemplo 1 - Operación Simple**:
149+
```
150+
GitOpsAgent: Sincroniza ramas principales
151+
```
152+
153+
**Ejemplo 2 - Con Parámetros**:
154+
```
155+
ReleaseAgent: Crear release patch
156+
Tag: v1.3.1
157+
Mensaje: "Hotfix crítico en autenticación"
158+
```
159+
160+
**Ejemplo 3 - Operación Compleja**:
161+
```
162+
DependencyAgent: Actualiza dependencias con estrategia conservadora.
163+
Solo patches y minors que resuelvan vulnerabilidades.
164+
Excluir: Django (actualizar manualmente)
165+
Generar reporte detallado.
166+
```
167+
168+
## Buenas Prácticas
169+
170+
### 1. Especifica Claramente la Tarea
171+
172+
**Bien**:
173+
```
174+
SecurityAgent: Escanea vulnerabilidades en dependencias Python.
175+
Prioriza CRITICAL y HIGH. Genera reporte con comandos de corrección.
176+
```
177+
178+
**Mal**:
179+
```
180+
SecurityAgent: checa el código
181+
```
182+
183+
### 2. Incluye Contexto Relevante
184+
185+
**Bien**:
186+
```
187+
ReleaseAgent: Crear hotfix patch para CVE-2023-xxxxx.
188+
Prioridad: URGENTE. Solo actualizar Django a 4.2.7.
189+
```
190+
191+
**Mal**:
192+
```
193+
ReleaseAgent: hacer release
194+
```
195+
196+
### 3. Define Expectativas de Output
197+
198+
**Bien**:
199+
```
200+
GitOpsAgent: Audita estructura de ramas.
201+
Verifica: 4 ramas principales, sin ramas obsoletas >30 días.
202+
Genera: reporte en docs/qa/registros/
203+
```
204+
205+
**Mal**:
206+
```
207+
GitOpsAgent: ve las ramas
208+
```
209+
210+
### 4. Especifica Restricciones
211+
212+
**Bien**:
213+
```
214+
DependencyAgent: Actualiza dependencias.
215+
NO actualizar: Django, Celery (breaking changes)
216+
Solo: patches de paquetes en requirements/base.txt
217+
```
218+
219+
**Mal**:
220+
```
221+
DependencyAgent: actualiza todo
222+
```
223+
224+
## Integración con Workflows
225+
226+
Los agentes se integran con los procesos del proyecto:
227+
228+
### Pre-commit
229+
```yaml
230+
# .pre_commit_config.yaml
231+
- repo: local
232+
hooks:
233+
- id: security-check
234+
name: SecurityAgent Pre-commit
235+
entry: SecurityAgent
236+
args: ["Escanea secrets en staged files"]
237+
```
238+
239+
### CI/CD
240+
```yaml
241+
# .github/workflows/release.yml
242+
- name: Create Release
243+
run: |
244+
ReleaseAgent: Crear release según tipo de commit.
245+
Push tag al remoto.
246+
```
247+
248+
### Cron Jobs
249+
```yaml
250+
# .github/workflows/dependency-check.yml
251+
on:
252+
schedule:
253+
- cron: '0 0 * * 1' # Lunes
254+
jobs:
255+
check:
256+
- name: Check Dependencies
257+
run: |
258+
DependencyAgent: Escanea vulnerabilidades.
259+
Crea issue si encuentra CRITICAL.
260+
```
261+
262+
## Estructura de Reportes
263+
264+
Todos los agentes generan reportes en formato estándar:
265+
266+
**Ubicación**: `docs/qa/registros/YYYY_MM_DD_[agente]_[operacion].md`
267+
268+
**Formato**:
269+
```markdown
270+
---
271+
id: QA-REG-YYYYMMDD-AGENTE
272+
tipo: registro_actividad
273+
categoria: devops|security|release
274+
fecha: YYYY-MM-DD
275+
responsable: [NombreAgente]
276+
estado: completado|pendiente|fallido
277+
---
278+
279+
# Registro: [Operación] - YYYY-MM-DD
280+
281+
## Información General
282+
...
283+
284+
## Trabajo Realizado
285+
...
286+
287+
## Resultados
288+
...
289+
290+
## Próximos Pasos
291+
...
292+
```
293+
294+
## Documentación Relacionada
295+
296+
- **Agentes de Automatización**: `docs/desarrollo/agentes_automatizacion.md`
297+
- **Arquitectura de Agentes**: `docs/desarrollo/arquitectura_agentes_especializados.md`
298+
- **Runbooks DevOps**: `docs/devops/runbooks/`
299+
- **Procedimientos**: `docs/gobernanza/procesos/`
300+
301+
## Desarrollo de Nuevos Agentes
302+
303+
Para crear un nuevo agente especializado:
304+
305+
1. **Definir propósito claro y específico**
306+
- Un agente = una responsabilidad
307+
- Evitar agentes monolíticos
308+
309+
2. **Crear archivo en `.github/agents/[nombre]-agent.md`**
310+
```markdown
311+
---
312+
name: [NombreAgente]
313+
description: [Descripción breve]
314+
---
315+
# [Nombre] Agent
316+
...
317+
```
318+
319+
3. **Incluir secciones estándar**:
320+
- Capacidades
321+
- Cuándo usarlo
322+
- Ejemplos de uso
323+
- Herramientas que utiliza
324+
- Restricciones
325+
- Mejores prácticas
326+
327+
4. **Documentar en este README**
328+
329+
5. **Agregar a `docs/desarrollo/agentes_automatizacion.md`**
330+
331+
6. **Crear tests si el agente genera código**
332+
333+
## Soporte y Feedback
334+
335+
### Problemas con Agentes
336+
337+
Si un agente no funciona como esperado:
338+
339+
1. Verifica la sintaxis de invocación
340+
2. Revisa el archivo de definición del agente
341+
3. Consulta los ejemplos de uso
342+
4. Revisa registros en `docs/qa/registros/`
343+
344+
### Sugerencias de Mejora
345+
346+
Para sugerir mejoras a agentes existentes:
347+
348+
1. Documentar caso de uso no cubierto
349+
2. Proponer nueva capacidad
350+
3. Reportar limitación encontrada
351+
4. Crear issue en GitHub con etiqueta `agent-enhancement`
352+
353+
### Nuevos Agentes
354+
355+
Para proponer nuevos agentes:
356+
357+
1. Definir problema que resuelve
358+
2. Verificar que no existe agente similar
359+
3. Describir capacidades necesarias
360+
4. Proponer nombre y sintaxis
361+
5. Crear issue con etiqueta `new-agent`
362+
363+
## Métricas y Monitoreo
364+
365+
Los agentes generan métricas de uso:
366+
367+
- Número de ejecuciones por agente
368+
- Tiempo promedio de ejecución
369+
- Tasa de éxito/fallo
370+
- Operaciones más comunes
371+
- Reportes generados
372+
373+
Ver estadísticas en: `docs/qa/registros/metricas_agentes.md` (si existe)
374+
375+
---
376+
377+
**Última actualización**: 2025-11-05
378+
**Total de agentes**: 5
379+
**Versión de documentación**: 1.0.0

0 commit comments

Comments
 (0)