Todo el que administra máquinas Windows ya coleccionó esa carpeta de scripts .bat y .ps1 sueltos — cada uno resolviendo una cosa, ninguno conversando con el otro. SysDoctor nació de reunir ese conocimiento en una única utilidad de consola cohesiva: diagnóstico y optimización de Windows en C# 12 / .NET 10, con una interfaz de terminal que cualquier técnico usa sin memorizar comandos. Este es un recorrido por la ingeniería que hay detrás.
Por qué consola, y por qué C#
El mantenimiento de sistemas exige una herramienta que corra en cualquier máquina, sin instalar un mundo de dependencias y sin una interfaz pesada. Una console app self-contained (win-x64) resuelve esto: un ejecutable, cero setup. C# 12 sobre .NET 10 da acceso nativo a Windows vía System.Management (WMI) y un ecosistema maduro para I/O asíncrono — y Spectre.Console entrega una TUI con tablas, colores y estados que hace que la terminal parezca un producto, no un prompt crudo.
Arquitectura modular
El corazón es simple y deliberado: un Program.cs que solo orquesta el menú, y una carpeta Scripts/ donde cada operación es un módulo aislado (InfoMachine.cs, ClearDisk.cs, ClearRAM.cs…). Agregar una función nueva es crear un archivo y registrar una entrada — sin tocar el resto. Un GlobalUsings.cs centraliza los namespaces y mantiene cada módulo esbelto.
Las 17 operaciones
La herramienta organiza diecisiete operaciones en dos columnas — la división que separa entender la máquina de actuar sobre ella:
- Diagnóstico — hardware/OS, verificación de integridad de Windows, prueba de velocidad de internet, ping, temperatura del procesador, puntos de restauración, actualizaciones y mapa de conexiones de red.
- Optimización y mantenimiento — limpieza de temporales, liberación de RAM, limpieza de caché de red, optimización de latencia, ajustes de Wi-Fi, tunings de Windows, setup posinstalación y ejecución de Windows Defender.
Decisiones de ingeniería
- Async por defecto — las operaciones de I/O (red, disco, WMI) usan
async/await, así la TUI nunca se congela mientras corre una prueba de velocidad o una limpieza. - Privilegio bajo control — la app detecta si está elevada y muestra el estado; funciona sin admin, y las funciones que se benefician de la elevación avisan en vez de fallar silenciosamente.
- Falla tratada, no reventada —
UnauthorizedAccessExceptiony similares se capturan con un mensaje claro; el usuario entiende lo que pasó, no ve un stack trace. - UTF-8 y caracteres especiales — la salida está pensada para renderizar correctamente la acentuación y los símbolos, algo que la mayoría de los scripts de mantenimiento ignora.
Qué tiene esto que ver con Meta Dados
SysDoctor es un proyecto open source, pero lleva la misma disciplina que aplico en los sistemas de producción de Meta Dados: separar orquestación de ejecución, tratar el error como parte del contrato, y diseñar para quien opera — no solo para quien escribe el código. Una buena herramienta es la que desaparece para que aparezca el problema.
Preguntas frecuentes
¿Hay que ser administrador para usarla?
No para la mayoría de las operaciones — SysDoctor funciona sin elevación y detecta el nivel de privilegio, indicando visualmente el estado. Algunas funciones (tunings más profundos, ciertos ajustes de red) rinden más con permiso de administrador, y la app avisa cuando es el caso en vez de fallar sin explicación.
¿Es open source? ¿En qué stack corre?
Sí, es open source. Corre como console app self-contained para win-x64, hecho en C# 12 sobre .NET 10, usando Spectre.Console para la interfaz de terminal y System.Management (WMI) para acceder a la información del sistema. Requiere Windows 10+ y PowerShell 5.1+.