UStackUStack
Standboy icon

Standboy

Standboy es una extensión de VS Code que muestra un panel del emulador de Game Boy y lo expande/pausa según la actividad de tu agente de IA.

Standboy

¿Qué es Standboy?

Standboy es una extensión de VS Code que integra un panel de emulador de la familia Game Boy y vincula la visibilidad y el estado de reproducción del emulador a la actividad de tu agente de IA. Cuando el agente comienza a generar, Standboy expande automáticamente la barra lateral del emulador y reanuda la reproducción; cuando el agente finaliza o queda inactivo, Standboy oculta el panel y pausa el emulador.

El objetivo es reducir el “tiempo muerto” de espera al agente manteniendo la distracción dentro del IDE y pausando el emulador cuando este no está trabajando activamente. Permite cargar tus propios archivos ROM y conserva el último juego reproducido y las partidas guardadas entre reinicios de VS Code.

Características principales

  • Mostrar/ocultar automáticamente según la actividad del agente: La extensión expande el emulador después de que el agente haya trabajado unos segundos y lo contrae tras un periodo similar de inactividad para evitar parpadeos durante turnos breves del agente.
  • Integración con Cursor y Claude Code: Standboy se conecta mediante las APIs oficiales de ciclo de vida de Cursor y Claude Code con un único interruptor en el menú del panel.
  • Reanudación en el mismo fotograma: Al volver a abrir el emulador, continúa exactamente donde lo dejó (sin reiniciar el juego).
  • Biblioteca de ROM con guardados persistentes: Las ROM cargadas se copian en una biblioteca gestionada. El estado de guardado del juego se refleja en disco cuando el panel se oculta, se descarga la página y antes de exportar; el estado en tiempo de ejecución se mantiene en IndexedDB, y la extensión está diseñada para que los guardados sobrevivan a los reinicios de VS Code.
  • Coincidencia de ROM y metadatos de biblioteca: Las ROM se identifican comparando su SHA-1 con una base de datos No-Intro incluida, lo que proporciona títulos canónicos y carátulas consistentes (con un respaldo de mosaico de letras para homebrew y hacks).
  • Soporte de dispositivos y entrada: Compatible con ROM .gb, .gbc y .gba con detección automática de plataforma por extensión de archivo. Los controles de teclado se pueden reasignar desde el menú del panel, mapeando el D-pad a las flechas y A/B/Start/Select a las teclas elegidas.
  • Emulador sin conexión y datos incluidos: El emulador (EmulatorJS) y la base de datos No-Intro están integrados y funcionan sin conexión.

Cómo usar Standboy

  1. Instalar la extensión de VS Code: En VS Code, abre el panel de Extensiones y busca Standboy, o ejecuta code --install-extension mfbzme.standboy.
  2. Conectar la detección del agente (primera ejecución): En la primera activación, Standboy abre automáticamente el panel y muestra una tarjeta para conectar el tipo de agente detectado (Claude Code si existe ~/.claude/settings.json, o Cursor si se ejecuta dentro de Cursor). Usa Conectar para habilitar los ganchos de ciclo de vida, o descarta y alterna más tarde desde el menú en Detección.
  3. Añadir una ROM: Haz clic en + Añadir ROM (o Cargar ROM… desde el menú), selecciona un archivo local .gb, .gbc o .gba. Standboy lo copia en su biblioteca gestionada, lo identifica con la base de datos No-Intro incluida e inicia el emulador.
  4. Usar el emulador durante la generación activa: El panel acepta entrada de teclado mientras está abierto. Cuando el agente está inactivo, Standboy pausa y oculta el panel según las reglas de la ventana de inactividad.

Casos de uso

  • Mantener la concentración mientras el agente trabaja: Cuando Cursor/Claude Code comienza a generar código, Standboy expande el emulador para que puedas jugar sin salir del IDE; al terminar la generación, pausa y contrae el panel.
  • Evitar el “cambio de pestaña” durante ejecuciones largas del agente: En lugar de cambiar a otras aplicaciones (chat, foros, mensajería), el emulador ofrece un descanso dentro del editor con un límite de pausa definido cuando el agente está activo o ha terminado.
  • Volver al mismo juego tras reiniciar: Tras cargar una ROM una vez, Standboy reanuda automáticamente la última ROM reproducida en el siguiente inicio de VS Code, restaurando los datos guardados.
  • Crear una biblioteca de ROM con títulos y carátulas consistentes: Los archivos ROM con nombres distintos en disco aparecen con títulos canónicos y carátulas al comparar sus hashes SHA-1 con la base de datos No-Intro incluida.
  • Probar diferentes distribuciones de entrada: Los usuarios pueden reasignar los controles desde el menú del panel para adaptarlos a su teclado o preferencias.

FAQ

  • ¿Standboy incluye juegos o proporciona fuentes de ROM? No. Standboy carga solo ROMs proporcionadas por el usuario y no incluye juegos integrados ni enlaces a fuentes de ROM.

  • ¿Puedo usarlo sin conexión? El emulador y la base de datos No-Intro vienen integrados y funcionan sin conexión. Las únicas llamadas de red descritas son solicitudes puntuales de carátulas a libretro-thumbnails, realizadas por el host de la extensión y guardadas en caché local.

  • ¿Cómo decide Standboy cuándo mostrar u ocultar el emulador? Standboy se activa solo cuando detecta actividad del agente durante unos segundos (muestra automática) y se oculta tras un periodo similar de inactividad (ocultación automática). El comportamiento está diseñado para evitar parpadeos en turnos muy cortos del agente.

  • ¿Qué integraciones de agentes son compatibles? La extensión se conecta a Cursor y Claude Code mediante sus APIs oficiales de ciclo de vida, con un interruptor en el menú del panel. Para otros agentes, puede recurrir a una heurística de ráfagas de edición si no hay soporte específico disponible.

  • ¿El emulador reanuda donde lo dejé? Sí. Standboy reanuda a mitad de fotograma cuando se vuelve a abrir el panel, y la webview se conserva al ocultarse para pausar en el mismo estado y continuar desde ahí.

Alternativas

  • Emuladores de Game Boy de propósito general (escritorio/móvil independientes): Se centran en el juego pero no se integran con los ciclos de vida de agentes de VS Code para pausar/mostrar automáticamente.
  • Otros paneles laterales de medios/notificaciones en VS Code: Las extensiones que muestran indicadores de actividad o paneles simples pueden ayudar a gestionar la atención, pero normalmente no ofrecen un emulador que reanude a mitad de fotograma y conserve las partidas.
  • Programadores de tareas o temporizadores de concentración en IDE (estilo Pomodoro): Pueden reducir el “tiempo de espera” de forma estructurada, pero no proporcionan un emulador dentro del IDE con identificación de ROM y persistencia de guardados.
  • Integraciones de emuladores en webviews sin conexión a agentes: Ofrecen un flujo de trabajo similar (jugar dentro del editor), pero sin la visualización/ocultación basada en el ciclo de vida ni la reanudación a mitad de fotograma vinculada a la actividad del agente de IA.