Панель JumPHP для Claude Code
Пока Claude пишет вашу игру, смотрите, что он делает: панель рядом с беседой показывает выполняющиеся тесты и экраны игры, на которые он смотрит, и позволяет вам вмешаться. Это мод для Claude Code, jumphp-live, поставляемый вместе с JumPHP.
Установка
В Claude Code (в терминале) введите:
/plugin install jumphp-live --marketplace davidnurdin/jumPhp
Ответьте y, чтобы добавить источник, затем выберите область действия («user»: для всех ваших проектов). Из оболочки: claude plugin install jumphp-live --marketplace davidnurdin/jumPhp.
Как пользоваться
В вашем проекте JumPHP (папке, где лежит bin/jumphp) запустите Claude Code и введите /jumphp <игра>, например /jumphp pong. Панель откроется справа (нужно достаточно широкое окно, 110 колонок или больше). Она также открывается сама, когда Claude впервые запускает bin/jumphp test или bin/jumphp shot.
Что она показывает:
- Проверки в реальном времени: когда Claude запускает
bin/jumphp test, вывод бежит в панели, а каждый шаг отмечается по мере выполнения:✔ php -l ✔ phpstan … phpunit smoke test. В конце: итог PHPUnit и то, что не прошло (проваленные тесты, предупреждения и ошибки PHP). - Экран игры в реальном времени (
● live): покаbin/jumphp test(его smoke-тест) илиbin/jumphp shotзапускает игру, панель показывает её экран кадр за кадром (движок перезаписываетvar/live/frame.png, опцияJUMPHP_LIVE). Запуски без окна идут быстрее реального времени:JUMPHP_REALTIME=1замедляет их до скорости игры. Проект, созданный до появления этой опции, получает её командойgit pull jumphp main(исходный репозиторий JumPHP хранится под именемjumphp). - Игровые тесты у вас на глазах: тесты, которые играют в игру, отображаются, пока выполняются (⏳, затем ✔ / ✘), с названием текущего теста над экраном live; затем щёлкните по тесту, чтобы увидеть его последний кадр. Кнопка 🐢 Game speed / ⏩ Fast (
r) выбирает скорость: скорость игры (по умолчанию, чтобы видеть, как двигается ракетка) или как можно быстрее. - Экраны: скриншот, который только что сделал
bin/jumphp shotилиsiteshot, и каждая картинка, которую Claude открывает, чтобы посмотреть на игру, отображаются в панели. - Картинки в любом терминале: по умолчанию они рисуются маленькими цветными блоками (
▦ Blocks), которые показывает любой терминал с истинными цветами (GNOME Terminal, Konsole, Windows Terminal, VS Code…): для этого движок записывает рядом с каждым PNG небольшую «сырую» копию (.rgb). В kitty, Ghostty или iTerm2 панель показывает сам PNG (🖼 HD); клавишаpпереключает режимы. Кнопка 🖼 Open (o) открывает показанную картинку в просмотрщике вашего рабочего стола (xdg-open,openна macOS) в натуральную величину. - Playground: результат тестов PHPUnit на сайте (
run_tests,get_test_run) и публикаций (sync_project), когда Claude использует MCP-сервер.
Что вы можете сделать:
- ▶ Tests (клавиша
t) и 📸 Shot (s): сразу запустить тесты или сделать скриншот, без Claude; вывод бежит в панели. - 🛠 Ask Claude to fix (
f), после сбоя: Claude получает то, что не прошло, и исправляет. - Tell Claude: поле, чтобы написать ему («пусть прыгает выше», «босс слишком сложный»); он прочитает это, как только закончит текущий шаг.
Как он следит за Claude
Команда Bash от Claude, запускающая bin/jumphp test, shot, siteshot или webshot, выполняется как есть, а её вывод дополнительно копируется во временный файл, за которым следит панель ({ export JUMPHP_LIVE=1; commande } 2>&1 | tee …, код возврата сохраняется). Остальные команды не затрагиваются. Ничего не отправляется куда-либо ещё.