|
| 1 | +# Competitive Analysis — Code Graph / Code Intelligence Tools |
| 2 | + |
| 3 | +**Date:** 2026-02-22 |
| 4 | +**Scope:** 21 code analysis tools compared against `@optave/codegraph` |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## Overall Ranking |
| 9 | + |
| 10 | +Ranked by weighted score across 6 dimensions (each 1–5): |
| 11 | + |
| 12 | +| # | Score | Project | Stars | Lang | License | Summary | |
| 13 | +|---|-------|---------|-------|------|---------|---------| |
| 14 | +| 1 | 4.5 | [vitali87/code-graph-rag](https://github.com/vitali87/code-graph-rag) | 1,916 | Python | MIT | Graph RAG with Memgraph, multi-provider AI, code editing, semantic search, MCP | |
| 15 | +| 2 | 4.2 | [seatedro/glimpse](https://github.com/seatedro/glimpse) | 349 | Rust | MIT | Clipboard-first codebase-to-LLM tool with call graphs, token counting, LSP resolution | |
| 16 | +| 3 | 4.0 | [SimplyLiz/CodeMCP (CKB)](https://github.com/SimplyLiz/CodeMCP) | 59 | Go | Custom | SCIP-based indexing, compound operations (83% token savings), CODEOWNERS, secret scanning | |
| 17 | +| 4 | 3.9 | [harshkedia177/axon](https://github.com/harshkedia177/axon) | 29 | Python | None | 11-phase pipeline, KuzuDB, Leiden community detection, dead code, change coupling | |
| 18 | +| 5 | 3.8 | [anrgct/autodev-codebase](https://github.com/anrgct/autodev-codebase) | 111 | TypeScript | None | 40+ languages, 7 embedding providers, Cytoscape.js visualization, LLM reranking | |
| 19 | +| 6 | 3.7 | [Anandb71/arbor](https://github.com/Anandb71/arbor) | 85 | Rust | MIT | Native GUI, confidence scoring, architectural role classification, fuzzy search, MCP | |
| 20 | +| **7** | **3.6** | **[@optave/codegraph](https://github.com/optave/codegraph)** | — | **JS/Rust** | **Apache-2.0** | **Dual engine (native Rust + WASM), 11 languages, SQLite, MCP, semantic search, zero-cloud** | |
| 21 | +| 8 | 3.4 | [Durafen/Claude-code-memory](https://github.com/Durafen/Claude-code-memory) | 72 | Python | None | Memory Guard quality gate, persistent codebase memory, Voyage AI + Qdrant | |
| 22 | +| 9 | 3.3 | [NeuralRays/codexray](https://github.com/NeuralRays/codexray) | 2 | TypeScript | MIT | 16 MCP tools, TF-IDF semantic search (~50MB), dead code, complexity, path finding | |
| 23 | +| 10 | 3.2 | [al1-nasir/codegraph-cli](https://github.com/al1-nasir/codegraph-cli) | 11 | Python | MIT | CrewAI multi-agent system, 6 LLM providers, browser explorer, DOCX export | |
| 24 | +| 11 | 3.1 | [anasdayeh/claude-context-local](https://github.com/anasdayeh/claude-context-local) | 0 | Python | None | 100% local, Merkle DAG incremental indexing, sharded FAISS, hybrid BM25+vector, GPU accel | |
| 25 | +| 12 | 3.0 | [Vasu014/loregrep](https://github.com/Vasu014/loregrep) | 12 | Rust | Apache-2.0 | In-memory index library, Rust + Python bindings, AI-tool-ready schemas | |
| 26 | +| 13 | 2.9 | [rahulvgmail/CodeInteliMCP](https://github.com/rahulvgmail/CodeInteliMCP) | 8 | Python | None | DuckDB + ChromaDB (zero Docker), multi-repo, lightweight embedded DBs | |
| 27 | +| 14 | 2.8 | [Bikach/codeGraph](https://github.com/Bikach/codeGraph) | 6 | TypeScript | MIT | Neo4j graph, Claude Code slash commands, Kotlin support, 40-50% cost reduction | |
| 28 | +| 15 | 2.7 | [yumeiriowl/repo-graphrag-mcp](https://github.com/yumeiriowl/repo-graphrag-mcp) | 3 | Python | MIT | LightRAG + tree-sitter, entity merge (code ↔ docs), implementation planning tool | |
| 29 | +| 16 | 2.6 | [0xjcf/MCP_CodeAnalysis](https://github.com/0xjcf/MCP_CodeAnalysis) | 7 | Python/TS | None | Stateful tools (XState), Redis sessions, socio-technical analysis, dual language impl | |
| 30 | +| 17 | 2.5 | [RaheesAhmed/code-context-mcp](https://github.com/RaheesAhmed/code-context-mcp) | 0 | Python | MIT | Security pattern detection, auto architecture diagrams, code flow tracing | |
| 31 | +| 18 | 2.4 | [shantham/codegraph](https://github.com/shantham/codegraph) | 0 | TypeScript | MIT | Polished `npx` one-command installer, sqlite-vss, 7 MCP tools | |
| 32 | +| 19 | 2.3 | [0xd219b/codegraph](https://github.com/0xd219b/codegraph) | 0 | Rust | None | Pure Rust, HTTP server mode, Java + Go support | |
| 33 | +| 20 | 2.1 | [floydw1234/badger-graph](https://github.com/floydw1234/badger-graph) | 0 | Python | None | Dgraph backend (Docker), C struct field access tracking | |
| 34 | +| 21 | 2.0 | [khushil/code-graph-rag](https://github.com/khushil/code-graph-rag) | 0 | Python | MIT | Fork of vitali87/code-graph-rag with no modifications | |
| 35 | +| 22 | 1.8 | [m3et/CodeRAG](https://github.com/m3et/CodeRAG) | 0 | Python | None | Iterative RAG with self-reflection, ChromaDB, Azure OpenAI dependent | |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## Scoring Breakdown |
| 40 | + |
| 41 | +| # | Project | Features | Analysis Depth | Deploy Simplicity | Lang Support | Code Quality | Community | |
| 42 | +|---|---------|----------|---------------|-------------------|-------------|-------------|-----------| |
| 43 | +| 1 | code-graph-rag | 5 | 4 | 3 | 4 | 4 | 5 | |
| 44 | +| 2 | glimpse | 4 | 4 | 5 | 3 | 5 | 5 | |
| 45 | +| 3 | CKB | 5 | 5 | 4 | 3 | 4 | 3 | |
| 46 | +| 4 | axon | 5 | 5 | 4 | 2 | 4 | 2 | |
| 47 | +| 5 | autodev-codebase | 5 | 3 | 3 | 5 | 3 | 4 | |
| 48 | +| 6 | arbor | 4 | 4 | 5 | 4 | 5 | 3 | |
| 49 | +| **7** | **codegraph (us)** | **3** | **3** | **5** | **4** | **4** | **2** | |
| 50 | +| 8 | Claude-code-memory | 4 | 3 | 3 | 3 | 4 | 3 | |
| 51 | +| 9 | codexray | 5 | 4 | 4 | 4 | 3 | 1 | |
| 52 | +| 10 | codegraph-cli | 5 | 3 | 3 | 2 | 3 | 2 | |
| 53 | +| 11 | claude-context-local | 4 | 3 | 3 | 4 | 4 | 1 | |
| 54 | +| 12 | loregrep | 3 | 3 | 4 | 3 | 5 | 2 | |
| 55 | +| 13 | CodeInteliMCP | 3 | 3 | 4 | 3 | 3 | 1 | |
| 56 | +| 14 | Bikach/codeGraph | 3 | 3 | 3 | 2 | 3 | 1 | |
| 57 | +| 15 | repo-graphrag-mcp | 3 | 3 | 3 | 4 | 3 | 1 | |
| 58 | +| 16 | MCP_CodeAnalysis | 4 | 3 | 3 | 2 | 3 | 1 | |
| 59 | +| 17 | code-context-mcp | 4 | 2 | 3 | 2 | 2 | 1 | |
| 60 | +| 18 | shantham/codegraph | 3 | 2 | 4 | 4 | 3 | 1 | |
| 61 | +| 19 | 0xd219b/codegraph | 2 | 3 | 4 | 1 | 4 | 1 | |
| 62 | +| 20 | badger-graph | 2 | 2 | 2 | 1 | 2 | 1 | |
| 63 | +| 21 | khushil/code-graph-rag | 5 | 4 | 3 | 4 | 4 | 1 | |
| 64 | +| 22 | CodeRAG | 3 | 2 | 2 | 1 | 2 | 1 | |
| 65 | + |
| 66 | +**Scoring criteria:** |
| 67 | +- **Features** (1-5): breadth of tools, MCP integration, search, visualization, export |
| 68 | +- **Analysis Depth** (1-5): how deep the code analysis goes (dead code, complexity, flow tracing, coupling) |
| 69 | +- **Deploy Simplicity** (1-5): ease of setup — zero Docker = 5, requires Docker = 3, complex multi-service = 1 |
| 70 | +- **Lang Support** (1-5): number of well-supported programming languages |
| 71 | +- **Code Quality** (1-5): architecture, performance characteristics, engineering rigor |
| 72 | +- **Community** (1-5): stars, contributors, activity, documentation quality |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## Where Codegraph Wins |
| 77 | + |
| 78 | +| Strength | Details | |
| 79 | +|----------|---------| |
| 80 | +| **Zero-dependency deployment** | `npm install` and done. No Docker, no cloud, no API keys needed. Most competitors require Docker (Memgraph, Neo4j, Dgraph, Qdrant) or cloud APIs | |
| 81 | +| **Dual engine architecture** | Only project with native Rust (napi-rs) + automatic WASM fallback. Others are pure Rust OR pure JS/Python — never both | |
| 82 | +| **Single-repo MCP isolation** | Security-conscious default: tools have no `repo` property unless `--multi-repo` is explicitly enabled. Most competitors default to exposing everything | |
| 83 | +| **Incremental builds** | File-hash-based skip of unchanged files. Some competitors re-index everything | |
| 84 | +| **Platform binaries** | Published `@optave/codegraph-{platform}-{arch}` optional packages — true npm-native distribution | |
| 85 | +| **Import resolution depth** | 6-level priority system with confidence scoring — more sophisticated than most competitors' resolution | |
| 86 | + |
| 87 | +--- |
| 88 | + |
| 89 | +## Where Codegraph Loses |
| 90 | + |
| 91 | +### vs code-graph-rag (#1, 1916 stars) |
| 92 | +- **Graph query expressiveness**: Memgraph + Cypher enables arbitrary graph traversals; our SQL queries are more rigid |
| 93 | +- **AI-powered code editing**: they can surgically edit functions via AST targeting with visual diffs |
| 94 | +- **Provider flexibility**: they support Gemini/OpenAI/Claude/Ollama and can mix providers per task |
| 95 | +- **Community**: 1,916 stars — orders of magnitude more traction |
| 96 | + |
| 97 | +### vs glimpse (#2, 349 stars) |
| 98 | +- **LLM workflow optimization**: clipboard-first output + token counting + XML output mode — purpose-built for "code → LLM context" |
| 99 | +- **LSP-based call resolution**: compiler-grade accuracy vs our tree-sitter heuristic approach |
| 100 | +- **Web content processing**: can fetch URLs and convert HTML to markdown for context |
| 101 | + |
| 102 | +### vs CKB (#3, 59 stars) |
| 103 | +- **Indexing accuracy**: SCIP provides compiler-grade cross-file references (type-aware), fundamentally more accurate than tree-sitter for supported languages |
| 104 | +- **Compound operations**: `explore`/`understand`/`prepareChange` batch multiple queries into one call — 83% token reduction, 60-70% fewer tool calls |
| 105 | +- **CODEOWNERS + secret scanning**: enterprise features we lack entirely |
| 106 | + |
| 107 | +### vs axon (#4, 29 stars) |
| 108 | +- **Analysis depth**: their 11-phase pipeline includes community detection (Leiden), execution flow tracing, git change coupling, dead code detection — all features we lack |
| 109 | +- **Graph database**: KuzuDB with native Cypher is more expressive for complex graph queries than our SQLite |
| 110 | +- **Branch structural diff**: compares code structure between branches using git worktrees |
| 111 | + |
| 112 | +### vs autodev-codebase (#5, 111 stars) |
| 113 | +- **Language breadth**: 40+ languages vs our 11 |
| 114 | +- **Interactive visualization**: Cytoscape.js call graph explorer in the browser — we only have static DOT/Mermaid |
| 115 | +- **LLM reranking**: secondary LLM pass to improve search relevance — more sophisticated retrieval pipeline |
| 116 | + |
| 117 | +### vs arbor (#6, 85 stars) |
| 118 | +- **Native GUI**: desktop app for interactive impact analysis (we're CLI/MCP only) |
| 119 | +- **Confidence scoring surfaced to users**: every result shows High/Medium/Low confidence |
| 120 | +- **Architectural role classification**: auto-tags symbols as Entry Point / Core Logic / Utility / Adapter |
| 121 | +- **Fuzzy symbol search**: typo tolerance with Jaro-Winkler matching |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +## Features to Adopt — Priority Roadmap |
| 126 | + |
| 127 | +### Tier 1: High impact, low effort |
| 128 | +| Feature | Inspired by | Why | |
| 129 | +|---------|------------|-----| |
| 130 | +| **Dead code detection** | axon, codexray, CKB | We have the graph — find nodes with zero incoming edges (minus entry points/exports). Agents constantly ask "is this used?" | |
| 131 | +| **Fuzzy symbol search** | arbor | Add Levenshtein/Jaro-Winkler to `fn` command. Currently requires exact match | |
| 132 | +| **Expose confidence scores** | arbor | Already computed internally in import resolution — just surface them | |
| 133 | +| **Shortest path A→B** | codexray, arbor | BFS on existing edges table. We have `fn` for single chains but no A→B pathfinding | |
| 134 | + |
| 135 | +### Tier 2: High impact, medium effort |
| 136 | +| Feature | Inspired by | Why | |
| 137 | +|---------|------------|-----| |
| 138 | +| **Compound MCP tools** | CKB | `explore`/`understand` meta-tools that batch deps + fn + map into single responses. Biggest token-savings opportunity | |
| 139 | +| **Token counting on responses** | glimpse, arbor | tiktoken-based counts so agents know context budget consumed | |
| 140 | +| **Node classification** | arbor | Auto-tag Entry Point / Core / Utility / Adapter from in-degree/out-degree patterns | |
| 141 | +| **TF-IDF lightweight search** | codexray | SQLite FTS5 + TF-IDF as a middle tier (~50MB) between "no search" and full transformers (~500MB) | |
| 142 | + |
| 143 | +### Tier 3: High impact, high effort |
| 144 | +| Feature | Inspired by | Why | |
| 145 | +|---------|------------|-----| |
| 146 | +| **Interactive HTML visualization** | autodev-codebase, codegraph-cli | `codegraph viz` → opens interactive vis.js/Cytoscape.js graph in browser | |
| 147 | +| **Git change coupling** | axon | Analyze git history for files that always change together — enhances `diff-impact` | |
| 148 | +| **Community detection** | axon | Leiden algorithm to discover natural module boundaries vs actual file organization | |
| 149 | +| **Execution flow tracing** | axon, code-context-mcp | Framework-aware entry point detection + BFS flow tracing | |
| 150 | +| **Security pattern scanning** | CKB, code-context-mcp | Detect hardcoded secrets, SQL injection patterns, XSS in parsed code | |
| 151 | + |
| 152 | +### Not worth copying |
| 153 | +| Feature | Why skip | |
| 154 | +|---------|----------| |
| 155 | +| Memgraph/Neo4j/KuzuDB | Our SQLite = zero Docker, simpler deployment. Query gap matters less than simplicity | |
| 156 | +| Multi-provider AI | We're deliberately cloud-free — that's a feature, not a limitation | |
| 157 | +| SCIP indexing | Would require maintaining SCIP toolchains per language. Tree-sitter + native Rust is the right bet | |
| 158 | +| CrewAI multi-agent | Overengineered for a code analysis tool. Keep the scope focused | |
| 159 | +| Clipboard/LLM-dump mode | Different product category (glimpse). We're a graph tool, not a context-packer | |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +## Irrelevant Repos (excluded from ranking) |
| 164 | + |
| 165 | +These repos from the initial list were not code analysis / graph tools: |
| 166 | + |
| 167 | +| Repo | What it actually is | |
| 168 | +|------|-------------------| |
| 169 | +| [susliko/tla.nvim](https://github.com/susliko/tla.nvim) | TLA+/PlusCal Neovim plugin for formal verification | |
| 170 | +| [akaash-nigam/AxionApps](https://github.com/akaash-nigam/AxionApps) | Portfolio of 17 Indian social impact mobile apps | |
| 171 | +| [jasonjckn/tree-sitter-clojure](https://github.com/jasonjckn/tree-sitter-clojure) | Fork of Clojure tree-sitter grammar, inactive since 2022 | |
| 172 | +| [omkargade04/sentinel-agent](https://github.com/omkargade04/sentinel-agent) | AI-powered GitHub PR reviewer agent | |
| 173 | +| [rupurt/tree-sitter-graph-nix](https://github.com/rupurt/tree-sitter-graph-nix) | Nix flake packaging for tree-sitter-graph (1.8KB of Nix) | |
| 174 | +| [shandianchengzi/tree_sitter_DataExtractor](https://github.com/shandianchengzi/tree_sitter_DataExtractor) | Academic research on program graph representations for GNNs | |
| 175 | +| [hasssanezzz/GoTypeGraph](https://github.com/hasssanezzz/GoTypeGraph) | Go-only struct/interface relationship visualizer | |
| 176 | +| [romiras/py-cmm-parser](https://github.com/romiras/py-cmm-parser) | Python-only canonical metadata parser with Pyright LSP | |
| 177 | +| [OrkeeAI/orkee](https://github.com/OrkeeAI/orkee) | AI agent orchestration platform (CLI/TUI/Web/Desktop) — adjacent but different category | |
0 commit comments