code-graph-rag
SHA-256Code-Graph-RAG은 다국어 코드 저장소를 위한 RAG 시스템으로, 지식 그래프를 활용해 AI가 코드를 이해하고, 조회하고, 수정할 수 있게 합니다. 기존 코드 검색과 달리, 다국어 구조적 이해와 AI 기반 편집을 지원합니다.
전체 코드베이스를 지식 그래프로 변환하고, 자연어로 AI에게 질문하기만 하면 코드를 조회하고 수정할 수 있다.
주요 기능
- 다국어 파싱: Tree-sitter 기반으로 Python, TypeScript, Rust, Go 등 10여 가지 언어 지원
- 지식 그래프 저장: 함수, 클래스, 메서드 및 호출 관계를 Memgraph에 저장하여 복잡한 의미 쿼리 지원
- 자연어 질의응답: "이 함수가 어디에서 호출되나요?" 같은 질문을 직접 하면 AI가 자동으로 Cypher 쿼리로 변환
- 구조화된 검색 및 교체: AST 패턴으로 코드를 검색하고 재작성하며, 언어 간 통합 작업 지원
- 데드 코드 감지: 진입점에서 호출 관계를 탐색하여 참조되지 않은 코드를 찾아냄
할 수 없는 것
- •함정 회피 가이드: Memgraph 데이터베이스를 실행하려면 Docker가 필요하며, 대규모 리포지토리를 처음 파싱할 때 많은 메모리와 시간이 소요됩니다. --clean 파라미터는 공유 그래프 전체를 삭제하므로 완전히 새로 시작할 때만 사용하세요. 언어별 기능 지원 수준이 다릅니다(예: Ruby는 구조 파싱만 지원). 사용 전에 언어 지원 매트릭스를 확인하세요.
사용 사례
- 대규모 monorepo에서 함수와 클래스의 정의 및 호출 관계를 빠르게 파악하고, 모듈 의존성을 이해한다
- AI의 도움으로 크로스랭귀지 리팩토링, 데드 코드 정리, 코드 스타일 통일을 수행한다
상세 설명
Code-Graph-RAG은 대규모 다국어 코드 저장소(monorepo)를 위한 오픈 소스 RAG 시스템입니다. Tree-sitter를 사용하여 소스 코드를 AST로 파싱하고, 함수, 클래스, 메서드, 모듈 및 이들 간의 관계를 추출한 후 결과를 지식 그래프 형태로 Memgraph 데이터베이스에 저장합니다. 사용자는 CLI 또는 MCP 서버를 통해 자연어로 질문할 수 있으며, AI 모델이 질문을 Cypher 쿼리로 변환하여 그래프에서 관련 노드를 검색하고 근거 있는 답변을 반환합니다. 질의응답 외에도 ast-grep을 통한 AST 기반 구조적 검색 및 치환, 진입점에서 호출/참조 엣지를 탐색하여 죽은 코드 감지, 모범 사례에 따른 AI 기반 코드 최적화도 지원합니다. GitHub Code Search나 Sourcegraph 같은 텍스트 검색 기반 도구와 비교했을 때 Code-Graph-RAG의 가장 큰 장점은 다음과 같습니다. 언어에 구애받지 않는 통합 그래프 스키마를 사용하여 크로스 언어 리팩토링과 의미론적 이해가 매우 쉬우며, MCP 프로토콜을 지원하므로 Claude Code와 같은 AI 에이전트가 도구를 직접 호출하여 코드 편집 및 diff 미리보기를 수행할 수 있습니다.
태그
시작하기
소프트웨어 설치
다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요
[1단계: uv를 사용하여 기본 CLI 도구 설치(Memgraph 실행에는 Docker 필요)]
[2단계: 저장소 디렉터리에서 cgr를 시작하여 코드를 파싱하고 지식 그래프 구축]
[3단계: 대화형 CLI를 시작하여 자연어로 코드를 쿼리하거나, AI 클라이언트가 사용할 MCP 서버 구성]
- [1단계: uv를 사용하여 기본 CLI 도구 설치(Memgraph 실행에는 Docker 필요)]
- [2단계: 저장소 디렉터리에서 cgr를 시작하여 코드를 파싱하고 지식 그래프 구축]
- [3단계: 대화형 CLI를 시작하여 자연어로 코드를 쿼리하거나, AI 클라이언트가 사용할 MCP 서버 구성]
SHA-256 체크섬 확인됨
GitHub 공식 Release 페이지에서 추출된 체크섬
SHA256 체크섬
b07e6bb03ccf02d4bc69efd482366a340da8606a2ba2a23c53ac3545e0dbf7b3이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
제거 설명(한국어): pipx/uv로 설치된 패키지만 삭제하면 됩니다(예: pipx uninstall code-graph-rag). 또한 cgr daemon down을 실행하여 컨테이너를 중지하고 삭제할 수 있습니다(데이터는 백업됩니다). Docker Compose를 사용하는 경우 docker compose down을 직접 실행하여 관련 컨테이너와 데이터 볼륨을 정리할 수 있습니다.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.