GitHub PR과 로컬 브랜치 변경 사항을 원하는 모델 제공업체의 LLM으로 검토하는 오픈소스 AI 코드 리뷰 도구입니다.
winnin/farol
AI 코드 리뷰 후 실행되어 pull request의 병합 위험도를 평가하고 영향받는 파일과 엔드포인트를 나열하는 CLI 및 GitHub Action입니다.
- 스타
- 174
- 포크
- 5
- 열린 이슈
- 6
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
farol은 pull request를 승인하는 담당자를 위한 무료 오픈소스 CLI 및 GitHub Action입니다. AI 리뷰 에이전트가 diff에 댓글을 남긴 뒤, farol은 정적 분석으로 변경된 코드가 어떤 페이지, API 작업, RPC 메서드, 작업 및 스크립트에 영향을 주는지 보여주고, 변경 사항을 빠른 진행, 간단한 검토 또는 꼼꼼한 검토로 판정하며 위험 점수를 0~100으로 표시합니다.
보고서에는 영향 범위, diff 커버리지, 보안 점검 결과, 계약 변경 및 의존성 변경이 반영됩니다. 위험도가 높은 파일을 먼저 표시하고, 인라인 diff, 테스트되지 않은 줄, 수동 테스트 체크리스트도 제공합니다. TypeScript 타입 검사기, go/types 및 Python의 ast로 코드를 읽으며, 분석 대상 코드를 실행하거나 네트워크로 전송하지 않습니다. 로컬이나 CI에서 실행할 수 있고, 병합을 차단하지 않은 채 pull request에 댓글을 남깁니다.
지원하는 스택에는 React Router, Next.js 및 TanStack Router 프런트엔드, TypeScript GraphQL 및 REST 백엔드, Go 서비스, FastAPI, Flask, Django 같은 Python 서비스가 포함됩니다. 선택 사항인 Datadog 연동을 사용하면 트래픽 및 오류 정보를 추가할 수 있습니다.
핵심 기능
- 01변경된 파일의 위험도를 순위별로 표시하고, 각 파일이 영향을 주는 페이지와 엔드포인트를 보여줍니다.
- 02판정과 0~100 위험 점수를 부여하고, 그 근거를 설명합니다.
- 03GraphQL, FastAPI, Go 및 gRPC 계약의 호환성을 깨는 변경을 표시합니다.
- 04인라인 diff에서 테스트되지 않은 줄을 표시하고, CI의 커버리지·린트·감사 보고서를 가져옵니다.
- 05단일 파일 HTML 보고서와 Markdown 검토 기록을 생성합니다.
활용 사례
- 대규모 pull request를 승인하기 전에 검토에 필요한 시간을 판단합니다.
- 병합 전에 호환성을 깨는 API 변경과 그 변경의 영향을 받는 호출자를 찾아냅니다.
- 기존 AI 리뷰어와 함께 GitHub pull request에 위험도 분류 단계를 추가합니다.
- 공유 컴포넌트 변경이 어떤 프런트엔드 페이지에 영향을 주는지 확인합니다.
빠른 시작
- 1
프로젝트 루트에 farol.config.json을 만들고 기술 스택을 설명합니다
- 2
farol이 찾은 페이지, 엔드포인트, 작업, 스크립트를 나열합니다
npx @winninjs/farol routes - 3
대상 브랜치와 비교해 현재 브랜치를 분석합니다
npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json - 4
HTML 보고서를 생성하고 엽니다
npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
사용 전 알아둘 점
- Node.js 22 이상과 git이 필요하며, Go 프로젝트에는 go가, Python 프로젝트에는 python3 3.11 이상이 필요합니다.
- TypeScript, Go, Python 코드베이스만 지원합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- farol은(는) 무엇인가요?
- AI 코드 리뷰 후 실행되어 pull request의 병합 위험도를 평가하고 영향받는 파일과 엔드포인트를 나열하는 CLI 및 GitHub Action입니다. farol은 pull request를 승인하는 담당자를 위한 무료 오픈소스 CLI 및 GitHub Action입니다. AI 리뷰 에이전트가 diff에 댓글을 남긴 뒤, farol은 정적 분석으로 변경된 코드가 어떤 페이지, API 작업, RPC 메서드, 작업 및 스크립트에 영향을 주는지 보여주고, 변경 사항을 빠른 진행, 간단한 검토 또는 꼼꼼한 검토로 판정하며 위험 점수를 0~100으로 표시합니다.
- farol은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- farol은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- farol은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. farol의 마지막 커밋은 2026년 11월 4일입니다.
- farol은(는) 어디에 사용할 수 있나요?
- 대규모 pull request를 승인하기 전에 검토에 필요한 시간을 판단합니다. 병합 전에 호환성을 깨는 API 변경과 그 변경의 영향을 받는 호출자를 찾아냅니다. 기존 AI 리뷰어와 함께 GitHub pull request에 위험도 분류 단계를 추가합니다. 공유 컴포넌트 변경이 어떤 프런트엔드 페이지에 영향을 주는지 확인합니다.
- farol는 어떻게 설치하나요?
- 프로젝트 루트에 farol.config.json을 만들고 기술 스택을 설명합니다 farol이 찾은 페이지, 엔드포인트, 작업, 스크립트를 나열합니다: npx @winninjs/farol routes 대상 브랜치와 비교해 현재 브랜치를 분석합니다: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json HTML 보고서를 생성하고 엽니다: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
- farol은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/winnin/farol
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
원하는 LLM 제공업체를 선택해 직접 호스팅할 수 있는 오픈소스 AI 코드 리뷰 도구입니다.
Claude Code, Codex, Cursor, Cline에서 푸시 전에 별도 리뷰어가 에이전트의 변경 사항을 검토하는 오픈소스 AI 코드 리뷰 도구입니다.
Danger JS는 CI가 끝난 뒤 실행되어 changelog 작성이나 PR 설명 규칙 준수 등 코드 리뷰 관례를 자동화합니다.
LLM으로 pull request diff를 리뷰하고 우선순위가 높은 인라인 댓글을 몇 개 게시하는 GitHub Action입니다.
커밋 전에 스테이징된 diff를 AI로 검토하는 git 커밋 훅으로, 브라우저에서 인라인 댓글을 확인할 수 있습니다.