TL;DR
- Jev Code Reviewer는 에이전트가 생성한 대규모 풀 리퀘스트(PR)의 검토 부담을 줄이기 위해 변경 사항을 P0·P1·P2로 분류하고, 기본적으로 P0만 표시함.
- 우선순위는 설정할 수 있으며, 코드 차이는 자연어 설명으로 표시되고 원본 코드는 토글 한 번으로 확인 가능함.
- 로컬 컴퓨터에서 실행해 자체 코딩 에이전트의 PR을 검토하며, GitHub에는 아무것도 게시하지 않음.
- 데모에는 실제 Jev 분류와 출처가 표시된 사전 작성 설명이 포함되며, 재생 데모는 외부 서비스 제공자 호출 없이 실행 가능함.
- 분석 시 변경 코드와 주변 문맥을 TypeSafe와 OpenAI로 전송하며, 기본 분석 범위는 경로 순서상 첫 12개 변경 단위임.
Jev-Code-Reviewer
- 현재 에이전트가 생성한 대부분의 PR은 한 번에 230개 파일 변경처럼 사람이 이해하기 어려운 규모로 나타나면서, 충분한 검토 없이 병합되는 경우가 많음.
- 검토 부담을 줄이기 위해 각 변경 사항을 P0, P1, P2로 분류하며 기본 화면에는 P0만 표시함. 우선순위는 설정 가능함.
- 코드 차이는 자연어로 표시되며, 토글 한 번으로 원본 코드를 확인할 수 있음.
- 개인 컴퓨터에서 자체 코딩 에이전트의 PR을 검토하는 방식이며, GitHub에는 아무것도 게시하지 않음.
- 녹화 영상에는 실제 Jev 분류와 출처가 표시된 사전 작성 설명이 포함됨.
빠른 데모
- Node.js 22 이상이 필요함.
- 저장소를 복제하고 의존성을 설치한 뒤
npm run demo를 실행하는 절차임. - 저장소: https://github.com/egma-ai/jev-code-reviewer.git
- 재생 데모는 http://127.0.0.1:4731/demo 에서 열 수 있으며, 외부 서비스 제공자를 호출하지 않음.
- 또는 확장 프로그램을 불러온 뒤 데모 PR의 변경 파일 페이지를 열 수 있음.
자체 PR 검토
- GitHub CLI에 로그인한 상태(
gh auth login)여야 하며, 로컬 저장소의 origin이 해당 PR 저장소를 가리켜야 함. npm link로jev-reviewer명령을 추가하고,jev-reviewer setup으로 TypeSafe 및 OpenAI 키를 저장하는 절차임. 키 설정은 직접 터미널에서 실행해야 함.jev-reviewer doctor는 도구, 키 출처, 로컬 서버 및 서비스 제공자 접근을 점검함.jev-reviewer serve로 서버를 실행한 상태에서jev-reviewer analyze --pr https://github.com/OWNER/REPO/pull/123 --repo /path/to/clone으로 분석함.- Chrome 확장 프로그램 연결 절차는 다음과 같음.
chrome://extensions에서 개발자 모드를 켜고 ‘압축해제된 확장 프로그램을 로드’를 선택한 뒤 저장소의extension/폴더를 지정함.jev-reviewer token | pbcopy를 실행하고 확장 프로그램 팝업의 Connection에서 토큰을 붙여 넣은 뒤 저장함. 연결 상태는 Paired로 표시됨.- PR의 변경 파일 페이지(
/pull/<n>/files)에서 ‘Show logic’를 켜 코드 대신 로직 설명을 표시함. - 선택 사항으로
uv tool install graphifyy를 실행하면 더 나은 문맥 제공을 위한 로컬 코드 그래프를 추가할 수 있음. - 코딩 에이전트가 PR을 연 뒤 분석을 실행하도록 하려면 에이전트 스킬을 설치함.
알아둘 점
- 코드가 컴퓨터 밖으로 전송됨.
analyze는 변경 코드와 주변 문맥을 TypeSafe와 OpenAI로 보냄. 확장 프로그램은 로컬 서버인 127.0.0.1:4731에만 연결함. - 키는
~/.config/jev-reviewer/credentials.json에 저장되며, 소유자만 접근할 수 있지만 암호화되지는 않음. 코딩 에이전트의 셸에서 보이지 않는 경우가 잦은 환경 변수보다 이 방식을 권장함. - OpenAI 키 교체 명령은
node scripts/setup-keys.mjs --replace-openai임. - 분석 범위에는 상한이 있음. 경로 순서상 첫 12개 변경 단위(diff hunk)를 분석하며,
--max-units를 사용하면 최대 100개까지 지정 가능함. 분석되지 않은 변경 사항이 있는 파일은 GitHub 코드 표시를 유지하며, CLI와 팝업에 미분석 개수가 표시됨. - 기존 ‘변경 파일’ 페이지만 지원함. GitHub의 새
/changes페이지는 아직 지원하지 않으므로 프로필 사진 메뉴의 Feature preview에서 이전 화면으로 전환해야 함. - 오래된 보고서는 표시되지 않음. PR에 새 커밋이 있으면 확장 프로그램은 GitHub 코드를 유지하며,
analyze를 다시 실행한 뒤 Refresh report를 눌러야 함. - 우선순위는 정확성이 아니라 주의가 필요한 정도를 나타냄. P0 파일은 기본적으로 펼쳐지고 P1 및 P2는 접힌 상태로 시작함.
- 우선순위 설정은
config/policy.json을 검토 대상 저장소의.jev-reviewer.json으로 복사해 조정하거나--policy를 전달해 지정함.
개발
npm test로 테스트를 실행함.node scripts/test-extension.mjs로 확장 프로그램 테스트를 실행하며, Chromium과 사용 가능한 4731 포트가 필요함.- 아키텍처, 데모 안내 및 확장 프로그램 세부 정보가 제공됨.
- 라이선스는 MIT임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요