GitLab Knowledge Graph (GKG)
Semantic code analysis engine using AST parsing and KuzuDB graph database. Enables IDE-like code navigation for AI assistants.
Status: Public beta | Requires: Git repository | Storage: ~/.gkg/
When to Use
- •Find all usages of a function/class across codebase
- •Go-to-definition for symbols
- •Impact analysis before refactoring
- •Generate architecture diagrams
- •RAG-enhanced code understanding
Use repomix instead for: quick context dumps, any-language support, remote repos, token counting.
Quick Start
bash
# Check installation gkg --version # Index current repo gkg index # Start server (for API/MCP) gkg server start # Stop before re-indexing gkg server stop
Installation
bash
# macOS/Linux curl -fsSL https://gitlab.com/gitlab-org/rust/knowledge-graph/-/raw/main/install.sh | bash # Windows (PowerShell) irm https://gitlab.com/gitlab-org/rust/knowledge-graph/-/raw/main/install.ps1 | iex
Core Workflows
Index and Query
bash
gkg index /path/to/project --stats gkg server start # Query via HTTP API at http://localhost:27495
Find Symbol Usages
- •Index project:
gkg index - •Start server:
gkg server start - •Use MCP tool
get_referencesor HTTP API/api/graph/search
Impact Analysis
- •Index affected repos
- •Query
get_referencesfor changed symbols - •Review all call sites before refactoring
Language Support
| Language | Cross-file Refs |
|---|---|
| Ruby | ✅ Full |
| Java | ✅ Full |
| Kotlin | ✅ Full |
| Python | 🚧 In progress |
| TypeScript | 🚧 In progress |
| JavaScript | 🚧 In progress |
References
- •CLI Commands -
gkg index,gkg server,gkg remove,gkg clean - •MCP Tools - 7 tools for AI integration
- •HTTP API - REST endpoints for querying
- •Language Details - Supported features per language
Key Constraints
- •Must stop server before re-indexing
- •Requires initialized Git repository
- •Languages not connected across repos (yet)
- •TS/JS/Python cross-file refs incomplete