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 – AI 기반 코드베이스 지식 그래프
무엇인가요 – Tree‑sitter로 다중 언어 리포지토리를 분석하고 추출된 함수, 클래스, 모듈 및 그 관계를 Memgraph 지식 그래프에 저장하며, 자연어 질의를 통해 이 그래프와 상호작용할 수 있는 오픈소스 도구입니다. 또한 AI 기반 코드 편집, 최적화, 비활성 코드 탐지, 런타임 추적 오버레이도 지원합니다.
작동 방식
- 분석 – Tree‑sitter가 모든 소스 파일(Python, TS/JS, Rust, Go, Java, C/C++, C#, PHP, Lua, Dart 등)을 순회하며 AST를 생성합니다.
- 그래프 인게스팅 – AST는 언어에 독립적인 스키마로 변환되어 Memgraph에 로드됩니다.
- RAG 루프 – CLI(
cgr)는 사용자의 영문 질문을 LLM을 통해 Cypher 쿼리로 변환하고, 그래프에 대해 실행한 후 근거 있는 답변을 반환합니다. 동일한 루프는 편집을 위한 AST 기반 패치를 생성할 수도 있습니다.
주요 기능
- 전체 코드베이스에 대한 자연어 기반 질의 응답. 결과는 실제 심볼과 연결됩니다.
- 이름 또는 의도에 따라 소스 검색.
- AI 기반 편집: 적용 전에 차이점(diff)으로 외과적 AST 패치를 미리 확인할 수 있습니다.
- 베스트 프랙티스 규칙 또는 사용자 정의 기준에 따라 코드 최적화.
- 호출/참조 엣지를 따라가며 비활성 코드 탐지.
ast‑grep패턴을 사용한 구조적 검색 및 재작성.- 동적 추적: eBPF 또는 테스트 실행 시 콜 그래프를 정적 그래프에 병합하여 런타임 디스패치를 노출합니다.
- MCP 서버 호환성으로 Claude Code 같은 도구가 직접 그래프를 질의하거나 편집할 수 있습니다.
설치 및 사용법
cgrCLI를 PyPI에서full Tree‑sitter및semantic extras를 포함해 설치(pipx또는uv사용).cgr daemon up으로 통합된 Memgraph + Qdrant 스택을 실행(Docker 필요).- 리포지토리 인덱싱:
cgr start --repo‑path /path/to/repo --update‑graph. - 인터랙티브 CLI 또는 Python SDK를 통해 프로그래밍 방식으로 질의 또는 편집.
왜 중요한가요
- 수십 가지 언어를 혼합하는 몰리포지토리에 대해 단일하고 언어에 독립적인 그래프를 제공합니다. 대부분의 코드 검색 도구가 부족한 기능입니다.
- 정적 분석과 런타임 정보를 연결하여 코드가 실제로 어떻게 동작하는지 더 포괄적인 그림을 제공합니다.
- AI 에이전트가 원시 텍스트 편집이 아닌 AST 수준의 정밀한 변경을 가능하게 하여 코드 손상 위험을 줄입니다.
- 오픈소스 코어에 더해 엔터프라이즈 수준의 관리형 또는 오프라인 배포 옵션을 제공하여 규제 환경에도 적합합니다.
자료
- 자세한 문서: 설치, 빠른 시작, CLI 참조, 아키텍처, SDK, 고급 주제.
- 커뮤니티: CI 배지, 코드 커버리지, SonarCloud 품질 게이트, OpenSSF 스코어카드.
- 관리형 클라우드 또는 온프레미스 호스팅을 위한 엔터프라이즈 서비스.
결론 – Code‑Graph‑RAG은 어떤 코드베이스도 쿼리 가능한 지식 그래프로 전환하는 풀스택 AI 강화 플랫폼으로, 자연어 기반 인사이트, 안전한 자동 리팩터링, 그리고 심층적인 정적-동적 분석을 가능하게 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트