CodeRabbitCodeRabbitKorea User Group
자동 레포지토리 연결로 멀티 레포 코드 리뷰 컨텍스트 확보
코드레빗CodeRabbitAI 코드 리뷰멀티 레포 분석코드 리뷰 자동화PR 리뷰AI 에이전트

자동 레포지토리 연결로 멀티 레포 코드 리뷰 컨텍스트 확보

CodeRabbit Korea User Group·
원문 보기 →

해당 블로그는 Erfan Al-Hossami, Yiwen Xu 원저자의 글 'Automatic Repository Linking: Cross-repo context without manual setup'을 번역한 것입니다. 더 나은 이해를 위해서 약간의 의역이 반영되었습니다.

어떤 풀 리퀘스트(PR)는 한 레포지토리 안에서는 안전해 보여도 그 레포에 의존하는 다른 서비스를 망가뜨리곤 합니다. CodeRabbit이 멀티 레포 분석(Multi-Repo Analysis)을 출시한 이유도 바로 이 때문입니다. 연관된 레포지토리의 컨텍스트를 함께 활용해 변경을 리뷰하도록 돕기 위해서죠. 다만 한 가지 걸림돌이 있었습니다. 바로 설정입니다. 팀이 어떤 레포지토리들이 서로 연결돼 있는지를 직접 CodeRabbit에 알려 줘야 했습니다. 그리고 그 목록은 서비스와 패키지, 소유권이 바뀌면서 금세 낡아 갔습니다.

자동 레포지토리 연결(Automatic Repository Linking)은 이 수동 단계를 없앱니다. CodeRabbit이 이제 조직 전체에서 연관된 레포지토리를 직접 탐지해 리뷰 컨텍스트로 활용하므로, 머지 전에 크로스 레포 영향을 한결 수월하게 잡아낼 수 있습니다.

자동 레포지토리 연결이 하는 일

자동 레포지토리 연결은 조직 전체에서 연관된 레포지토리를 찾아내 연결합니다. 임포트 그래프, 의존성 매니페스트, 공유 코드 패턴처럼 의존 관계를 규정하는 신호를 분석한 뒤 서로 의존하는 레포지토리들을 연결합니다. 누군가 목록을 따로 관리하지 않아도 CodeRabbit이 여러분의 아키텍처를 파악하는 셈입니다.

여기서 팀이 얻는 것은 다음과 같습니다.

  • 설정 없이 확보하는 크로스 레포 컨텍스트. 연관된 레포지토리가 자동으로 연결됩니다. 서비스와 패키지가 바뀔 때마다 연관 레포지토리 목록을 일일이 갱신할 필요가 없습니다.

  • 코드 구조를 그대로 반영하는 연결. 연결의 근거가 코드 자체에서 나오기 때문에 실제 기술적 의존 관계와 맞아떨어지며 서비스가 진화해도 최신 상태를 유지합니다.

  • 더 넓은 코드 범위에 적용되는 동일한 리뷰. 자동으로 발견된 연결은 CodeRabbit의 리서치 에이전트로 곧장 전달됩니다. 리서치 에이전트는 연결된 레포지토리를 실시간으로 탐색해 머지 전에 정확한 파일과 라인 번호와 함께 호환성을 깨는 변경을 짚어 줍니다.

자동으로 연결된 레포지토리는 수동 연결과 별도로 저장됩니다. 수동 연결은 덮어쓰지 않습니다. 자동 레포지토리 연결은 CodeRabbit의 지식 베이스(knowledge base) 위에서도 동작합니다. 조직이 지식 베이스 기능을 비활성화한 경우에는 멀티 레포 분석과 자동 레포지토리 연결이 모두 꺼집니다.

동작 방식과 저희 접근이 다른 이유

크로스 레포 컨텍스트는 코딩 에이전트와 코드 리뷰어 모두에게 유용한 기능으로 자리 잡았습니다. 그러나 대부분의 접근은 여전히 사람이 직접 지도를 그려 줘야 합니다. 어떤 도구는 사용자가 손수 컨텍스트 범위를 지정할 때만 단일 레포지토리 너머로 시야를 넓힙니다. 에이전트에 추가 디렉터리를 넘기거나, 멀티 루트 워크스페이스를 열거나, 설정 파일이나 에이전트 파일에 연관 레포지토리를 선언하는 방식이죠.

또 다른 도구는 발견 단계를 자동화하긴 하지만 관계를 팀 활동에서 추론합니다. 가령 어떤 기여자가 최근 어디에 커밋했는지 같은 정보로요. 이런 방식은 사람들이 어떻게 일하는지는 보여 줄 수 있어도 두 레포지토리가 실제로 연관돼 있다는 사실을 증명하지는 못합니다.

자동 레포지토리 연결은 다릅니다. 출발점이 코드 단위의 증거입니다. CodeRabbit은 조직 안의 대상 레포지토리 전반에서 임포트, 의존성 매니페스트, API 사용 패턴, 컨트랙트, 레포지토리 README 같은 신호를 살핍니다. 이 신호들이 실제 관계를 가리키면 CodeRabbit이 해당 레포지토리를 리뷰 컨텍스트로 연결합니다.

리뷰 과정에서 CodeRabbit은 자동으로 탐지한 연결을 팀이 이미 수동으로 설정해 둔 레포지토리와 결합합니다. 그러면 멀티 레포 리서치 에이전트가 연결된 레포지토리를 들여다보며 다운스트림 영향을 구체적인 파일과 라인으로 짚어 줍니다. 어떤 레포지토리가 검토 대상이 됐는지는 리뷰 정보(Review info) 섹션에서 확인할 수 있습니다.

CodeRabbit이 한 서비스를 연관 레포지토리들과 연결하는 자동 레포지토리 연결 다이어그램

시작하기

조직 안의 모든 서비스와 패키지, 레포지토리 관계를 사람이 일일이 지도로 들고 있어야 할 이유는 없습니다. 자동 레포지토리 연결을 쓰면 CodeRabbit이 그 컨텍스트를 코드 가까이에 붙들어 두므로, 다운스트림 영향이 프로덕션에 도달하기 전에 리뷰가 먼저 잡아낼 수 있습니다.

자동 레포지토리 연결은 Pro plus와 Enterprise 고객에게 제공됩니다. 지식 베이스 설정에서 활성화하면 레포지토리 간에 컨텍스트를 공유하기 시작합니다.

관련해서 멀티 레포 컨텍스트를 더 깊이 살펴보고 싶다면 멀티 레포 분석 소개와 함께, RAG 대신 에이전트형 리뷰가 멀티 레포 분석에 적합한 이유를 다룬 에이전트형 코드 리뷰 vs RAG를 추천 드립니다. CodeRabbit 도입이 처음이라면 CodeRabbit으로 PR 리뷰 자동화 시작하기도 함께 보시면 좋습니다.

CodeRabbit 시작하기