UStackUStack
Standboy icon

Standboy

Standboy è un’estensione per VS Code che integra un pannello di emulatore Game Boy e lo espande/mette in pausa in base all’attività dell’agente AI.

Standboy

Cos'è Standboy?

Standboy è un’estensione per VS Code che integra un pannello di emulatore della famiglia Game Boy e collega la visibilità e lo stato di riproduzione dell’emulatore all’attività del tuo agente AI di coding. Quando l’agente inizia a generare, Standboy espande automaticamente la barra laterale dell’emulatore e riprende la riproduzione; quando l’agente termina o diventa inattivo, Standboy nasconde il pannello e mette in pausa l’emulatore.

L’obiettivo è ridurre il “tempo morto” di attesa dell’agente mantenendo la distrazione all’interno dell’IDE e mettendo in pausa forzata l’emulatore quando l’agente non sta lavorando attivamente. Supporta il caricamento dei tuoi file ROM e mantiene l’ultimo gioco riprodotto e i salvataggi tra i riavvii di VS Code.

Funzionalità principali

  • Mostra/nascondi automatico in base all’attività dell’agente: L’estensione espande l’emulatore dopo che l’agente ha lavorato per alcuni secondi e lo ritira dopo un analogo periodo di inattività per evitare sfarfallii durante brevi turni dell’agente.
  • Integrazione del ciclo di vita per Cursor e Claude Code: Standboy si integra tramite le API ufficiali del ciclo di vita di Cursor e Claude Code con un singolo interruttore nel menu del pannello.
  • Ripresa a metà frame: Quando l’emulatore viene riaperto, riprende esattamente da dove era stato interrotto (non solo riavviando il gioco).
  • Libreria ROM con salvataggi persistenti: Le ROM caricate vengono copiate in una libreria gestita. Lo stato di salvataggio in-game viene salvato su disco quando il pannello si nasconde, la pagina si scarica e prima dell’esportazione; lo stato di runtime è mantenuto in IndexedDB, con l’estensione progettata affinché i salvataggi sopravvivano ai riavvii di VS Code.
  • Corrispondenza ROM e metadati della libreria: Le ROM vengono identificate confrontando il loro SHA-1 con un database No-Intro incluso, consentendo titoli canonici coerenti e copertine (con un fallback a tessere con lettere per homebrew/hack).
  • Supporto dispositivi e input: Supporta ROM .gb, .gbc e .gba con rilevamento automatico della piattaforma in base all’estensione del file. I controlli da tastiera sono riassegnabili dal menu del pannello, mappando il D-pad sui tasti freccia e A/B/Start/Select su qualsiasi tasto scelto.
  • Emulatore offline e dati inclusi: L’emulatore (EmulatorJS) e il database No-Intro sono inclusi e funzionano offline.

Come usare Standboy

  1. Installa l’estensione VS Code: In VS Code, apri il pannello Estensioni e cerca Standboy, oppure esegui code --install-extension mfbzme.standboy.
  2. Connetti il rilevamento dell’agente (primo avvio): Alla prima attivazione, Standboy apre automaticamente il pannello e mostra una scheda per connettere il tipo di agente rilevato (Claude Code se esiste ~/.claude/settings.json, o Cursor se in esecuzione all’interno di Cursor). Usa Connetti per abilitare gli hook del ciclo di vita, oppure ignora e attiva successivamente dal menu sotto Rilevamento.
  3. Aggiungi una ROM: Fai clic su + Aggiungi ROM (o Carica ROM… dal menu), quindi scegli un file locale .gb, .gbc o .gba. Standboy lo copia nella sua libreria gestita, lo identifica rispetto al database No-Intro incluso e avvia l’emulatore.
  4. Usa l’emulatore durante la generazione attiva: Il pannello accetta input da tastiera mentre è aperto. Quando l’agente è inattivo, Standboy mette in pausa e nasconde il pannello secondo le regole della finestra di inattività.

Casi d’uso

  • Mantenere la concentrazione mentre un agente lavora: Quando Cursor/Claude Code inizia a generare codice, Standboy espande l’emulatore per giocare senza uscire dall’IDE; quando la generazione termina, mette in pausa e ritira il pannello.
  • Evitare il “cambio di scheda” durante esecuzioni lunghe dell’agente: Invece di passare ad altre app (chat, forum, messaggistica), l’emulatore offre una pausa all’interno dell’editor con un confine di pausa forzata quando l’agente è attivo/finito.
  • Ritornare allo stesso gioco dopo il riavvio: Dopo aver caricato una ROM una volta, Standboy riprende automaticamente l’ultima ROM riprodotta al successivo avvio di VS Code, ripristinando i dati di salvataggio.
  • Creare una libreria ROM con titoli/copertine coerenti: I file ROM con nomi diversi su disco appaiono comunque con titoli canonici e copertine confrontando gli hash SHA-1 con il database No-Intro incluso.
  • Testare diversi layout di input: Gli utenti possono riassegnare i controlli dal menu del pannello per adattarli alla propria tastiera o preferenze.

FAQ

  • Standboy include giochi o fornisce sorgenti ROM? No. Standboy carica solo ROM fornite dall’utente e non include giochi preinstallaticollegamenti a sorgenti ROM.

  • Posso usarlo offline? L’emulatore e il database No-Intro sono inclusi e funzionano offline. Le uniche chiamate di rete descritte sono richieste una tantum per le copertine da libretro-thumbnails, eseguite dall’host dell’estensione e memorizzate nella cache locale.

  • Come decide Standboy quando mostrare o nascondere l’emulatore? Standboy si attiva solo quando rileva attività dell’agente per alcuni secondi (mostra automatico) e si nasconde dopo un analogo periodo di inattività (nascondi automatico). Il comportamento è progettato per evitare lampeggiamenti su turni molto brevi dell’agente.

  • Quali integrazioni con agenti sono supportate? L’estensione si collega a Cursor e Claude Code tramite le API ufficiali del ciclo di vita, con un interruttore nel menu del pannello. Per altri agenti può ricorrere a un’euristica basata su burst di modifiche se non è disponibile un supporto specifico.

  • L’emulatore riprende da dove l’avevo lasciato? Sì. Standboy riprende a metà frame quando il pannello si riapre e il webview viene mantenuto quando nascosto, in modo da mettere in pausa sul posto e continuare dallo stesso stato.

Alternative

  • Emulatori Game Boy generici (desktop/mobile standalone): Si concentrano sul gioco ma non si integrano con i cicli di vita degli agenti VS Code per mettere in pausa/mostrare automaticamente.
  • Altri pannelli laterali di media/notifiche per VS Code: Estensioni che mostrano indicatori di attività o dashboard semplici possono aiutare a gestire la concentrazione, ma di solito non forniscono un emulatore che riprende a metà frame e mantiene i salvataggi.
  • Pianificatori di attività IDE o timer di concentrazione (stile Pomodoro): Possono ridurre i “tempi di attesa” in modo strutturato, ma non offrono un emulatore integrato nell’IDE con identificazione ROM e persistenza dei salvataggi.
  • Integrazioni di emulatori in webview senza hook per agenti: Flusso di lavoro simile (giocare all’interno dell’editor) ma senza la visualizzazione/nascondimento basato sul ciclo di vita e la ripresa a metà frame collegata all’attività dell’agente AI.