VibeShell Hook으로 돌아가기
// guide
VibeShell Hook 활용방법
다중 프로젝트 관리, 토픽 설정, 대화형 관리 도구 사용법을 안내합니다.
대화형 관리 도구
설치 스크립트를 인자 없이 실행하면 대화형 메뉴가 표시됩니다.
관리 도구 실행
~/.vibeshell/install.sh=== VibeShell Push Hook 관리 ===
현재 설정:
서버 URL: https://push.vibeshell.app
활성화: 예
전역 토픽:
- vbs_abc123
프로젝트 (2개):
[ON] my-project
경로: /Users/dev/my-project
[OFF] old-project
경로: /Users/dev/old-project
메뉴:
[1] 프로젝트 추가
[2] 프로젝트 삭제
[3] 프로젝트 활성화/비활성화
[4] 토픽 ID 관리
[5] 서버 URL 변경
[6] 훅 스크립트 업데이트
[0] 종료다중 프로젝트 관리
여러 프로젝트를 등록하면 경로 기반으로 자동 매칭됩니다. 등록되지 않은 경로에서는 알림이 전송되지 않습니다.
{
"projects": {
"vibeshell": {
"paths": ["/Users/dev/vibe-shell"],
"enabled": true
},
"wvsh": {
"paths": ["/Users/dev/wvsh"],
"enabled": true
},
"agent-flow": {
"paths": [
"/Users/dev/agent-flow",
"/home/server/agent-flow"
],
"enabled": false
}
}
}•paths — 한 프로젝트에 여러 경로를 등록할 수 있습니다 (로컬 + 서버)
•enabled — 프로젝트별로 알림을 켜고 끌 수 있습니다
•경로 매칭 — 현재 작업 디렉토리가 등록된 경로로 시작하면 매칭됩니다 (하위 디렉토리 포함)
토픽 ID 관리
토픽 ID는 VibeShell 앱에서 디바이스를 식별하는 키입니다. 전역 토픽과 프로젝트별 토픽을 조합하여 사용할 수 있습니다.
전역 토픽
모든 프로젝트에 기본 적용되는 토픽입니다. 여러 디바이스에 동시에 알림을 보내려면 토픽을 여러 개 등록하세요.
"topic_ids": ["vbs_phone", "vbs_tablet"]
프로젝트별 토픽 오버라이드
특정 프로젝트의 알림을 다른 디바이스로 보내고 싶을 때 프로젝트 레벨에서 토픽을 오버라이드할 수 있습니다.
"important-project": {
"paths": ["/Users/dev/important"],
"enabled": true,
"topic_ids": ["vbs_urgent_phone"]
}Claude Code 훅 구조
설치 스크립트가 자동으로 ~/.claude/settings.json에 Stop hook을 등록합니다.
// ~/.claude/settings.json
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "~/.vibeshell/hook.sh",
"timeout": 30
}
]
}
]
}
}hook.sh는 jq 또는 python3를 사용하여 설정을 파싱합니다. 타임아웃은 30초이며, 실패해도 Claude Code 작업에 영향을 주지 않습니다.
활용 시나리오
💻
원격 서버 작업 알림
서버에서 Claude Code로 긴 작업을 실행하고, 완료되면 모바일로 알림을 받아 바로 확인할 수 있습니다.
👥
팀 프로젝트 모니터링
같은 토픽을 팀원들이 공유하면 누가 어떤 프로젝트에서 작업을 완료했는지 실시간으로 알 수 있습니다.
🔀
다중 프로젝트 관리
여러 프로젝트를 동시에 진행할 때, 각 프로젝트의 완료 알림을 별도 토픽으로 분류하여 관리할 수 있습니다.
🌙
야간 배치 작업
긴 마이그레이션이나 리팩토링 작업을 실행해두고 다른 일을 하다가 알림으로 완료를 확인할 수 있습니다.
빠른 명령어
현재 설정 보기
~/.vibeshell/install.sh show알림 비활성화
jq '.enabled = false' ~/.vibeshell/push-config.json | sponge ~/.vibeshell/push-config.json알림 활성화
jq '.enabled = true' ~/.vibeshell/push-config.json | sponge ~/.vibeshell/push-config.json훅 수동 테스트
cd /your/project && ~/.vibeshell/hook.sh