O painel JumPHP do Claude Code
Enquanto o Claude escreve o seu jogo, veja o que ele faz: um painel ao lado da conversa mostra os
testes em execução, as telas do jogo que ele está olhando e permite que você intervenha. É um mod do Claude Code,
o jumphp-live, fornecido com o JumPHP.
Instalar
No Claude Code (em um terminal), digite:
/plugin install jumphp-live --marketplace davidnurdin/jumPhp
Responda y para adicionar a fonte e depois escolha o escopo (“user”: para todos os seus projetos). A partir de um
shell: claude plugin install jumphp-live --marketplace davidnurdin/jumPhp.
Usar
No seu projeto JumPHP (a pasta que contém bin/jumphp), inicie o Claude Code e digite /jumphp <jogo>, por
exemplo /jumphp pong. O painel abre à direita (é preciso uma janela larga o bastante, 110 colunas ou mais). Ele
também abre sozinho na primeira vez que o Claude executa bin/jumphp test ou bin/jumphp shot.
O que ele mostra:
- As verificações ao vivo: quando o Claude executa
bin/jumphp test, a saída rola no painel e cada etapa é marcada à medida que passa:✔ php -l ✔ phpstan … phpunit smoke test. No final: o resumo do PHPUnit e o que falhou (os testes que falharam, os avisos e erros do PHP). - A tela do jogo ao vivo (
● live): enquantobin/jumphp test(o smoke test dele) oubin/jumphp shotexecuta o jogo, o painel mostra a tela dele quadro a quadro (o motor reescrevevar/live/frame.png, opçãoJUMPHP_LIVE). As execuções sem janela são mais rápidas que o tempo real:JUMPHP_REALTIME=1as desacelera para a velocidade do jogo. Um projeto criado antes dessa opção a obtém comgit pull jumphp main(o repositório JumPHP de origem, guardado com o nomejumphp). - Os testes de jogo, diante dos seus olhos: os testes que jogam o jogo aparecem enquanto
rodam (⏳, depois ✔ / ✘), com o nome do teste em andamento acima da tela ao vivo; depois, clique em um teste
para ver o último quadro dele. O botão 🐢 Game speed / ⏩ Fast (
r) escolhe a velocidade: a do jogo (o padrão, para ver a raquete se mover) ou o mais rápido possível. - As telas: a captura que
bin/jumphp shotousiteshotacabou de fazer e cada imagem que o Claude abre para olhar o jogo, exibidas no painel. - As imagens em qualquer terminal: por padrão elas são desenhadas em pequenos blocos de cor
(
▦ Blocks), que qualquer terminal de cores reais exibe (GNOME Terminal, Konsole, Windows Terminal, VS Code…): para isso, o motor grava, ao lado de cada PNG, uma pequena cópia bruta (.rgb). No kitty, Ghostty ou iTerm2 o painel exibe o próprio PNG (🖼 HD); a teclapalterna. O botão 🖼 Open (o) abre a imagem exibida no visualizador do seu desktop (xdg-open,openno macOS), em tamanho real. - O playground: o resultado dos testes PHPUnit do site (
run_tests,get_test_run) e das publicações (sync_project) quando o Claude usa o servidor MCP.
O que você pode fazer:
- ▶ Tests (tecla
t) e 📸 Shot (s): executar os testes ou uma captura na hora, sem o Claude; a saída rola no painel. - 🛠 Ask Claude to fix (
f), depois de uma falha: o Claude recebe o que falhou e corrige. - Tell Claude: um campo para escrever a ele (“pule mais alto”, “o chefe está difícil demais”); ele lê assim que termina a etapa em andamento.
Como ele acompanha o Claude
Um comando Bash do Claude que executa bin/jumphp test, shot, siteshot ou webshot é executado como está,
com a saída também copiada para um arquivo temporário que o painel acompanha ({ export JUMPHP_LIVE=1; comando } 2>&1 | tee …, o código de
saída preservado). Os outros comandos não são tocados. Nada é enviado para outro lugar.