Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
8.7 KiB
8.7 KiB
SIMCO: BUSCAR Y EXPLORAR
Versión: 1.0.0 Fecha: 2025-12-08 Aplica a: TODO agente que necesite localizar archivos, código o información Prioridad: RECOMENDADA
RESUMEN EJECUTIVO
Antes de crear, BUSCA. Antes de preguntar, EXPLORA. Este documento proporciona estrategias eficientes para encontrar información en el workspace.
ESTRATEGIAS DE BÚSQUEDA
0. Búsqueda en Catálogo de Funcionalidades (PRIMERO)
ANTES de buscar en código del proyecto, verificar si existe funcionalidad probada en @CATALOG:
# Buscar en catálogo de funcionalidades reutilizables
grep -i "{funcionalidad}" @CATALOG_INDEX
# Funcionalidades catalogadas:
# - auth, session, rate-limiting, notifications
# - multi-tenancy, feature-flags, websocket, payments
# Si encuentra en catálogo → Usar @REUTILIZAR
# Si NO encuentra → Continuar con búsqueda normal
Alias del catálogo:
@CATALOG → core/catalog/
@CATALOG_INDEX → core/catalog/CATALOG-INDEX.yml
@CATALOG_AUTH → core/catalog/auth/
@CATALOG_SESSION → core/catalog/session-management/
# ... ver @ALIASES para lista completa
1. Búsqueda por Alias (Más Rápida)
Usar los alias definidos en @ALIASES para navegación directa:
# Alias de ubicaciones frecuentes
@CATALOG → core/catalog/ (funcionalidades reutilizables)
@INVENTORY → orchestration/inventarios/MASTER_INVENTORY.yml
@DDL → {DB_DDL_PATH}/schemas/
@BACKEND → {BACKEND_SRC}/modules/
@FRONTEND → {FRONTEND_SRC}/apps/
@DOCS → docs/
@GUIAS → docs/95-guias-desarrollo/
2. Búsqueda en Inventarios (Anti-Duplicación)
Para verificar si algo existe:
# Buscar en inventario maestro
grep -i "{nombre}" @INVENTORY
# Buscar tabla específica
grep -A 5 "name: {tabla}" @INV_DB
# Buscar entity específica
grep -A 5 "name: {Entity}" @INV_BE
# Buscar componente específico
grep -A 5 "name: {Componente}" @INV_FE
3. Búsqueda en Código
Buscar definiciones:
# Buscar clase/tipo
grep -rn "class {Nombre}" apps/
grep -rn "interface {Nombre}" apps/
grep -rn "type {Nombre}" apps/
# Buscar función/método
grep -rn "function {nombre}" apps/
grep -rn "{nombre}(" apps/
# Buscar tabla SQL
grep -rn "CREATE TABLE.*{nombre}" @DDL_ROOT
# Buscar importaciones
grep -rn "import.*{Nombre}" apps/
Buscar archivos:
# Por nombre exacto
find apps/ -name "{nombre}.ts"
find apps/ -name "{nombre}.tsx"
find apps/ -name "{nombre}.sql"
# Por patrón
find apps/ -name "*{patron}*"
find apps/ -name "*.entity.ts"
find apps/ -name "*.service.ts"
# Por tipo
find apps/ -type f -name "*.md"
find apps/ -type d -name "{directorio}"
4. Búsqueda en Documentación
Buscar en docs/:
# Buscar término en documentación
grep -rn "{término}" docs/
# Buscar en guías de desarrollo
grep -rn "{término}" @GUIAS
# Buscar ADRs relacionados
grep -rn "{término}" @ADR
# Buscar especificaciones
grep -rn "{término}" docs/*/especificaciones/
Buscar en orchestration/:
# Buscar en directivas
grep -rn "{término}" @DIRECTIVAS
# Buscar en trazas
grep -rn "{término}" orchestration/trazas/
# Buscar en prompts
grep -rn "{término}" @PROMPTS
CASOS DE USO COMUNES
Caso 1: ¿Existe esta tabla?
# Paso 1: Buscar en inventario
grep -i "{nombre_tabla}" @INVENTORY
# Paso 2: Buscar DDL
find @DDL_ROOT -name "*{nombre}*.sql"
grep -rn "CREATE TABLE.*{nombre}" @DDL_ROOT
# Paso 3: Buscar entity relacionada
grep -rn "name: '{nombre}'" @BACKEND
Caso 2: ¿Existe este componente?
# Paso 1: Buscar en inventario
grep -i "{NombreComponente}" @INV_FE
# Paso 2: Buscar archivo
find @FRONTEND_ROOT -name "*{Nombre}*"
# Paso 3: Buscar importaciones
grep -rn "import.*{Nombre}" @FRONTEND_ROOT
Caso 3: ¿Dónde se usa esta función/método?
# Buscar invocaciones
grep -rn "{nombreFuncion}(" apps/
# Buscar importaciones
grep -rn "import.*{nombreFuncion}" apps/
# Ver contexto (5 líneas antes y después)
grep -rn -B 5 -A 5 "{nombreFuncion}" apps/
Caso 4: ¿Qué endpoints tiene este módulo?
# Buscar en inventario
grep -A 20 "module: {modulo}" @INV_BE | grep -A 5 "endpoints"
# Buscar en controllers
grep -rn "@Get\|@Post\|@Put\|@Delete" @BACKEND/{modulo}/controllers/
# Buscar decoradores de ruta
grep -rn "@Controller" @BACKEND/{modulo}/
Caso 5: ¿Qué decisiones arquitectónicas hay sobre X?
# Buscar en ADRs
grep -rn "{término}" @ADR
# Listar ADRs
ls -la @ADR
# Buscar en documentación transversal
grep -rn "{término}" @DOCS_TRANSVERSAL
Caso 6: ¿Hay directivas sobre X?
# Buscar en directivas
grep -rn "{término}" @DIRECTIVAS
# Buscar en SIMCO
grep -rn "{término}" @SIMCO
# Buscar en principios
grep -rn "{término}" @PRINCIPIOS
BÚSQUEDA CROSS-PROJECT
Navegar a Otro Proyecto
# Usando proyectos conocidos de @ALIASES
cd ~/workspace/projects/{proyecto}
# Verificar estructura
ls -la
ls -la docs/
ls -la orchestration/
Buscar Patrones en Múltiples Proyectos
# Buscar en todos los proyectos
grep -rn "{patrón}" ~/workspace/projects/
# Buscar archivos similares
find ~/workspace/projects/ -name "{nombre}*"
# Comparar implementaciones
diff -r proyecto1/apps/backend/src/modules/{modulo} \
proyecto2/apps/backend/src/modules/{modulo}
Referenciar Implementación de Otro Proyecto
## Referencia Cross-Project
Se tomó como referencia la implementación de `{módulo}` en proyecto `{proyecto}`:
**Ruta:** `~/workspace/projects/{proyecto}/apps/{capa}/...`
**Adaptaciones realizadas:**
- {cambio 1}
- {cambio 2}
HERRAMIENTAS DE BÚSQUEDA
grep (búsqueda de contenido)
# Básico
grep "{patrón}" {archivo}
# Recursivo
grep -r "{patrón}" {directorio}
# Con número de línea
grep -rn "{patrón}" {directorio}
# Case insensitive
grep -ri "{patrón}" {directorio}
# Con contexto (líneas antes/después)
grep -rn -B 3 -A 3 "{patrón}" {directorio}
# Solo nombres de archivos
grep -rl "{patrón}" {directorio}
# Excluir directorios
grep -rn --exclude-dir={node_modules,.git} "{patrón}" .
# Regex extendido
grep -rE "{regex}" {directorio}
find (búsqueda de archivos)
# Por nombre
find {directorio} -name "{nombre}"
# Por patrón
find {directorio} -name "*{patrón}*"
# Por tipo (archivo/directorio)
find {directorio} -type f -name "*.ts"
find {directorio} -type d -name "{nombre}"
# Modificados recientemente
find {directorio} -mtime -1 # últimas 24h
find {directorio} -mmin -60 # últimos 60min
# Excluir directorios
find {directorio} -name "*.ts" -not -path "*/node_modules/*"
Combinaciones Útiles
# Encontrar archivos y buscar contenido
find apps/ -name "*.ts" -exec grep -l "{patrón}" {} \;
# Contar ocurrencias por archivo
grep -rc "{patrón}" apps/ | grep -v ":0$"
# Buscar y abrir en editor (si disponible)
grep -rl "{patrón}" apps/ | xargs code
# Buscar TODO/FIXME pendientes
grep -rn "TODO\|FIXME" apps/
ÍNDICES Y MAPAS
Archivos _MAP.md
Los directorios con múltiples archivos tienen un _MAP.md de navegación:
# Encontrar todos los mapas
find . -name "_MAP.md"
# Leer mapa de directivas
cat @DIRECTIVAS/_MAP.md
# Leer mapa de agentes
cat @PROMPTS/_MAP.md
Estructura de Navegación
orchestration/
├── _MAP.md # Índice general de orchestration
├── directivas/
│ └── _MAP.md # Índice de directivas
├── agents/
│ └── _MAP.md # Índice de agentes
└── templates/
└── _MAP.md # Índice de templates
docs/
├── README.md # Índice maestro de docs
├── 00-vision-general/
│ └── _MAP.md
└── ...
OPTIMIZACIÓN DE BÚSQUEDAS
Orden Recomendado
- Primero: Buscar en inventarios (@INVENTORY)
- Segundo: Buscar en índices (_MAP.md)
- Tercero: Buscar en código (grep/find)
- Cuarto: Buscar en documentación (docs/)
Evitar Búsquedas Innecesarias
# Excluir siempre
--exclude-dir=node_modules
--exclude-dir=dist
--exclude-dir=build
--exclude-dir=.git
--exclude-dir=coverage
# Comando optimizado
grep -rn --exclude-dir={node_modules,dist,build,.git,coverage} "{patrón}" .
Cache Mental
Mantener presente:
- Estructura de
docs/(por fases) - Estructura de
orchestration/(inventarios, trazas, directivas) - Estructura de
apps/(database, backend, frontend) - Aliases más usados (@INVENTORY, @DDL, @BACKEND, @FRONTEND)
REFERENCIAS
- Aliases: @ALIASES
- Crear archivos: @CREAR (SIMCO-CREAR.md)
- Documentar: @DOCUMENTAR (SIMCO-DOCUMENTAR.md)
Versión: 1.0.0 | Sistema: SIMCO | Mantenido por: Tech Lead