modem-dev/hunk
Review-first terminal diff viewer for agentic coders
hunk – AI 지원 주석을 갖춘 터미널 diff 뷰어
소개 – hunk 는 git diff, git show 또는 유사한 명령의 일반 텍스트 출력을 대화형 창 기반 UI로 대체하는 명령줄 도구입니다. 전체 변경 사항을 스크롤하고, 사이드바를 통해 파일 간을 이동하며, 분할 보기 또는 통합 모드로 diff를 볼 수 있습니다. 이 UI는 OpenTUI 프레임워크를 기반으로 구축되었으며, 기본 diff 렌더링을 위해 @pierre/diffs 라이브러리를 사용합니다.
AI/에이전트에게 중요한 이유 – 이 뷰어에는 "인라인 AI 및 에이전트 주석" 전용 열이 있습니다. 외부 AI 에이전트에게 skill(작은 실행 가능 스크립트)을 부여하여 실행 중인 hunk 세션과 통신하게 함으로써, 에이전트가 리뷰 UI 내에서 직접 메모, 제안 또는 자동 수정 사항을 추가할 수 있습니다. 이를 통해 hunk는 AI 보조 코드 리뷰 워크플로우를 위한 자연스러운 프런트엔드가 됩니다.
주요 기능
- 탐색 사이드바가 포함된 다중 파일 리뷰 스트림.
- 분할, 통합 및 반응형 자동 레이아웃.
- 파일이나 Git 작업 트리가 변경될 때 뷰를 다시 로드하는 실시간 감시 모드.
- 키보드, 마우스, 페이저 및 Git-difftool 완벽 통합.
- 인라인 AI/에이전트 메모 및 실험적인 서식 있는 텍스트 메모 형식.
- TypeScript 확장을 통한 확장성(예: 잠금 파일 접기, 사용자 지정 테마, 추가 VCS 백엔드).
- Git, Jujutsu 및 Sapling 저장소와 호환되며, 임의의 파일이나 패치에 대한 diff도 가능.
설치 – 단일 명령 설치 프로그램(curl … | sh)을 통해 미리 빌드된 바이너리를 ~/.hunk에 설치합니다. 패키지는 npm(npm i -g hunkdiff), Homebrew, mise 또는 Nix를 통해서도 제공됩니다. Windows 사용자는 npm 또는 mise를 통해 설치합니다.
일반적인 워크플로우
# review the current working tree
hunk diff
# watch for changes while you edit
hunk diff --watch
# open a specific commit or PR (GitHub integration)
hunk show HEAD~2
hunk gh pr 123
hunk pager를 Git의 기본 페이저로 설정하면 git diff나 git show 실행 시 자동으로 UI가 시작됩니다.
확장성 – 확장은 ~/.config/hunk/extensions/(또는 저장소 로컬의 .hunk/extensions/)에 배치된 일반 TypeScript 파일입니다. 변경 사항을 변환하거나, 새 명령을 추가하거나, 테마를 제공하거나, 사용자 지정 React 컴포넌트를 포함할 수 있습니다. 커뮤니티 확장은 GitHub의 hunk-extension 토픽을 통해 찾을 수 있습니다.
사용 대상 – 풀 리퀘스트 리뷰에 많은 시간을 할애하는 개발자, AI 기반 코드 리뷰 봇을 구축하는 팀, 또는 원시 diff 텍스트보다 풍부한 터미널 UI를 선호하는 모든 사용자.
라이선스 – MIT.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트