- S1: Eliminar 'triggers' duplicado en run (líneas 109/131) - S2: Eliminar cli/commit.rb (truncado, sin uso) - S3: Eliminar cli/inicio.rb y cli/cierre.rb (legacy, jornada.rb los reemplaza) - S4: Mover 4 planes obsoletos de docs/plan/adn/ a docs/_hist/plan/adn/ - S5: Mover 14 backups de planes y 3 docs técnicos a docs/_hist/ - S6: Eliminar manifiesto vacío P2604_proyecto_p2604.md - S7: Corregir referencia a plan obsoleto en run - S8: Dejar de cargar core/validador.rb obsoleto en run - S9: Limpiar progreso duplicado en P2604_mejoras_ADN.md - Agregar Fase 10 al plan P2604 con 10 tareas - Un solo punto de verdad: adn/README.md - Un solo plan: docs/proy/p2604_mejoras_ADN/P2604_mejoras_ADN.md - Registro en bitácora: evento 1073
187 lines
8.4 KiB
Ruby
187 lines
8.4 KiB
Ruby
# 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
|
|
nodos <acción> [opciones] Gestión de nodos (agrupar, listar, buscar)
|
|
jornada <acción> [modo] [hora] Gestión de jornada (iniciar, cerrar, estado)
|
|
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
|
|
msp <subcomando> Gestión de MSPs NotebookLM (auditar, listar, registrar)
|
|
#{Color::YELLOW}generar proyecto <código>#{Color::RESET} Generar manifiesto de proyecto
|
|
#{Color::YELLOW}tailscale <acción>#{Color::RESET} Gestión de identidades Tailscale
|
|
#{Color::YELLOW}backup <nodo> [--mode MODO]#{Color::RESET} Ejecutar backup seguro de un nodo
|
|
#{Color::YELLOW}db <subcomando>#{Color::RESET} Operaciones de base de datos
|
|
#{Color::YELLOW}triggers [opciones]#{Color::RESET} Gestión del motor de triggers
|
|
#{Color::YELLOW}plan [subcomando]#{Color::RESET} Gestión de planes y progreso
|
|
#{Color::YELLOW}proceso <nombre>#{Color::RESET} Ejecutar procesos técnicos automatizados
|
|
#{Color::YELLOW}estados#{Color::RESET} Listar tareas en proceso (⏳)
|
|
#{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 'nodos'
|
|
puts "Uso: ./adn/tools/run nodos <acción> [opciones]"
|
|
puts ""
|
|
puts "Gestión y consulta de nodos de infraestructura:"
|
|
puts " • agrupar [--servidor SRV] Agrupar VMs por servidor anfitrión"
|
|
puts " • listar [--tipo TIPO] Listar fichas de nodos (.md)"
|
|
puts " • buscar <término> Buscar nodos por nombre o contenido"
|
|
puts ""
|
|
puts "Ejemplos:"
|
|
puts " ./adn/tools/run nodos agrupar"
|
|
puts " ./adn/tools/run nodos agrupar --servidor srv-pmox1"
|
|
puts " ./adn/tools/run nodos listar --tipo srvv"
|
|
puts " ./adn/tools/run nodos buscar dasuten"
|
|
when 'jornada'
|
|
puts "Uso: ./adn/tools/run jornada <acción> [modo] [hora] [opciones]"
|
|
puts ""
|
|
puts "Gestión de jornada laboral:"
|
|
puts " • iniciar [presencial|remoto] [HH:MM] Registrar inicio"
|
|
puts " • cerrar [presencial|remoto] [HH:MM] Registrar cierre"
|
|
puts " • estado Ver estado actual"
|
|
puts ""
|
|
puts "Opciones:"
|
|
puts " --nodo NOMBRE Nodo a registrar (default: dtic-DIIAA)"
|
|
puts " --fecha YYYY-MM-DD Fecha de la bitácora (default: hoy)"
|
|
puts ""
|
|
puts "Ejemplos:"
|
|
puts " ./adn/tools/run jornada iniciar presencial 08:00"
|
|
puts " ./adn/tools/run jornada cerrar remoto 23:00"
|
|
puts " ./adn/tools/run jornada estado"
|
|
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"
|
|
when 'proceso'
|
|
puts "Uso: ./adn/tools/run proceso <nombre_proceso> [argumentos]"
|
|
puts ""
|
|
puts "Ejecuta procesos técnicos automatizados sobre la infraestructura:"
|
|
puts " • nodos:actualizar_so <nodo> Actualiza paquetes y parches de seguridad"
|
|
puts ""
|
|
puts "Ejemplos:"
|
|
puts " ./adn/tools/run proceso nodos:actualizar_so srv-ns8"
|
|
puts " ./adn/tools/run proceso nodos:actualizar_so srv-dasu"
|
|
when 'estados'
|
|
puts "Uso: ./adn/tools/run estados"
|
|
puts ""
|
|
puts "Consulta la bitácora web para listar todos los items con estado ⏳ (En proceso)."
|
|
puts "Ideal para monitorear procesos automatizados o jornadas abiertas."
|
|
when 'tailscale', 'ts'
|
|
puts "Uso: ./adn/tools/run tailscale <acción> [perfil]"
|
|
puts ""
|
|
puts "Gestión de identidades y perfiles de Tailscale:"
|
|
puts " • switch <perfil> Alternar entre cuentas (dasuten, personal)"
|
|
puts " • status Ver estado y cuenta activa"
|
|
puts " • list Listar perfiles en caché local"
|
|
puts ""
|
|
puts "Ejemplos:"
|
|
puts " ./adn/tools/run tailscale switch dasuten"
|
|
puts " ./adn/tools/run tailscale status"
|
|
when 'msp'
|
|
puts "Uso: ./adn/tools/run msp <subcomando> [opciones]"
|
|
puts ""
|
|
puts "Gestión de MSPs (Markdown Style Papers) de NotebookLM:"
|
|
puts " • auditar Verificar estado de conexión MCP y NotebookLM"
|
|
puts " • listar Listar MSPs disponibles en el sistema"
|
|
puts " • registrar Registrar un MSP descargado"
|
|
puts ""
|
|
puts "Opciones:"
|
|
puts " --archivo RUTA Ruta al archivo MSP (para registrar)"
|
|
puts " --titulo TITULO Título del MSP (opcional)"
|
|
puts ""
|
|
puts "Ejemplos:"
|
|
puts " ./adn/tools/run msp auditar"
|
|
puts " ./adn/tools/run msp listar"
|
|
puts " ./adn/tools/run msp registrar --archivo docs/mcps/mi-msp.md"
|
|
else
|
|
puts "#{Color::RED}✗ Subcomando desconocido: #{subcomando}#{Color::RESET}"
|
|
puts "Usa './adn/tools/run ayuda' para ver la lista de subcomandos."
|
|
end
|
|
end
|
|
end
|