Repolode
winnin

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. 1

    프로젝트 루트에 farol.config.json을 만들고 기술 스택을 설명합니다

  2. 2

    farol이 찾은 페이지, 엔드포인트, 작업, 스크립트를 나열합니다

    npx @winninjs/farol routes
  3. 3

    대상 브랜치와 비교해 현재 브랜치를 분석합니다

    npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json
  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트