← ClaudeAtlas

provelisted

Rebuild and restart the Pharos Tauri app with local code changes, then prove the change actually works in-app — drive the in-pane webview via MCP (pharos browser eval/screenshot/snapshot) and confirm behavior, using a before/after baseline. Use when verifying a Pharos code change end-to-end (especially src-tauri/ Rust or browser/webview changes) where `cargo check` + tests pass but you must confirm the running app behaves. `/verify` and `/run` follow this recipe for the Pharos app.
dong-park/pharos · ★ 0 · AI & Automation · score 58
Install: claude install-skill dong-park/pharos
# prove — Pharos 변경 실측(입증) 레시피 `cargo check`·tsc·vitest 그린은 **컴파일/단위** 검증일 뿐이다. Tauri 앱의 실제 동작(특히 `src-tauri/` Rust, browser/webview, IPC command 등록)은 **앱을 새로 빌드해 실행**해야 확인된다. 이 스킬은 "재빌드 → 재시작 → 인앱 실측 → before/after 대비"를 한 흐름으로 묶는다. > 핵심 함정: 지금 실행 중인 `/Applications/pharos.app`은 보통 **이전 빌드**다. > 코드 변경은 재빌드+재시작 전엔 절대 반영되지 않는다. 항상 바이너리 mtime을 > 커밋 시각과 대조해 새/옛 코드를 먼저 판별하라. ## 1. 새/옛 코드 판별 (먼저) ```bash ps aux | grep -i 'MacOS/pharos' | grep -v grep | awk '{print $11}' | head -1 # 실행 바이너리 경로 stat -f '%Sm %N' "<그 경로>" # mtime git log -1 --format='%ci %h' # 최신 커밋 시각 ``` 바이너리 mtime이 변경 커밋보다 **이전**이면 옛 코드 → 재빌드 필요. ## 2. 재빌드 (.app만) ```bash yarn tauri build --bundles app # dmg 생략 → hdiutil orphan 마운트 이슈 회피, 빠름 # 산출물: target/release/bundle/macos/pharos.app (release, ~1분) ``` frontend(tsc+vite)도 함께 빌드된다. dmg가 필요 없으면 `--bundles app`로 충분. ## 3. 재시작 (세션 보존) `pharosd`(PTY 데몬)가 GUI와 분리돼 있어 **GUI만 재시작해도 워크스페이스/pane은 보존**된다. `/Applications`는 건드리지 말고 빌드 산출물을 직접 실행하면 되돌리기 쉽다(기존 앱 다시 열면 끝). 영구 반영을 원할 때만 `/Applications/pharos.app` 교체. ```bash osascript -e 'tell application "pharos" to quit' osascript -e 'delay 2' # foreground `sleep`은 막혀 있음 → osascript delay 사용 pgrep -x pharos >/dev/null && { pkill -x pharos; osascript -e 'delay 1'; } open /Users/<you>/pharos/target/release/bundle/macos/pharos.app osascript -e 'delay 5' ``` 재시작 후 `mcp__pharos__i