agent-mp 0.5.11 → 0.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/engine.js +271 -94
- package/package.json +1 -1
package/dist/core/engine.js
CHANGED
|
@@ -1021,125 +1021,271 @@ DIRECTORIO_TRABAJO: ${this.projectDir}
|
|
|
1021
1021
|
PROYECTO: ${this.config.project}
|
|
1022
1022
|
STACK: ${this.config.stack}
|
|
1023
1023
|
|
|
1024
|
-
ESTRUCTURA DE ARCHIVOS
|
|
1024
|
+
ESTRUCTURA DE ARCHIVOS (excluye .agent, node_modules, .git, dist, __pycache__, .venv, target, build):
|
|
1025
1025
|
${fsSnapshot}
|
|
1026
1026
|
|
|
1027
|
-
${existingMainArch ? `===
|
|
1028
|
-
${existingComponentDocs ? `===
|
|
1027
|
+
${existingMainArch ? `=== DOC EXISTENTE: architecture.md (principal) ===\n${existingMainArch.slice(0, 2000)}\n` : ''}
|
|
1028
|
+
${existingComponentDocs ? `=== DOC EXISTENTE por componente ===\n${existingComponentDocs.slice(0, 3000)}\n` : ''}
|
|
1029
1029
|
|
|
1030
|
-
|
|
1031
|
-
|
|
1030
|
+
================================================================
|
|
1031
|
+
OBJETIVO
|
|
1032
|
+
================================================================
|
|
1033
|
+
Generar documentacion ESCALONADA en 3 niveles, util TANTO para personas funcionales (PM, negocio) como tecnicas (devs).
|
|
1034
|
+
Detallada pero NO excesiva. Concreta, con datos REALES leidos de los archivos. Cero especulaciones.
|
|
1032
1035
|
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1036
|
+
================================================================
|
|
1037
|
+
REGLA DE ORO — PROHIBIDO INVENTAR
|
|
1038
|
+
================================================================
|
|
1039
|
+
NO uses jamas: "Inferido", "Probablemente", "Posiblemente", "Asumido", "(supuesto)", "(quizas)", "parece ser".
|
|
1040
|
+
Si no podes verificar un dato leyendo un archivo concreto → OMITELO. Es mejor una doc corta y veraz que una larga llena de suposiciones.
|
|
1041
|
+
Cada puerto, version, endpoint, env var, schema o ruta que aparezca en la doc DEBE haber sido leido de un archivo real.
|
|
1038
1042
|
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
+
================================================================
|
|
1044
|
+
WORKFLOW QUE TENES QUE EJECUTAR (usa tus tools de read_file/grep_search/list_directory)
|
|
1045
|
+
================================================================
|
|
1046
|
+
1. Lista DIRECTORIO_TRABAJO. Identifica los componentes (apps/services/libs). Descarta lo trivial (solo configs/docs/scripts).
|
|
1047
|
+
2. Para CADA componente no trivial, LEE COMO MINIMO:
|
|
1048
|
+
a. Manifest del proyecto: package.json | requirements.txt | pyproject.toml | pom.xml | build.gradle | Cargo.toml | go.mod
|
|
1049
|
+
→ de ahi sacas: nombre, version, framework, dependencias clave con sus versiones, scripts/tasks, entry point
|
|
1050
|
+
b. Entry point real: src/main.ts | index.js | app.py | Application.java | cmd/main.go (segun stack)
|
|
1051
|
+
→ de ahi sacas: puerto, middlewares, modulos cargados, configuracion inicial
|
|
1052
|
+
c. Archivo de variables de entorno: .env | .env.example | application.yml | config.* | settings.py
|
|
1053
|
+
→ de ahi sacas: variables reales con su proposito
|
|
1054
|
+
d. Al menos 2-3 controladores/routers/handlers principales
|
|
1055
|
+
→ de ahi extraes endpoints REALES (metodo, ruta, parametros)
|
|
1056
|
+
e. Al menos 2-3 modelos/schemas/entities principales
|
|
1057
|
+
→ de ahi extraes el shape de datos
|
|
1058
|
+
f. README.md del componente si existe
|
|
1059
|
+
3. Mapea RELACIONES REALES entre componentes (no asumas):
|
|
1060
|
+
- Buscando URLs/hosts de otros servicios en .env
|
|
1061
|
+
- Buscando imports cross-component
|
|
1062
|
+
- Buscando cadenas de conexion a BBDD/colas/cache
|
|
1063
|
+
4. Recien con esa informacion concreta, genera los archivos de documentacion.
|
|
1043
1064
|
|
|
1044
|
-
|
|
1065
|
+
================================================================
|
|
1066
|
+
LENGUAJE DUAL (regla critica)
|
|
1067
|
+
================================================================
|
|
1068
|
+
Cada seccion abre con UNA linea en lenguaje simple (que entienda un PM/negocio), DESPUES viene el detalle tecnico.
|
|
1069
|
+
- MAL: "El microservicio orquesta la persistencia mediante un repositorio."
|
|
1070
|
+
- BIEN: "Guarda la informacion del usuario en la base. Internamente usa un repositorio que abstrae la conexion a MongoDB."
|
|
1045
1071
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1072
|
+
================================================================
|
|
1073
|
+
ESTRUCTURA DE LOS 3 NIVELES
|
|
1074
|
+
================================================================
|
|
1075
|
+
|
|
1076
|
+
────────────────────────────────────────────────────────────────
|
|
1077
|
+
NIVEL 0 — architecture.md (raiz de .agent/context/)
|
|
1078
|
+
Indice global. Objetivo: 50-150 lineas. Concreto.
|
|
1079
|
+
────────────────────────────────────────────────────────────────
|
|
1080
|
+
Secciones obligatorias:
|
|
1048
1081
|
|
|
1049
|
-
|
|
1082
|
+
# ${this.config.project} — Arquitectura Global (NIVEL 0)
|
|
1050
1083
|
|
|
1051
|
-
|
|
1084
|
+
> Indice de servicios y relaciones. Lectura escalonada:
|
|
1085
|
+
> NIVEL 0: este archivo
|
|
1086
|
+
> NIVEL 1: .agent/context/[componente]/architecture.md
|
|
1087
|
+
> NIVEL 2: .agent/context/[componente]/modules/[modulo].md
|
|
1052
1088
|
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
| datamart-data-access-api | API Backend | NestJS | Acceso a datos | src/main.ts |
|
|
1056
|
-
| nexus-core-api | API Backend | NestJS | Core business logic | src/main.ts |
|
|
1089
|
+
## 1. Overview funcional
|
|
1090
|
+
2-4 lineas en lenguaje simple: que es el sistema, para quien sirve, que problema resuelve.
|
|
1057
1091
|
|
|
1058
|
-
##
|
|
1092
|
+
## 2. Componentes del proyecto
|
|
1093
|
+
| Componente | Tipo | Stack + version | Puerto | Proposito (negocio) | Entry point |
|
|
1094
|
+
|------------|------|-----------------|--------|---------------------|-------------|
|
|
1095
|
+
(una fila por componente, con datos REALES)
|
|
1059
1096
|
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1097
|
+
## 3. Relaciones entre componentes
|
|
1098
|
+
| Origen | Destino | Tipo (HTTP / Import / DB / Queue / CORS) | Proposito |
|
|
1099
|
+
|--------|---------|------------------------------------------|-----------|
|
|
1100
|
+
(una fila por cada relacion confirmada)
|
|
1064
1101
|
|
|
1065
|
-
|
|
1102
|
+
## 4. Diagrama de arquitectura
|
|
1066
1103
|
\`\`\`
|
|
1067
|
-
[Frontend
|
|
1068
|
-
|
|
1104
|
+
[Frontend Web] ──HTTP──> [API Auth :8081]
|
|
1105
|
+
│ │
|
|
1106
|
+
│ v
|
|
1107
|
+
└──HTTP──> [API Core :8080] ──> [MongoDB]
|
|
1069
1108
|
\`\`\`
|
|
1070
1109
|
|
|
1071
|
-
##
|
|
1072
|
-
|
|
1073
|
-
-
|
|
1110
|
+
## 5. Flujos end-to-end principales (3-5)
|
|
1111
|
+
Mappings funcional → tecnico, paso a paso. Ejemplo:
|
|
1112
|
+
- **"Un usuario crea un pedido"**: WebApp → POST /orders (API Core) → valida JWT contra API Auth → guarda en MongoDB → devuelve 201 con el pedido.
|
|
1074
1113
|
|
|
1075
|
-
##
|
|
1114
|
+
## 6. Prerequisitos para levantar el proyecto
|
|
1115
|
+
Versiones REALES leidas de los manifests (no rangos genericos).
|
|
1116
|
+
|
|
1117
|
+
## 7. Comandos globales de desarrollo
|
|
1076
1118
|
| Comando | Descripcion | Directorio |
|
|
1077
|
-
|---------|-------------|------------|
|
|
1078
|
-
| ... | ... | ... |
|
|
1079
1119
|
|
|
1080
|
-
|
|
1081
|
-
|
|
1120
|
+
## 8. Decisiones de arquitectura globales (opcional, solo si hay)
|
|
1121
|
+
|
|
1122
|
+
────────────────────────────────────────────────────────────────
|
|
1123
|
+
NIVEL 1 — [componente]/architecture.md
|
|
1124
|
+
Detalle del componente. Objetivo: 80-200 lineas. Crear UNO POR CADA componente NO trivial.
|
|
1125
|
+
────────────────────────────────────────────────────────────────
|
|
1126
|
+
Secciones obligatorias:
|
|
1082
1127
|
|
|
1083
|
-
|
|
1128
|
+
# [componente] — Arquitectura (NIVEL 1)
|
|
1084
1129
|
|
|
1085
|
-
##
|
|
1130
|
+
## Que hace
|
|
1131
|
+
2-3 lineas en lenguaje simple, sin tecnicismos.
|
|
1132
|
+
|
|
1133
|
+
## Casos de uso principales
|
|
1134
|
+
3-6 bullets en formato negocio:
|
|
1135
|
+
- "Permite al usuario X..."
|
|
1136
|
+
- "El sistema usa este servicio para Y..."
|
|
1137
|
+
|
|
1138
|
+
## Stack tecnico
|
|
1139
|
+
| Item | Valor |
|
|
1140
|
+
|------|-------|
|
|
1141
|
+
| Lenguaje | TypeScript 5.3 |
|
|
1142
|
+
| Framework | NestJS 11.0.1 |
|
|
1143
|
+
| ORM | Mongoose 9.3.3 |
|
|
1144
|
+
| Auth | Passport JWT |
|
|
1145
|
+
(datos reales del manifest)
|
|
1146
|
+
|
|
1147
|
+
## Puerto y URLs
|
|
1148
|
+
- **Puerto:** 8085 (de PORT en .env)
|
|
1149
|
+
- **Swagger / docs:** http://localhost:8085/api/docs (si aplica)
|
|
1150
|
+
- **Health check:** GET /health (si existe)
|
|
1151
|
+
|
|
1152
|
+
## Estructura interna (arbol real)
|
|
1086
1153
|
\`\`\`
|
|
1087
1154
|
src/
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1155
|
+
├── main.ts # entry point, configura CORS y swagger
|
|
1156
|
+
├── auth/ # autenticacion JWT
|
|
1157
|
+
├── leads/ # gestion de leads
|
|
1158
|
+
└── ...
|
|
1092
1159
|
\`\`\`
|
|
1093
1160
|
|
|
1094
|
-
## Modulos
|
|
1095
|
-
| Modulo |
|
|
1096
|
-
|
|
1097
|
-
|
|
|
1098
|
-
|
|
|
1161
|
+
## Modulos internos
|
|
1162
|
+
| Modulo | Proposito (negocio) | Doc tecnica |
|
|
1163
|
+
|--------|---------------------|-------------|
|
|
1164
|
+
| auth | Login y validacion de tokens | modules/auth.md |
|
|
1165
|
+
| leads | Listado y consulta de negocios | modules/leads.md |
|
|
1166
|
+
|
|
1167
|
+
## Endpoints principales
|
|
1168
|
+
| Metodo | Ruta | Modulo | Que hace (lenguaje simple) |
|
|
1169
|
+
|--------|------|--------|----------------------------|
|
|
1170
|
+
| GET | /leads | leads | Lista negocios filtrables |
|
|
1171
|
+
| GET | /leads/:id | leads | Detalle de un negocio |
|
|
1172
|
+
(SOLO endpoints reales extraidos de los controllers)
|
|
1099
1173
|
|
|
1100
|
-
##
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1174
|
+
## Variables de entorno
|
|
1175
|
+
| Variable | Default | Proposito |
|
|
1176
|
+
|----------|---------|-----------|
|
|
1177
|
+
| PORT | 8085 | Puerto del servicio |
|
|
1178
|
+
| MONGODB_URI | mongodb://... | Conexion principal |
|
|
1105
1179
|
|
|
1106
|
-
##
|
|
1180
|
+
## Integraciones con otros servicios / sistemas
|
|
1181
|
+
| Servicio externo | Tipo (HTTP/DB/Queue) | Proposito |
|
|
1182
|
+
|
|
1183
|
+
## Como levantar
|
|
1184
|
+
- **Instalar deps:** \`npm install\`
|
|
1185
|
+
- **Servicios necesarios:** MongoDB corriendo, security-api accesible
|
|
1186
|
+
- **Comando para iniciar:** \`npm run start:dev\`
|
|
1187
|
+
|
|
1188
|
+
## Comandos disponibles
|
|
1107
1189
|
| Comando | Que hace |
|
|
1108
|
-
|---------|----------|
|
|
1109
|
-
| ... | ... |
|
|
1110
1190
|
|
|
1111
|
-
##
|
|
1112
|
-
|
|
1113
|
-
|
|
1191
|
+
## Decisiones tecnicas relevantes
|
|
1192
|
+
(solo si hay decisiones notables; si no, omitir esta seccion)
|
|
1193
|
+
|
|
1194
|
+
────────────────────────────────────────────────────────────────
|
|
1195
|
+
NIVEL 2 — [componente]/modules/[modulo].md
|
|
1196
|
+
Detalle de un modulo interno. Objetivo: 40-120 lineas. Crear UNO POR cada modulo significativo.
|
|
1197
|
+
────────────────────────────────────────────────────────────────
|
|
1198
|
+
Secciones obligatorias:
|
|
1199
|
+
|
|
1200
|
+
# Modulo: [nombre] — [componente]
|
|
1201
|
+
|
|
1202
|
+
## Funcion (lenguaje simple)
|
|
1203
|
+
1-2 lineas: "Permite al usuario gestionar X" / "El sistema usa este modulo para Y".
|
|
1114
1204
|
|
|
1115
|
-
|
|
1116
|
-
|
|
1205
|
+
## Funcion (tecnica)
|
|
1206
|
+
1-2 lineas: como esta implementado a alto nivel.
|
|
1117
1207
|
|
|
1118
|
-
##
|
|
1119
|
-
|
|
1208
|
+
## Flujos / casos de uso (1-3)
|
|
1209
|
+
Escenarios paso a paso. Ejemplo:
|
|
1210
|
+
- **Crear un pedido:** Cliente → POST /orders → middleware valida JWT → service.create() → guarda en DB → responde 201
|
|
1211
|
+
|
|
1212
|
+
## Endpoints / interfaces publicas (si aplica)
|
|
1213
|
+
| Metodo | Ruta | Body | Respuesta |
|
|
1214
|
+
|--------|------|------|-----------|
|
|
1215
|
+
|
|
1216
|
+
## Modelos / schemas relevantes
|
|
1217
|
+
\`\`\`typescript
|
|
1218
|
+
// shape REAL extraido del archivo de schema/model
|
|
1219
|
+
{
|
|
1220
|
+
_id: ObjectId,
|
|
1221
|
+
name: string,
|
|
1222
|
+
createdAt: Date,
|
|
1223
|
+
...
|
|
1224
|
+
}
|
|
1225
|
+
\`\`\`
|
|
1120
1226
|
|
|
1121
|
-
##
|
|
1122
|
-
-
|
|
1123
|
-
-
|
|
1227
|
+
## Reglas de negocio
|
|
1228
|
+
- Validaciones: ...
|
|
1229
|
+
- Condiciones especiales: ...
|
|
1230
|
+
- Excepciones: ...
|
|
1124
1231
|
|
|
1125
|
-
##
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1232
|
+
## Archivos clave
|
|
1233
|
+
| Archivo | Rol |
|
|
1234
|
+
|---------|-----|
|
|
1235
|
+
| src/leads/leads.controller.ts | Endpoints /leads |
|
|
1236
|
+
| src/leads/leads.service.ts | Logica de negocio |
|
|
1129
1237
|
|
|
1130
1238
|
## Dependencias
|
|
1131
|
-
- **Internas
|
|
1132
|
-
- **Externas:**
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
-
|
|
1139
|
-
-
|
|
1140
|
-
-
|
|
1141
|
-
-
|
|
1142
|
-
- Si
|
|
1239
|
+
- **Internas (mismo componente):** auth, common
|
|
1240
|
+
- **Externas:** mongoose, class-validator
|
|
1241
|
+
- **Cross-component:** llama a security-api via HTTP para validar JWT
|
|
1242
|
+
|
|
1243
|
+
================================================================
|
|
1244
|
+
CALIBRACION DE DETALLE
|
|
1245
|
+
================================================================
|
|
1246
|
+
- NIVEL 0: 50-150 lineas (no menos, no mas)
|
|
1247
|
+
- NIVEL 1: 80-200 lineas por componente
|
|
1248
|
+
- NIVEL 2: 40-120 lineas por modulo
|
|
1249
|
+
- Si te queda corto → leiste pocos archivos, lee mas
|
|
1250
|
+
- Si te queda largo → estas repitiendo o agregando relleno, recorta
|
|
1251
|
+
|
|
1252
|
+
================================================================
|
|
1253
|
+
QUE NO HACER
|
|
1254
|
+
================================================================
|
|
1255
|
+
- NO usar "Inferido", "Probablemente", "(asumido)", "(quizas)", "parece"
|
|
1256
|
+
- NO repetir lo mismo entre niveles sin agregar valor (cada nivel zoomea mas)
|
|
1257
|
+
- NO dejar tablas vacias ni con placeholders tipo "..."
|
|
1258
|
+
- NO mezclar lenguaje tecnico puro: SIEMPRE empezar funcional, despues tecnico
|
|
1259
|
+
- NO documentar componentes triviales (scripts, docs, configs sueltas) con su propia carpeta — mencionalos en NIVEL 0 y listo
|
|
1260
|
+
- NO inventar endpoints, env vars, puertos o schemas que no leiste
|
|
1261
|
+
|
|
1262
|
+
================================================================
|
|
1263
|
+
FORMATO DE SALIDA — OBLIGATORIO
|
|
1264
|
+
================================================================
|
|
1265
|
+
Devolve UNICAMENTE bloques de archivos separados por marcadores ===. Nada de explicaciones extra fuera de los bloques.
|
|
1266
|
+
|
|
1267
|
+
=== architecture.md ===
|
|
1268
|
+
[contenido completo del NIVEL 0]
|
|
1269
|
+
|
|
1270
|
+
=== nombre-componente-1/architecture.md ===
|
|
1271
|
+
[contenido completo del NIVEL 1 del componente 1]
|
|
1272
|
+
|
|
1273
|
+
=== nombre-componente-1/modules/auth.md ===
|
|
1274
|
+
[contenido completo del NIVEL 2 del modulo auth]
|
|
1275
|
+
|
|
1276
|
+
=== nombre-componente-1/modules/leads.md ===
|
|
1277
|
+
[contenido completo del NIVEL 2 del modulo leads]
|
|
1278
|
+
|
|
1279
|
+
=== nombre-componente-2/architecture.md ===
|
|
1280
|
+
...
|
|
1281
|
+
|
|
1282
|
+
REGLAS DE PATHS:
|
|
1283
|
+
- El archivo principal SIEMPRE es: === architecture.md ===
|
|
1284
|
+
- Por componente: === [nombre-componente]/architecture.md ===
|
|
1285
|
+
- Por modulo interno: === [nombre-componente]/modules/[nombre-modulo].md ===
|
|
1286
|
+
- USA SIEMPRE rutas RELATIVAS, jamas absolutas
|
|
1287
|
+
- Documenta TODOS los componentes no triviales del DIRECTORIO_TRABAJO
|
|
1288
|
+
- Si existe documentacion previa, ACTUALIZALA preservando lo que sigue siendo valido y agregando lo nuevo`;
|
|
1143
1289
|
const res = await this.runWithFallback('explorer', prompt, 'Exploracion');
|
|
1144
1290
|
const text = extractCliText(res);
|
|
1145
1291
|
// Parse sections separated by === path/file.md === markers
|
|
@@ -1230,16 +1376,47 @@ PROYECTO: ${this.config.project}
|
|
|
1230
1376
|
${existingArch ? `DOCUMENTACION EXISTENTE:\n${existingArch.slice(0, 3000)}\n` : 'Sin documentacion previa.\n'}
|
|
1231
1377
|
CONTEXTO: ${context.slice(0, 2000)}
|
|
1232
1378
|
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
-
|
|
1379
|
+
OBJETIVO
|
|
1380
|
+
Generar documentacion ESCALONADA en 3 niveles (global / componente / modulo), util para perfiles funcionales y tecnicos. Detallada pero concreta. Cero suposiciones.
|
|
1381
|
+
|
|
1382
|
+
REGLA DE ORO — PROHIBIDO ESPECULAR
|
|
1383
|
+
NO uses "Inferido", "Probablemente", "Asumido", "(quizas)", "parece". Si no podes verificar un dato leyendo un archivo, OMITELO. Cada puerto, version, endpoint, env var y schema debe haber sido leido de un archivo real.
|
|
1384
|
+
|
|
1385
|
+
WORKFLOW (usa tus tools)
|
|
1386
|
+
1. Lista DIRECTORIO_TRABAJO y detecta los componentes no triviales.
|
|
1387
|
+
2. Para cada componente, LEE como minimo:
|
|
1388
|
+
- Manifest (package.json | requirements.txt | pom.xml | build.gradle | go.mod | Cargo.toml)
|
|
1389
|
+
- Entry point (main.ts | index.js | app.py | Application.java | cmd/main.go)
|
|
1390
|
+
- .env / .env.example / application.yml / settings.py
|
|
1391
|
+
- 2-3 controladores/routers principales (para endpoints reales)
|
|
1392
|
+
- 2-3 schemas/models principales (para shapes reales)
|
|
1393
|
+
3. Mapea relaciones reales (URLs en .env, imports cross-component, conexiones a DB/colas).
|
|
1394
|
+
|
|
1395
|
+
LENGUAJE DUAL
|
|
1396
|
+
Cada seccion abre con UNA linea simple (que entienda un PM). Despues, el detalle tecnico.
|
|
1397
|
+
- MAL: "El microservicio orquesta la persistencia mediante un repositorio."
|
|
1398
|
+
- BIEN: "Guarda la informacion del usuario. Internamente usa un repositorio que abstrae MongoDB."
|
|
1399
|
+
|
|
1400
|
+
NIVEL 0 — ${archPath} (50-150 lineas)
|
|
1401
|
+
Secciones: Overview funcional · Tabla de componentes (con stack+version, puerto, proposito, entry point) · Tabla de relaciones (origen, destino, tipo, proposito) · Diagrama ASCII · 3-5 flujos end-to-end (mapping funcional → tecnico) · Prerequisitos · Comandos globales.
|
|
1402
|
+
|
|
1403
|
+
NIVEL 1 — ${contextDir}/<componente>/architecture.md (80-200 lineas, uno por componente)
|
|
1404
|
+
Secciones: Que hace (simple) · Casos de uso (3-6 bullets en formato negocio) · Stack tecnico (tabla con versiones reales) · Puerto y URLs · Estructura interna (arbol real) · Tabla de modulos · Tabla de endpoints reales · Tabla de variables de entorno · Integraciones · Como levantar · Comandos.
|
|
1405
|
+
|
|
1406
|
+
NIVEL 2 — ${contextDir}/<componente>/modules/<modulo>.md (40-120 lineas, uno por modulo significativo)
|
|
1407
|
+
Secciones: Funcion (simple) · Funcion (tecnica) · Flujos / casos de uso paso a paso · Endpoints / interfaces · Schemas reales en codigo · Reglas de negocio · Archivos clave · Dependencias internas/externas/cross-component.
|
|
1408
|
+
|
|
1409
|
+
CALIBRACION
|
|
1410
|
+
- NIVEL 0: 50-150 lineas. NIVEL 1: 80-200 por componente. NIVEL 2: 40-120 por modulo.
|
|
1411
|
+
- Si te queda corto, leiste pocos archivos. Si te queda largo, recorta el relleno.
|
|
1412
|
+
- Componentes triviales (solo scripts/docs): mencionalos en NIVEL 0 y NO les crees subcarpeta.
|
|
1413
|
+
|
|
1414
|
+
REGLAS DE ESCRITURA
|
|
1415
|
+
- Solo podes escribir archivos dentro de ${contextDir}/
|
|
1416
|
+
- NO crees archivos sueltos en la raiz de ${contextDir}/ (excepto architecture.md)
|
|
1417
|
+
- Por componente usa: ${contextDir}/<componente>/architecture.md
|
|
1418
|
+
- Por modulo usa: ${contextDir}/<componente>/modules/<modulo>.md
|
|
1419
|
+
- Si existe documentacion previa, ACTUALIZALA preservando lo valido`);
|
|
1243
1420
|
let result;
|
|
1244
1421
|
const sp = this._startSpinner(`agent-explorer ${role.model}`);
|
|
1245
1422
|
try {
|