NL

Het JumPHP-paneel van Claude Code

Terwijl Claude je game schrijft, zie je wat hij doet: een paneel naast het gesprek toont de tests die draaien, de schermen van de game waar hij naar kijkt, en laat je ingrijpen. Het is een mod van Claude Code, jumphp-live, meegeleverd met JumPHP.

Installeren

Typ in Claude Code (in een terminal):

/plugin install jumphp-live --marketplace davidnurdin/jumPhp

Antwoord y om de bron toe te voegen en kies dan het bereik (“user”: voor al je projecten). Vanuit een shell: claude plugin install jumphp-live --marketplace davidnurdin/jumPhp.

Gebruiken

Start Claude Code in je JumPHP-project (de map die bin/jumphp bevat) en typ /jumphp <game>, bijvoorbeeld /jumphp pong. Het paneel opent rechts (je hebt een voldoende breed venster nodig, 110 kolommen of meer). Het opent ook vanzelf de eerste keer dat Claude bin/jumphp test of bin/jumphp shot start.

Wat het toont:

  • De controles live: wanneer Claude bin/jumphp test start, loopt de uitvoer door het paneel en wordt elke stap afgevinkt: ✔ php -l ✔ phpstan … phpunit smoke test. Aan het eind: de samenvatting van PHPUnit en wat er is mislukt (de falende tests, de PHP-waarschuwingen en -fouten).
  • Het scherm van de game live (● live): terwijl bin/jumphp test (zijn smoke test) of bin/jumphp shot de game laat draaien, toont het paneel zijn scherm frame voor frame (de engine herschrijft var/live/frame.png, optie JUMPHP_LIVE). Runs zonder venster gaan sneller dan realtime: JUMPHP_REALTIME=1 vertraagt ze tot de snelheid van de game. Een project dat vóór deze optie is gemaakt krijgt haar met git pull jumphp main (de oorspronkelijke JumPHP-repository, bewaard onder de naam jumphp).
  • De gametests, voor je ogen: de tests die de game spelen verschijnen terwijl ze draaien (⏳, daarna ✔ / ✘), met de naam van de lopende test boven het livescherm; klik daarna op een test om zijn laatste beeld te zien. De knop 🐢 Game speed / ⏩ Fast (r) kiest de snelheid: die van de game (standaard, om het batje te zien bewegen) of zo snel mogelijk.
  • De schermen: de screenshot die bin/jumphp shot of siteshot net heeft gemaakt, en elk beeld dat Claude opent om naar de game te kijken, getoond in het paneel.
  • De beelden in elke terminal: standaard worden ze getekend in kleine kleurblokjes (▦ Blocks), die elke terminal met true color toont (GNOME Terminal, Konsole, Windows Terminal, VS Code…): de engine schrijft daarvoor naast elke PNG een kleine ruwe kopie (.rgb). In kitty, Ghostty of iTerm2 toont het paneel de PNG zelf (🖼 HD); de toets p schakelt om. De knop 🖼 Open (o) opent het getoonde beeld in de viewer van je bureaublad (xdg-open, open op macOS), op ware grootte.
  • De playground: het resultaat van de PHPUnit-tests van de site (run_tests, get_test_run) en van de publicaties (sync_project) wanneer Claude de MCP-server gebruikt.

Wat je kunt doen:

  • ▶ Tests (toets t) en 📸 Shot (s): meteen de tests of een screenshot starten, zonder Claude; de uitvoer loopt door het paneel.
  • 🛠 Ask Claude to fix (f), na een mislukking: Claude krijgt wat er is mislukt en herstelt het.
  • Tell Claude: een veld om hem te schrijven (“spring hoger”, “de eindbaas is te moeilijk”); hij leest het zodra hij de lopende stap af heeft.

Hoe het Claude volgt

Een Bash-commando van Claude dat bin/jumphp test, shot, siteshot of webshot start, wordt ongewijzigd uitgevoerd, waarbij de uitvoer ook naar een tijdelijk bestand wordt gekopieerd dat het paneel volgt ({ export JUMPHP_LIVE=1; commande } 2>&1 | tee …, de exitcode blijft behouden). De andere commando's blijven onaangeroerd. Er wordt niets naar elders gestuurd.