글로벌 지식 그래프 (Global Knowledge Graph, GKG)
개요
GKG는 코드베이스를 탐색하고 이해하기 위한 의미론적 코드 분석 도구를 제공합니다. 프로젝트를 인덱싱하여 빠른 심볼 조회, 참조 찾기 및 구조적 분석을 가능하게 합니다.
빠른 시작
이 스킬 디렉토리에서 실행하세요. 매개변수는 JSON 형식으로 --raw 플래그를 사용합니다:
bun ./scripts/gkg.ts <명령어> --raw '<json>'
핵심 명령어
list-projects
지식 그래프에 인덱싱된 모든 프로젝트를 나열합니다.
bun ./scripts/gkg.ts list-projects
index-project
프로젝트의 지식 그래프 인덱스를 재구축합니다.
bun ./scripts/gkg.ts index-project \
--raw '{"project_absolute_path":"/path/to/project"}'
search-codebase-definitions
코드베이스에서 함수, 클래스, 메서드, 상수를 찾습니다.
bun ./scripts/gkg.ts search-codebase-definitions \
--raw '{"search_terms":["functionName","ClassName"],"project_absolute_path":"/path/to/project"}'
get-references
코드베이스에서 심볼의 모든 사용처를 찾습니다.
bun ./scripts/gkg.ts get-references \
--raw '{"absolute_file_path":"/path/to/file.ts","definition_name":"myFunction"}'
read-definitions
정의의 전체 구현을 읽습니다.
bun ./scripts/gkg.ts read-definitions \
--raw '{"definitions":[{"names":["myFunc"],"file_path":"/path/to/file.ts"}]}'
get-definition
특정 줄에 있는 심볼에 대한 정의로 이동합니다.
bun ./scripts/gkg.ts get-definition \
--raw '{"absolute_file_path":"/path/to/file.ts","line":"const result = myFunc()","symbol_name":"myFunc"}'
repo-map
저장소 구조의 간결한 API 스타일 맵을 생성합니다.
bun ./scripts/gkg.ts repo-map \
--raw '{"project_absolute_path":"/path/to/project","relative_paths":["src","lib"]}'
import-usage
프로젝트 전반의 임포트 사용 현황을 분석합니다.
bun ./scripts/gkg.ts import-usage \
--raw '{"project_absolute_path":"/path/to/project","packages":[{"import_path":"react"}]}'
일반적인 워크플로우
리팩토링 영향도 분석
search-codebase-definitions를 사용해 심볼을 찾습니다.get-references를 사용해 모든 사용처를 찾습니다.- 변경 전 각 사용 위치를 검토합니다.
익숙하지 않은 코드 파악
repo-map을 사용해 프로젝트 구조 개요를 확인합니다.search-codebase-definitions를 사용해 관련 함수를 찾습니다.read-definitions를 사용해 구현을 읽습니다.
의존성 추적
import-usage를 사용해 패키지가 임포트된 위치를 찾습니다.get-references를 사용해 함수 호출 체인을 추적합니다.
리소스
scripts/
gkg.ts- 모든 지식 그래프 작업을 위한 CLI 도구
references/
api_reference.md- 각 명령어에 대한 상세 매개변수 문서