vitali87/code-graph-rag
The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs
해결하는 문제
Code-Graph-RAG는 소스 코드를 검색 가능한 지식 그래프로 변환하여 개발자가 대규모 다국어 코드베이스를 이해하고, 쿼리하고, 수정할 수 있도록 돕습니다. 이는 함수, 클래스 및 모듈이 리포지토리 전체에서 어떻게 연결되는지에 대한 구조적 인식이 부족한 기존의 텍스트 기반 검색 또는 단순 RAG의 문제를 해결합니다.
작동 방식
시스템은 두 가지 주요 구성 요소로 구성됩니다:
- 다국어 파서: Tree-sitter를 사용하여 소스 코드를 분석하고 구조적 요소(함수, 클래스, 메서드, 모듈) 및 그 관계를 추출합니다. 이 데이터는 언어에 중립적인 스키마를 사용하여 Memgraph 데이터베이스에 저장됩니다.
- RAG 시스템: 자연어 쿼리를 Cypher 쿼리로 변환하여 그래프에서 정확한 코드 구조를 검색하는 대화형 CLI입니다. 검색된 구조는 AI 기반 응답, 편집 및 최적화의 근거로 사용됩니다.
대상 사용자
복잡한 모노레포 또는 다국어 프로젝트를 다루며 구조적 검색, 데드 코드 찾기 또는 AI를 사용한 코드 리팩토링 자동화가 필요한 소프트웨어 엔지니어 및 아키텍트.
주요 특징
- 폭넓은 언어 지원: Python, TypeScript, Rust, Go, Java, C, C++, C#, PHP, Lua, Dart를 지원하며, ast-grep를 통해 Ruby에 대한 구조적 지원을 제공합니다.
- AST 기반 편집: 정규 표현식 대신 AST 패턴을 사용하여 정밀한 코드 패치 및 구조적 검색/치환을 허용합니다.
- 데이터 흐름 추적: C#, Java, C, Go에서 할당 및 함수 호출을 통한 값의 이동을 추적합니다.
- MCP 서버: Model Context Protocol 서버로 통합되어 Claude Code와 같은 AI 클라이언트가 코드베이스와 직접 상호 작용할 수 있도록 합니다.
- 데드 코드 탐지: 엔트리 포인트로부터 호출 및 참조 에지를 따라가며 사용되지 않는 코드를 식별합니다.