workspace-v1/devtools/scripts/epic-008/inventory-project.sh
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
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
2026-01-04 03:37:42 -06:00

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}"