본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

modem-dev/hunk

TypeScript12 / 0

Hunk는 터미널에서 다중 파일 변경집을 인터랙티브한 리뷰 UI로 제공하고 에이전트·AI 인라인 주석을 지원하는 TypeScript 기반 CLI 도구이다.

TL;DR

Hunk는 OpenTUI 렌더러와 Pierre diffs 파서를 결합해 터미널에서 멀티파일 변경집을 스트리밍 형태로 인터랙티브하게 리뷰하도록 설계된 CLI 도구이다. 이 도구는 코드 옆에 에이전트·AI 인라인 주석을 표시하고 분할·스택·자동 레이아웃과 마우스 및 키보드 입력을 모두 지원해 기존 텍스트 페이저의 한계를 보완한다. Git의 core.pager로 등록하거나 hunk 명령으로 직접 실행하면 로컬 워킹 트리, 커밋, 패치 스트림을 그대로 읽어 리뷰 UI로 변환하며 Jujutsu와 Sapling도 네이티브로 감지한다. 설치는 npm 또는 Homebrew로 가능하며 Node.js 18+가 요구된다.

핵심 포인트

  • OpenTUI 기반으로 터미널 상호작용과 반응형 레이아웃을 제공해 GUI 없이도 풍부한 인터랙션을 가능하게 한다.
  • 에이전트·AI 주석을 코드 옆에 인라인으로 통합해 변경 의도와 자동 코멘트를 동일 화면에서 확인하게 한다.
  • 멀티파일 리뷰 스트림과 사이드바 네비게이션을 기본으로 제공해 전체 변경집을 연속적으로 살펴보기 쉽게 만든다.
  • 스트리밍 방식으로 다중 파일 변경집을 연속적 리뷰 흐름으로 탐색한다.

이미지 분석

분할 뷰와 사이드바가 함께 표시된 Hunk의 터미널 UI 스크린샷으로 인라인 에이전트 주석이 코드 옆에 보인다.
스크린샷은 좌측에 파일 트리와 변경 파일 목록, 중앙과 우측에 분할된 코드 뷰를 보여주며 파일별로 라인 바운드와 하이라이트가 적용된 상태가 확인된다. 코드 옆에 작은 박스로 표시된 인라인 주석이 존재해 에이전트나 AI가 추가한 메모가 본문과 위치적으로 결합되어 있음을 확인할 수 있다. UI 구성은 OpenTUI 기반의 위젯 레이아웃과 마우스 선택 가능한 메뉴, 반응형 분할 레이아웃이 실제 터미널 화면에서 어떻게 표현되는지를 직접 보여준다.
스택된 뷰와 메뉴가 보이는 Hunk UI 스크린샷으로 마우스로 메뉴 항목을 선택할 수 있는 장면을 캡처했다.
이 화면은 단일 컬럼 스택 모드에서의 레이아웃을 보여주며 상단의 메뉴와 설정 토글, 코드 블록의 녹색 변경 표시가 명확히 보인다. 메뉴 선택이 마우스로 가능하다는 점과 onMouseScroll/onHover 같은 이벤트가 UI에 바인딩되어 있음을 시각적으로 확인할 수 있어 입력 이벤트 처리와 레이아웃 전환 방식이 어떻게 동작하는지 파악할 수 있다. 또한 하단에 드래프트 노트 입력 박스가 있어 사용자나 에이전트 주석을 실시간으로 추가하는 흐름이 구현되어 있음을 알 수 있다.

7.4k

STARS

209

FORKS

+207

TRENDING

12

조회수

watchers 7.4kopen issues 102MIT License

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.