Refactor(ADN): Migración de tools/adn a adn/tools en busca de la Armonía Integral del DIIAA

This commit is contained in:
Ricardo Monla
2026-03-10 22:25:01 -03:00
parent 174ef7d53c
commit 78006032eb
69 changed files with 432 additions and 671 deletions
+110
View File
@@ -0,0 +1,110 @@
# frozen_string_literal: true
require_relative '../core/colores'
class SubcomandoAyuda
def initialize(args, logger)
@args = args
@logger = logger
end
def ejecutar
if @args.empty?
mostrar_ayuda_principal
else
mostrar_ayuda_subcomando(@args[0])
end
end
private
def mostrar_ayuda_principal
puts <<~AYUDA_PRINCIPAL
#{Color::CYAN}🔧 Herramienta ADN - Interfaz de línea de comandos unificada#{Color::RESET}
#{Color::DIM}Versión: Fase 1 (Núcleo Autónomo)#{Color::RESET}
#{Color::GREEN}Uso:#{Color::RESET} ./adn/tools/run <subcomando> [opciones] [argumentos]
#{Color::YELLOW}Subcomandos disponibles:#{Color::RESET}
validador [--watch] [--fix] Validar cumplimiento del ADN en bitácoras
contexto <nodo> [--cmd] Obtener contexto topológico de un nodo
salud [--dashboard] [--json] Ver salud general del sistema ADN
generar bitacora [fecha] Generar nueva bitácora (fecha: YYYY-MM-DD)
generar nodo <nombre> Generar ficha de nodo
#{Color::YELLOW}generar proyecto <código>#{Color::RESET} Generar manifiesto de proyecto
#{Color::YELLOW}backup <nodo> [--mode MODO]#{Color::RESET} Ejecutar backup seguro de un nodo
#{Color::YELLOW}inicio de jornada [presencial|remoto]#{Color::RESET} Inicio de jornada laboral
#{Color::YELLOW}cierre de jornada [presencial|remoto]#{Color::RESET} Cierre de jornada laboral
#{Color::YELLOW}triggers [opciones]#{Color::RESET} Gestión del motor de triggers
#{Color::YELLOW}ayuda [subcomando]#{Color::RESET} Mostrar esta ayuda o ayuda específica
#{Color::YELLOW}Subcomandos en desarrollo (Fases futuras):#{Color::RESET}
evolucion <propuesta.md> Gestionar propuesta de evolución del ADN
triggers [--test] [--force] Ejecutar triggers de sincronización
#{Color::DIM}Para ayuda detallada de un subcomando:#{Color::RESET}
./adn/tools/run ayuda <subcomando>
#{Color::DIM}Documentación completa:#{Color::RESET} docs/plan/260307-1400_Plan_Mejoras_ADN.md
AYUDA_PRINCIPAL
end
def mostrar_ayuda_subcomando(subcomando)
case subcomando.downcase
when 'validador'
puts "Uso: ./adn/tools/run validador [--watch] [--fix]"
puts ""
puts "Valida el cumplimiento del ADN en las bitácoras:"
puts " • Formato de tiempo (HH:MM, sin \"hs\")"
puts " • Iconografía de estados y semántica correcta"
puts " • Presencia de métricas híbridas ([Físico/Remoto:])"
puts " • Referencias bidireccionales en rollovers"
puts " • Estructura de tablas en bitácoras"
puts ""
puts "Opciones:"
puts " --watch Monitorizar cambios en tiempo real (Fase 1 completa)"
puts " --fix Intentar corregir errores automáticamente"
puts ""
puts "Ejemplo:"
puts " ./adn/tools/run validador"
puts " ./adn/tools/run validador --fix"
when 'contexto'
puts "Uso: ./adn/tools/run contexto <nombre-nodo> [--cmd]"
puts ""
puts "Obtiene información contextual de un nodo:"
puts " • IP y configuración de red"
puts " • Rol en la topología"
puts " • Comandos SSH sugeridos"
puts ""
puts "Ejemplo:"
puts " ./adn/tools/run contexto srv-pmox1"
puts " ./adn/tools/run contexto srvv-fenix --cmd"
when 'salud'
puts "Uso: ./adn/tools/run salud [--dashboard] [--json]"
puts ""
puts "Muestra métricas de salud del sistema ADN:"
puts " • Cantidad de hebras, bitácoras, nodos, proyectos"
puts " • Errores recientes en logs"
puts ""
puts "Ejemplo:"
puts " ./adn/tools/run salud"
puts " ./adn/tools/run salud --json"
when 'generar'
puts "Uso: ./adn/tools/run generar <tipo> [argumentos]"
puts ""
puts "Tipos disponibles:"
puts " bitacora [fecha] - Crea nueva bitácora (fecha: YYYY-MM-DD, default: hoy)"
puts " nodo <nombre> - Crea ficha de nodo"
puts " proyecto <código> - Crea manifiesto de proyecto"
puts ""
puts "Ejemplos:"
puts " ./adn/tools/run generar bitacora"
puts " ./adn/tools/run generar bitacora 2026-03-08"
puts " ./adn/tools/run generar nodo srv-nuevo"
puts " ./adn/tools/run generar proyecto P2604"
else
puts "#{Color::RED}✗ Subcomando desconocido: #{subcomando}#{Color::RESET}"
puts "Usa './adn/tools/run ayuda' para ver la lista de subcomandos."
end
end
end