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 기반 코드 편집, 최적화, 비활성 코드 탐지, 런타임 추적 오버레이도 지원합니다.

작동 방식

  1. 분석 – Tree‑sitter가 모든 소스 파일(Python, TS/JS, Rust, Go, Java, C/C++, C#, PHP, Lua, Dart 등)을 순회하며 AST를 생성합니다.
  2. 그래프 인게스팅 – AST는 언어에 독립적인 스키마로 변환되어 Memgraph에 로드됩니다.
  3. RAG 루프 – CLI(cgr)는 사용자의 영문 질문을 LLM을 통해 Cypher 쿼리로 변환하고, 그래프에 대해 실행한 후 근거 있는 답변을 반환합니다. 동일한 루프는 편집을 위한 AST 기반 패치를 생성할 수도 있습니다.

주요 기능

  • 전체 코드베이스에 대한 자연어 기반 질의 응답. 결과는 실제 심볼과 연결됩니다.
  • 이름 또는 의도에 따라 소스 검색.
  • AI 기반 편집: 적용 전에 차이점(diff)으로 외과적 AST 패치를 미리 확인할 수 있습니다.
  • 베스트 프랙티스 규칙 또는 사용자 정의 기준에 따라 코드 최적화.
  • 호출/참조 엣지를 따라가며 비활성 코드 탐지.
  • ast‑grep 패턴을 사용한 구조적 검색 및 재작성.
  • 동적 추적: eBPF 또는 테스트 실행 시 콜 그래프를 정적 그래프에 병합하여 런타임 디스패치를 노출합니다.
  • MCP 서버 호환성으로 Claude Code 같은 도구가 직접 그래프를 질의하거나 편집할 수 있습니다.

설치 및 사용법

  • cgr CLI를 PyPI에서 full Tree‑sittersemantic 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 강화 플랫폼으로, 자연어 기반 인사이트, 안전한 자동 리팩터링, 그리고 심층적인 정적-동적 분석을 가능하게 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트