Skip to content

Commit 21a6708

Browse files
docs: add competitive analysis and foundation principles
Analyze 21 code intelligence tools, rank codegraph #7/22, and establish 8 core principles (zero-infrastructure, dual engine, confidence scoring, incremental builds, embeddable-first, single registry, security defaults, scope boundaries).
1 parent 85484e8 commit 21a6708

2 files changed

Lines changed: 346 additions & 0 deletions

File tree

COMPETITIVE_ANALYSIS.md

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
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

Comments
 (0)