lighthouse-timer
by gwjang
README.md
# lighthouse-timer
작업등대(work-lighthouse 스킬)용 맥 메뉴바 타이머. 메뉴바에 남은 시간, 시간 끝나면 알림, 항목별 할당 vs 실제 기록. Claude가 MCP로 조작한다.
## 실행
```bash
npm install
npm start # 메뉴바 앱만
npm run check # 타이머 계산 자가검증
```
MCP 등록(Claude Code). 앱이 꺼져 있으면 첫 도구 호출 때 자동으로 띄운다.
```bash
claude mcp add --scope user lighthouse-timer -- node "$PWD/mcp.js"
```
## 구조
- `timer.js` — 상태·시간 계산(순수 함수). 일시정지 시간은 실제 시간에서 뺀다.
- `main.js` — Electron 메뉴바(Tray 제목 = `m:ss 항목`, 초과 시 `+m:ss`), 알림, 메뉴 조작, 유닉스 소켓 API.
- `mcp.js` — stdio MCP 서버. 도구 → 소켓 요청.
- 데이터: `~/Library/Application Support/lighthouse-timer/` (`state.json`, `timer.sock`). 소켓이라 브라우저·네트워크에서 접근 불가.
## MCP 도구
`get_status` · `set_lighthouse(goal, doneCondition, items[{title, minutes}])` · `start_timer(index | label+minutes)` · `pause_timer` · `resume_timer` · `extend_timer(minutes=5)` · `complete_item(note?)` · `stop_timer(note?)` · `get_log(date?)`
참고: [plumb](https://github.com/hallofabian/plumb-pomodoro)(MCP 도구 구성), [TomatoBar](https://github.com/ivoronin/TomatoBar)(메뉴바 표시).