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
180 lines
4.9 KiB
Bash
Executable File
180 lines
4.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# inventory-project.sh - EPIC-008
|
|
# Genera inventario completo de un proyecto
|
|
# Version: 1.0.0
|
|
|
|
set -e
|
|
|
|
PROJECT=$1
|
|
PROJECT_PATH="/home/isem/workspace-v1/projects/$PROJECT"
|
|
OUTPUT="$PROJECT_PATH/INVENTARIO.yml"
|
|
|
|
# Colores
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
# Validar argumento
|
|
if [ -z "$PROJECT" ]; then
|
|
echo -e "${RED}ERROR: Uso: $0 <nombre_proyecto>${NC}"
|
|
echo "Ejemplo: $0 gamilit"
|
|
exit 1
|
|
fi
|
|
|
|
# Validar proyecto existe
|
|
if [ ! -d "$PROJECT_PATH" ]; then
|
|
echo -e "${RED}ERROR: Proyecto '$PROJECT' no existe en $PROJECT_PATH${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== INVENTARIO DE PROYECTO: $PROJECT ==="
|
|
echo ""
|
|
|
|
# Contar archivos en docs/
|
|
if [ -d "$PROJECT_PATH/docs" ]; then
|
|
docs_total=$(find "$PROJECT_PATH/docs" -type f 2>/dev/null | wc -l)
|
|
docs_md=$(find "$PROJECT_PATH/docs" -name "*.md" 2>/dev/null | wc -l)
|
|
docs_yml=$(find "$PROJECT_PATH/docs" \( -name "*.yml" -o -name "*.yaml" \) 2>/dev/null | wc -l)
|
|
docs_json=$(find "$PROJECT_PATH/docs" -name "*.json" 2>/dev/null | wc -l)
|
|
else
|
|
docs_total=0
|
|
docs_md=0
|
|
docs_yml=0
|
|
docs_json=0
|
|
fi
|
|
|
|
# Contar archivos en orchestration/
|
|
if [ -d "$PROJECT_PATH/orchestration" ]; then
|
|
orch_total=$(find "$PROJECT_PATH/orchestration" -type f 2>/dev/null | wc -l)
|
|
orch_md=$(find "$PROJECT_PATH/orchestration" -name "*.md" 2>/dev/null | wc -l)
|
|
orch_yml=$(find "$PROJECT_PATH/orchestration" \( -name "*.yml" -o -name "*.yaml" \) 2>/dev/null | wc -l)
|
|
orch_json=$(find "$PROJECT_PATH/orchestration" -name "*.json" 2>/dev/null | wc -l)
|
|
else
|
|
orch_total=0
|
|
orch_md=0
|
|
orch_yml=0
|
|
orch_json=0
|
|
fi
|
|
|
|
# Detectar archivos obsoletos
|
|
obsoletos_list=$(find "$PROJECT_PATH" -type f \( \
|
|
-name "*.old" -o \
|
|
-name "*.backup" -o \
|
|
-name "*.bak" -o \
|
|
-name "*LEGACY*" -o \
|
|
-name "OLD-*" -o \
|
|
-name "DEPRECATED-*" -o \
|
|
-name ".DS_Store" -o \
|
|
-name "Thumbs.db" \
|
|
\) 2>/dev/null || true)
|
|
|
|
obsoletos_count=0
|
|
if [ -n "$obsoletos_list" ]; then
|
|
obsoletos_count=$(echo "$obsoletos_list" | grep -c . || echo 0)
|
|
fi
|
|
|
|
# Detectar referencias a rutas antiguas (workspace/ sin -v1)
|
|
refs_antiguas=$(grep -r "/home/isem/workspace/" "$PROJECT_PATH" --include="*.md" --include="*.yml" --include="*.yaml" 2>/dev/null | grep -v "workspace-v1" | wc -l || echo 0)
|
|
|
|
# Verificar archivos SIMCO clave
|
|
herencia="false"
|
|
contexto="false"
|
|
map_docs="false"
|
|
status="false"
|
|
|
|
[ -f "$PROJECT_PATH/orchestration/00-guidelines/HERENCIA-SIMCO.md" ] && herencia="true"
|
|
[ -f "$PROJECT_PATH/orchestration/00-guidelines/CONTEXTO-PROYECTO.md" ] && contexto="true"
|
|
[ -f "$PROJECT_PATH/docs/_MAP.md" ] && map_docs="true"
|
|
[ -f "$PROJECT_PATH/orchestration/00-guidelines/PROJECT-STATUS.md" ] && status="true"
|
|
|
|
# Mostrar resumen en consola
|
|
echo "docs/:"
|
|
echo " total: $docs_total"
|
|
echo " markdown: $docs_md"
|
|
echo " yaml: $docs_yml"
|
|
echo " json: $docs_json"
|
|
echo ""
|
|
echo "orchestration/:"
|
|
echo " total: $orch_total"
|
|
echo " markdown: $orch_md"
|
|
echo " yaml: $orch_yml"
|
|
echo " json: $orch_json"
|
|
echo ""
|
|
echo "Problemas detectados:"
|
|
echo " archivos_obsoletos: $obsoletos_count"
|
|
echo " referencias_antiguas: $refs_antiguas"
|
|
echo ""
|
|
echo "Estado SIMCO:"
|
|
echo " HERENCIA-SIMCO.md: $herencia"
|
|
echo " CONTEXTO-PROYECTO.md: $contexto"
|
|
echo " _MAP.md (docs): $map_docs"
|
|
echo " PROJECT-STATUS.md: $status"
|
|
|
|
# Listar archivos obsoletos si existen
|
|
if [ "$obsoletos_count" -gt 0 ]; then
|
|
echo ""
|
|
echo -e "${YELLOW}Archivos obsoletos encontrados:${NC}"
|
|
echo "$obsoletos_list" | while read -r file; do
|
|
if [ -n "$file" ]; then
|
|
echo " - $file"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
# Generar YAML
|
|
cat > "$OUTPUT" << EOF
|
|
# Inventario generado por EPIC-008
|
|
proyecto: $PROJECT
|
|
fecha: "$(date +%Y-%m-%d)"
|
|
generado_por: "inventory-project.sh v1.0.0"
|
|
|
|
inventario:
|
|
docs:
|
|
total: $docs_total
|
|
por_tipo:
|
|
markdown: $docs_md
|
|
yaml: $docs_yml
|
|
json: $docs_json
|
|
orchestration:
|
|
total: $orch_total
|
|
por_tipo:
|
|
markdown: $orch_md
|
|
yaml: $orch_yml
|
|
json: $orch_json
|
|
|
|
problemas:
|
|
archivos_obsoletos: $obsoletos_count
|
|
referencias_antiguas: $refs_antiguas
|
|
simco_faltantes:
|
|
EOF
|
|
|
|
# Agregar SIMCO faltantes
|
|
[ "$herencia" = "false" ] && echo " - HERENCIA-SIMCO.md" >> "$OUTPUT"
|
|
[ "$contexto" = "false" ] && echo " - CONTEXTO-PROYECTO.md" >> "$OUTPUT"
|
|
[ "$map_docs" = "false" ] && echo " - _MAP.md en docs/" >> "$OUTPUT"
|
|
[ "$status" = "false" ] && echo " - PROJECT-STATUS.md" >> "$OUTPUT"
|
|
|
|
cat >> "$OUTPUT" << EOF
|
|
|
|
estado_simco:
|
|
herencia_simco: $herencia
|
|
contexto_proyecto: $contexto
|
|
map_docs: $map_docs
|
|
project_status: $status
|
|
EOF
|
|
|
|
# Agregar lista de obsoletos si existen
|
|
if [ "$obsoletos_count" -gt 0 ]; then
|
|
echo "" >> "$OUTPUT"
|
|
echo "archivos_obsoletos_lista:" >> "$OUTPUT"
|
|
echo "$obsoletos_list" | while read -r file; do
|
|
if [ -n "$file" ]; then
|
|
echo " - \"$file\"" >> "$OUTPUT"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${GREEN}Inventario generado: $OUTPUT${NC}"
|