프로젝트 소개
Diple은 MacBook 노치에 상주하며 검토를 기다리는 풀 리퀘스트를 보여주는 네이티브 macOS 앱(macOS 14+, Swift 6, 의존성 없음)입니다. 처리할 일이 없으면 보이지 않다가, 누군가 코드의 특정 줄에 답장을 달면 베젤 밖으로 나타나 누가 어디에 답장했는지 보여주고, 아무것도 열지 않고 바로 답장할 수 있게 해줍니다.
주요 기능:
- **앱이 곧 노치**: 대기 중인 항목이 없으면 흐릿한 0을 표시하고, 항목이 있으면 개수와 함께 밝아집니다. 마우스를 올리면 대기열, 팀, 순위, 연속 기록이 열립니다. 노치가 없는 Mac에서는 패널이 메뉴 막대 아래에 떠 있습니다.
- **알림에서 바로 답장**: 누군가 코드의 특정 줄에 답장을 달면 배너에 답장 상자와 Resolve 버튼이 함께 표시됩니다. 알림에서 답장하면 GitHub의 스레드가 갱신됩니다.
- **이벤트별로 다른 소리**: 답장에는 Glass, 댓글에는 pop, 리뷰 요청에는 purr, 체크 실패에는 basso. 승인은 조용히 도착합니다.
- **의무만 표시**: 대기열에는 누군가 나에게 요청한 리뷰와 내 답변을 기다리는 답장만 담깁니다. 내 PR은 누군가 실제로 그 PR에 답장했을 때만 나타납니다.
- **스택은 스택으로**: 의존 브랜치는 아래에서 위로 그룹화되고 번호가 매겨지며 라벨이 붙습니다.
- **내가 속한 모든 저장소**: 조직별로 그룹화되고 검색 가능하며, 각 저장소마다 열린 PR 목록이 Ready와 Draft로 나뉘어 표시됩니다. 별표를 눌러 지켜볼 수 있습니다.
- **나의 리듬**: 지난 주, 달, 분기별 순위, 기여 그리드, 연속 기록.
**나만의 Claude로 리뷰**: Diple에는 자체 AI가 없습니다. 일회용 worktree에서 당신의 스킬과 저장소의 CLAUDE.md를 사용해 당신의 Claude Code 세션을 구동합니다. 발견 사항은 diff에 앵커링된 초안으로 돌아옵니다. 아무것도 게시되지 않습니다 — 약속이 아니라 구조적으로 그렇습니다: 허용된 도구는 읽기 전용(Read, Grep, Glob, git diff/log/show/status용 Bash)이고, 금지된 도구에는 Write, Edit, Bash(gh), Bash(git push), Bash(git commit), WebFetch가 포함됩니다. 게시할 수 없습니다.
**설치**: 한 줄 curl 스크립트(체크섬 확인, 보안 대화상자 없음), Homebrew cask, 또는 소스에서 `make install FLAVOR=release`. GitHub CLI 로그인(`gh auth login`)이 필요하며, Diple은 그 토큰을 빌려 씁니다.
**개인정보**: 익명 사용량 집계를 PostHog로 전송합니다(기본 켜짐, 클릭 한 번으로 끄거나 `DO_NOT_TRACK=1`). GitHub 로그인, 저장소 이름, PR 번호, 코드, diff, 댓글, 위치는 절대 전송하지 않습니다. 이벤트는 PostHog에 IP 지오로케이션을 건너뛰도록 요청합니다.
**개발**: `make run`, `make install`, `make tools`, `make probe`, `make film`(화면 기록 권한 없이 노치를 녹화). `--demo`는 GitHub 대신 픽스처를 제공합니다. `.xcodeproj`는 없고, 프로젝트 전체가 Swift Package Manager와 Makefile입니다.
**사용 기술**: SwiftUI + AppKit, 노치용 NSPanel, 동기화당 하나의 통합 GraphQL 쿼리, 버전 관리되는 JSON 저장소, 의존성 없음.
**아직 없는 것**: 디바이스 플로우(`gh` 불필요), 새 PR을 공급하는 지켜보는 저장소, Claude 플랜이 소진됐을 때의 레이트 리밋 상태, 공증된 빌드.
**이름**: Diple(διπλῆ, "이중")은 알렉산드리아 도서관의 학자들이 여백에 그려 "이 줄을 보라"고 표시한 기호 `⟩`입니다 — 기원전 3세기의 최초의 공식적인 검토 표시 체계입니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.