Claude Code용 JumPHP 패널
Claude가 게임을 만드는 동안 무슨 일을 하는지 지켜보세요. 대화창 옆의 패널이 실행 중인 테스트와 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(스모크 테스트)나bin/jumphp shot이 게임을 실행하는 동안 패널이 프레임 단위로 화면을 보여 줘요(엔진이var/live/frame.png를 계속 다시 쓰며,JUMPHP_LIVE옵션이에요). 창 없이 실행하면 실시간보다 빨라요.JUMPHP_REALTIME=1을 쓰면 게임 속도로 늦춰져요. 이 옵션이 생기기 전에 만든 프로젝트는git pull jumphp main으로 받아요(원본 JumPHP 저장소는jumphp라는 이름으로 보관돼요). - 눈앞에서 보는 게임 테스트: 게임을 플레이하는 테스트가 실행되는 동안 표시되고(⏳, 이어서 ✔ / ✘), 라이브 화면 위에 현재 테스트 이름이 나와요. 끝난 뒤에는 테스트를 클릭해 마지막 프레임을 볼 수 있어요. 🐢 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, macOS에서는open)로 원래 크기로 열어요. - 플레이그라운드: Claude가 MCP 서버를 사용할 때 사이트의 PHPUnit 테스트 결과(
run_tests,get_test_run)와 게시(sync_project) 결과를 보여 줘요.
할 수 있는 일은 다음과 같아요.
- ▶ Tests(
t키)와 📸 Shot(s): Claude 없이 테스트나 스크린샷을 바로 실행해요. 출력은 패널에 흘러가요. - 🛠 Ask Claude to fix(
f): 실패한 뒤에 누르면 Claude가 실패한 내용을 받아 고쳐요. - Tell Claude: Claude에게 메시지를 쓰는 입력란이에요("더 높이 점프하게 해 줘", "보스가 너무 어려워"). Claude가 현재 단계를 마치는 대로 읽어요.
Claude를 따라가는 방법
Claude가 bin/jumphp test, shot, siteshot, webshot을 실행하는 Bash 명령은 그대로 실행되고, 출력은 패널이 따라가는 임시 파일에도 복사돼요({ export JUMPHP_LIVE=1; 명령 } 2>&1 | tee …, 종료 코드는 그대로 유지돼요). 다른 명령은 건드리지 않아요. 어떤 것도 다른 곳으로 전송되지 않아요.