Le panneau JumPHP de Claude Code
Pendant que Claude écrit votre jeu, voyez ce qu'il fait : un panneau à côté de la conversation montre les
tests qui tournent, les écrans du jeu qu'il regarde, et vous permet d'intervenir. C'est un mod de Claude Code,
jumphp-live, fourni avec JumPHP.
L'installer
Dans Claude Code (dans un terminal), tapez :
/plugin install jumphp-live --marketplace davidnurdin/jumPhp
Répondez y pour ajouter la source, puis choisissez la portée (« user » : pour tous vos projets). Depuis un
shell : claude plugin install jumphp-live --marketplace davidnurdin/jumPhp.
S'en servir
Dans votre projet JumPHP (le dossier qui contient bin/jumphp), lancez Claude Code et tapez /jumphp <jeu>, par
exemple /jumphp pong. Le panneau s'ouvre à droite (il faut une fenêtre assez large, 110 colonnes ou plus). Il
s'ouvre aussi tout seul la première fois que Claude lance bin/jumphp test ou bin/jumphp shot.
Ce qu'il montre :
- Les vérifications en direct : quand Claude lance
bin/jumphp test, la sortie défile dans le panneau et chaque étape est cochée au fur et à mesure :✔ php -l ✔ phpstan … phpunit smoke test. À la fin : le résumé de PHPUnit et ce qui a échoué (les tests en échec, les avertissements et erreurs PHP). - L'écran du jeu en direct (
● live) : pendant quebin/jumphp test(son smoke test) oubin/jumphp shotfait tourner le jeu, le panneau montre son écran au fil des frames (le moteur réécritvar/live/frame.png, optionJUMPHP_LIVE). Les runs sans fenêtre vont plus vite que le temps réel :JUMPHP_REALTIME=1les ralentit à la vitesse du jeu. Un projet créé avant cette option la récupère avecgit pull jumphp main(le dépôt JumPHP d'origine, gardé sous le nomjumphp). - Les tests de jeu, sous vos yeux : les tests qui jouent le jeu s'affichent pendant qu'ils
tournent (⏳, puis ✔ / ✘), avec le nom du test en cours au-dessus de l'écran live ; ensuite, cliquez sur un test
pour voir sa dernière image. Le bouton 🐢 Game speed / ⏩ Fast (
r) choisit la vitesse : celle du jeu (par défaut, pour voir la raquette bouger) ou le plus vite possible. - Les écrans : la capture que
bin/jumphp shotousiteshotvient de faire, et chaque image que Claude ouvre pour regarder le jeu, affichées dans le panneau. - Les images dans n'importe quel terminal : par défaut elles sont dessinées en petits blocs de couleur
(
▦ Blocks), que tout terminal en couleurs vraies affiche (GNOME Terminal, Konsole, Windows Terminal, VS Code…) : le moteur écrit pour cela, à côté de chaque PNG, une petite copie brute (.rgb). Dans kitty, Ghostty ou iTerm2 le panneau affiche le PNG lui-même (🖼 HD) ; la touchepbascule. Le bouton 🖼 Open (o) ouvre l'image affichée dans la visionneuse de votre bureau (xdg-open,opensur macOS), en taille réelle. - Le playground : le résultat des tests PHPUnit du site (
run_tests,get_test_run) et des publications (sync_project) quand Claude utilise le serveur MCP.
Ce que vous pouvez faire :
- ▶ Tests (touche
t) et 📸 Shot (s) : lancer les tests ou une capture tout de suite, sans Claude ; la sortie défile dans le panneau. - 🛠 Ask Claude to fix (
f), après un échec : Claude reçoit ce qui a échoué et corrige. - Tell Claude : un champ pour lui écrire (« saute plus haut », « le boss est trop dur ») ; il le lit dès qu'il a fini l'étape en cours.
Comment il suit Claude
Une commande Bash de Claude qui lance bin/jumphp test, shot, siteshot ou webshot est exécutée telle quelle,
sa sortie étant aussi copiée dans un fichier temporaire que le panneau suit ({ export JUMPHP_LIVE=1; commande } 2>&1 | tee …, le code de
sortie gardé). Les autres commandes ne sont pas touchées. Rien n'est envoyé ailleurs.