PT

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): enquanto bin/jumphp test (o smoke test dele) ou bin/jumphp shot executa o jogo, o painel mostra a tela dele quadro a quadro (o motor reescreve var/live/frame.png, opção JUMPHP_LIVE). As execuções sem janela são mais rápidas que o tempo real: JUMPHP_REALTIME=1 as desacelera para a velocidade do jogo. Um projeto criado antes dessa opção a obtém com git pull jumphp main (o repositório JumPHP de origem, guardado com o nome jumphp).
  • 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 shot ou siteshot acabou 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 tecla p alterna. O botão 🖼 Open (o) abre a imagem exibida no visualizador do seu desktop (xdg-open, open no 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.