RU

Панель 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 …, код возврата сохраняется). Остальные команды не затрагиваются. Ничего не отправляется куда-либо ещё.