TL;DR

  • pulls.review는 변경 파일을 그룹화하고 핵심 내용을 요약해 작업 범위별로 검토하는 GitHub 풀 리퀘스트(PR) 리뷰 도구임.
  • 웹사이트에서 GitHub 계정을 연결해 브라우저로 PR을 검토할 수 있음.
  • 선택 사항인 사용자 스크립트를 설치하면 GitHub 인터페이스에서 pulls.review 기능을 사용할 수 있음.
  • 실험 기능인 CI 분석은 워크플로가 PR을 분석해 댓글로 게시하며, 변경되지 않은 PR의 재실행에서는 모델 호출을 건너뜀.
  • 패키지는 웹사이트와 GitHub 삽입 기능을 제공하는 packages/app, 핵심 기능을 담은 @pulls.review/core, GitHub 액션용 @pulls.review/actions 등으로 구성됨.

pulls.review

  • 풀 리퀘스트 검토를 단순화하는 도구로, 변경 파일을 그룹화하고 중요한 내용을 요약하며 한 번에 하나의 작업 범위씩 검토함.
  • 현재 개발이 활발히 진행 중인 상태임.

웹사이트에서 사용

  • pulls.review 웹사이트를 방문해 안내에 따라 GitHub 계정을 연결하면 브라우저에서 바로 풀 리퀘스트를 검토할 수 있음.

GitHub에서 사용

  • 선택 사항으로 사용자 스크립트를 설치해 GitHub 인터페이스에 pulls.review 기능을 추가할 수 있음.
  • pulls.review로 이동한 뒤 GitHub 섹션까지 내려가 사용자 스크립트를 설치하는 방식임.

CI에서 풀 리퀘스트 분석(실험 기능)

  • 각 검토자가 자신의 모델 키를 사용하는 대신 워크플로가 각 풀 리퀘스트를 한 번 분석하고 결과를 PR 댓글로 게시하는 방식임.
  • pulls.review는 해당 PR을 여는 모든 사용자에게 댓글을 자동으로 불러옴.
  • 변경되지 않은 PR을 다시 실행하면 모델 호출을 건너뜀.
  • 분석은 API를 통해 차이(diff)만 읽고 PR 코드는 체크아웃하지 않으므로 pull_request_target을 사용할 수 있으며, 포크에서 열린 PR에도 댓글을 게시할 수 있음.
  • GitHub 액션은 ubuntu-latest에서 실행되며 pull-requests: write 권한과 VERCEL_AI_GATEWAY_API_KEY 비밀 키를 사용하도록 설정할 수 있음.
  • 전달한 키를 바탕으로 제공자(provider)를 자동 판별함. Vercel AI Gateway 토큰은 gateway, Anthropic 키는 anthropic, 기본 주소와 함께 쓰는 키는 OpenAI 호환 제공자로 판별되며, 필요하면 제공자와 모델, 로캘을 명시적으로 설정할 수 있음.
  • 이 액션은 @pulls.review/actions CLI를 감싸는 얇은 래퍼이며, GitHub 토큰과 모델 키가 환경 변수에 있으면 어디서든 CLI를 실행할 수 있음.
  • PULLS_REVIEW_GITHUB_TOKEN, PULLS_REVIEW_PROVIDER, PULLS_REVIEW_API_KEY, PULLS_REVIEW_MODEL, PULLS_REVIEW_BASE_URL, PULLS_REVIEW_LOCALE 환경 변수 형식은 대응하는 일반 환경 변수보다 우선함.
  • npx @pulls.review/actions --help에서 전체 옵션을 확인할 수 있음.

패키지

  • packages/app: pulls.review 웹사이트와 github.com 삽입 기능.
  • @pulls.review/core: 차이 가져오기, 파싱, 그룹화, 요약 기능을 제공하며 브라우저와 Node에서 실행됨.
  • @pulls.review/actions: GitHub 액션이 실행하는 CLI.
  • pulls.review: 로컬 Git 변경 사항을 검토하기 위한 독립형 CLI로, 아직 구현되지 않았으며 이름만 예약된 상태임.

크레딧

  • Linear의 PR 검토 가이드에서 많은 영감을 얻음.

스폰서

라이선스

  • MIT 라이선스.