Skip to main content

gitcortex

A code knowledge graph for Git repositories. GitCortex indexes your codebase on every commit and answers questions like "what calls this function?" or "what changed between these two branches?" — so your AI coding assistant can work with real structure instead of scanning raw files.

Install

pip install gitcortex
# or
pipx install gitcortex
# or
uv tool install gitcortex

Supports macOS (Apple Silicon + Intel), Linux (x86_64 + arm64), and Windows (x64). No Rust or compiler required — a pre-built binary is bundled in the wheel.

Quick start

cd your-repo
gcx init       # index the repo + install git hooks
gcx serve      # start the MCP server for your AI assistant

After gcx init, the graph updates automatically on every git commit, merge, rebase, and checkout. No manual re-runs needed.

What it does

GitCortex builds a queryable graph of your codebase — functions, structs, classes, interfaces, call relationships, inheritance chains — and keeps it current automatically.

  • Works with: Rust, Python, TypeScript, JavaScript, Go, Java
  • Integrates with: Claude Code, Cursor, Windsurf, GitHub Copilot, Antigravity
  • Per-branch graphs: switching branches gives you the graph for that branch instantly
  • Zero runtime dependency: single self-contained binary, nothing else to install

Commands

gcx init

Index the current repo, install git hooks, and register the MCP server with your editor.

gcx init                     # auto-detects your editor
gcx init --editor cursor     # target a specific editor: claude, cursor, windsurf, copilot
gcx init --editor all        # write configs for every supported editor

gcx serve

Start the MCP server so your AI assistant can query the knowledge graph.

gcx serve

Once running, your AI assistant has access to tools like find_callers, lookup_symbol, list_definitions, trace_path, and more.

gcx query

Query the graph from the terminal without an AI assistant.

gcx query lookup-symbol MyStruct
gcx query find-callers process_request
gcx query list-definitions src/lib.rs

gcx blast-radius

See which parts of the codebase are affected by changes between two branches — useful before merging.

gcx blast-radius --base main --head feat/my-feature
gcx blast-radius --base main --head feat/my-feature --format github-comment

gcx viz

Open an interactive graph in your browser.

gcx viz                         # opens on port 5678
gcx viz --port 9000
gcx viz --branch feat/my-feature
gcx viz --format dot > graph.dot   # export as Graphviz DOT

gcx export

Generate a readable Markdown map of the codebase at .gitcortex/context.md. The git hook keeps it up to date automatically.

gcx export

gcx status

Show node and edge counts for the current branch.

gcx status

gcx clean

Wipe the local graph store and re-index from scratch on the next commit.

gcx clean

MCP tools available to your AI assistant

Tool What it answers
lookup_symbol Where is MyStruct defined?
find_callers What calls process_request?
find_callees What does handle_request call?
list_definitions What's defined in src/auth.rs?
find_implementors What implements AuthProvider?
trace_path How do you get from main to validate_token?
find_unused_symbols What's never called (dead code candidates)?
get_subgraph Everything within 2 hops of UserService
detect_changes What changed + who's affected vs main?
symbol_context Callers, callees, and uses for a symbol

All tools accept an optional branch parameter.

Configuration

.gitcortex/config.toml (committed to your repo, shared with your team):

[index]
languages = ["rust", "typescript", "python", "go"]
max_file_size_kb = 500

.gitcortex/ignore (.gitignore syntax — files to exclude from indexing):

target/
build/
**/*.generated.rs

License

MIT — free for commercial and open-source use.

GitHub · Issues

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gitcortex-0.7.0-py3-none-manylinux2014_x86_64.whl (21.6 MB view details)

Uploaded Python 3

gitcortex-0.7.0-py3-none-manylinux2014_aarch64.whl (19.1 MB view details)

Uploaded Python 3

gitcortex-0.7.0-py3-none-macosx_11_0_arm64.whl (15.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

gitcortex-0.7.0-py3-none-macosx_10_12_x86_64.whl (17.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file gitcortex-0.7.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gitcortex-0.7.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de0e9b41a32204a36782a16e8a85c19ce35385468e2a29321084a3e7fdc686d3
MD5 6690c017dbd85613e3f0254c389caab8
BLAKE2b-256 d77aa666c6383929f3775976711ed0a595598c7c4c570444a9dd2d2e8c0b9ad4

See more details on using hashes here.

File details

Details for the file gitcortex-0.7.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gitcortex-0.7.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91c7d710bf921a0f83286b8740679d1cde5b19abae16440a6859473ac0ab6b89
MD5 3b1c0d04def161b34aee1eeb9069255b
BLAKE2b-256 98fe6e5df45a160e0bb0e789db67e4154a051ee22e3aece1d4d0949bda48c306

See more details on using hashes here.

File details

Details for the file gitcortex-0.7.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gitcortex-0.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3dac84ddbedad4f9d4d2c5b46494584300993d995d72eca91a67e876bf87c77
MD5 28f23e891fac905b95ed81025ad85199
BLAKE2b-256 6e8659ab669f9900151b346b553fa35ebffd928375cf8498fdf2f7d0c5308ec3

See more details on using hashes here.

File details

Details for the file gitcortex-0.7.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for gitcortex-0.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3680b9e886ccf8fc0fd90693b88b125278738b5f96de2b15c67d710fc040a91a
MD5 2f19023474b0aed9febb6dc9ab52d04b
BLAKE2b-256 021914a4f1197957acaa96a079a038f697ac1b710c2bca137a62d38fdc55c465

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.3

4 files

0.7.2

4 files

0.7.1

4 files

This release

0.7.0 This release

4 files

0.6.3

4 files

0.6.0

4 files

0.5.1

4 files

0.5.0

4 files

0.4.0

4 files

0.3.0

4 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page