v0.2.59
v0.2.59 — 프로젝트별 트래커 헬퍼 스크립트 자동 설치 (Python / Node / Bash / PowerShell)
track.py
- (Python 3.7+) — argparse 기반, JSON Lines append, 가상 path / 절대→상대 변환 자동.
track.mjs
- (Node.js 16+ ESM) — 자체 인자 파싱, 동일 기능.
track.sh
- (Bash / POSIX) — Python 의 json.dumps 우선 사용 + sed fallback.
track.ps1
- (PowerShell 5+) —
ConvertTo-Json으로 안전 escape, UTF-8 출력.
README.md
- — 사용 예 + 시나리오 (개인 작업 / CI / Git hook / 사용자 AI) + 인자 설명.
- 각 스크립트 공통 동작:
- 자기 위치에서
.viewwork/의 부모 디렉토리 = 프로젝트 루트 추정. - 인자 (
action,path,--note,--agent,--tool,--kind,--parent,--session) 파싱. - path 정규화 (가상 path 보존, 절대 경로 → 상대).
- agentKind 기본값:
user/human→human, 그 외 →ai. { at, agent, agentKind, action, path, note?, tool?, parentAgent?, sessionId? }JSON 한 줄로agent-events.jsonlappend.
- *
electron/utils/trackerInstaller.ts** — 신규 유틸: installTrackerScripts(projectRoot)함수 export.resolveTemplateDir(): packaged 모드는process.resourcesPath/templates/viewwork-tracker/, dev 는 cwd 기반 3 후보 탐색.- 기존 파일이 있으면 skip (사용자 수정 보호).
.sh/.py는chmod 755(Unix 효과, Windows 무시).
수정 파일
electron/probe/agentEventWatcher.ts
- —
start()안.viewwork/디렉토리 생성 직후installTrackerScripts()호출. 실패해도 watch 동작 영향 없음 (try/catch silent).
package.json extraResources
- —
electron/templates→templates로 packaged 빌드 시 포함.
사용 예
# Python
python .viewwork/track.py read src/main.py --note "분석 시작"
python .viewwork/track.py edit src/main.py --note "rate limit 추가"
# Node
node .viewwork/track.mjs bash --note "npm run build" --tool Bash
# Bash
bash .viewwork/track.sh write src/new.ts --agent ci-bot --kind system
# PowerShell
.\.viewwork\track.ps1 -Action read -Path src/main.ts -Note "리뷰"통합 테스트 (webtest 프로젝트 실제 호출 검증)
track.mjs read src/server.js→agent-events.jsonl끝에 정상 append:{"at":1779249803692,"agent":"demo-tracker","agentKind":"ai","action":"read","path":"src/server.js","note":"tracker test from view-work"}✓track.py edit src/app.py --tool Edit→ 같은 패턴 정상 append ✓
변경 파일
- 신규:
electron/templates/viewwork-tracker/(4 스크립트 + README). - 신규:
electron/utils/trackerInstaller.ts. - 수정:
electron/probe/agentEventWatcher.ts(start()안 자동 설치). - 수정:
package.json(extraResources + version).
검증
npx tsc --noEmitexit=0npm run build성공 — renderer 10.49s, 번들 3,480.66 kB.- 실제 tracker 호출 → JSON line append 동작 확인 ✓.
성능 추가 최적화 (참고)
- v0.2.50 의 DataFlowParticles RAF 통합 + 폴링 완화 + eventsSig 배치 (16/3s) 가 이미 적용된 상태. NodeOverlays 는 이미 viewport culling (MAX_OVERLAY_NODES=200) 적용 중. idCoord 는 useMemo 로 안정. 추가 hotspot 발견되지 않아 이번 릴리즈는 기능 추가에 집중.
- --
📦 GitHub 릴리스 노트: v0.2.59