1818
1919---
2020
21- ** OSSCodeIQ** scans codebases to build a deterministic knowledge graph of code relationships -- classes, methods, endpoints, entities, dependencies, infrastructure resources, auth patterns, service topology, and more. 97 detectors across 35+ languages, Neo4j Embedded graph database, Spring AI MCP server (31 tools), REST API (32+ endpoints), React web UI, and zero AI dependency.
21+ ** OSSCodeIQ** scans codebases to build a deterministic knowledge graph of code relationships -- classes, methods, endpoints, entities, dependencies, infrastructure resources, auth patterns, service topology, and more. 97 detectors across 35+ languages, Neo4j Embedded graph database, Spring AI MCP server (31 tools), REST API (34 endpoints), React web UI, and zero AI dependency.
2222
2323## Quick Start
2424
@@ -50,18 +50,18 @@ java -jar target/code-iq-*-cli.jar serve /path/to/repo
5050- ** Neo4j Embedded** graph database -- full Cypher query support, no external server needed
5151- ** H2 analysis cache** -- batched streaming for memory-efficient indexing on CI runners
5252- ** Spring AI MCP server** -- 31 tools via streamable HTTP for AI-powered triage
53- - ** REST API** -- 32+ endpoints for programmatic access
54- - ** React UI** -- Dashboard, Topology (Cytoscape.js), Explorer, Flow, MCP Console (Monaco Editor) , API Docs
53+ - ** REST API** -- 34 endpoints for programmatic access
54+ - ** React UI** -- Dashboard, Topology (Cytoscape.js), Explorer, Flow, MCP Console, API Docs (Swagger)
5555- ** Service Topology** -- AppDynamics-style service map with blast radius, circular deps, bottleneck detection
56- - ** CLI with 14 commands** -- analyze, index, enrich, serve, stats, graph, query, find, flow, bundle, cache, plugins, topology , version
56+ - ** CLI with 15 commands** -- analyze, index, enrich, serve, stats, graph, query, find, cypher, flow, topology, bundle, cache, plugins, version
5757- ** Virtual threads** (Java 25) -- adaptive parallelism across all available cores
5858- ** Config-driven pipeline** -- ` .osscodeiq.yml ` to control languages, detectors, parsers, excludes
5959- ** Multi-repo support** -- ` --graph ` + ` --service-name ` for shared graph across repositories
6060- ** Flow diagrams** -- interactive Cytoscape.js architecture diagrams (Overview, CI, Deploy, Runtime, Auth views)
6161- ** Bundle & distribute** -- package graph DB + source + interactive HTML into a ZIP
6262- ** 100% deterministic** -- same input, same output, every time
6363- ** Incremental analysis** -- H2-backed file hash cache, only re-analyzes changed files
64- - ** 1,227 tests** passing
64+ - ** 1,440 tests** passing
6565
6666## Three-Command Architecture
6767
@@ -129,6 +129,7 @@ Spring Security, Django Auth, FastAPI Auth, NestJS Guards, Passport/JWT, K8s RBA
129129| ` graph [path] ` | Export graph in various formats (JSON, YAML, Mermaid, DOT) |
130130| ` query [path] ` | Query graph relationships (consumers, producers, callers, etc.) |
131131| ` find [what] [path] ` | Preset queries (endpoints, guards, entities, topics, etc.) |
132+ | ` cypher [query] ` | Execute raw Cypher queries against Neo4j |
132133| ` topology [path] ` | Service topology queries (blast radius, circular deps, bottlenecks) |
133134| ` flow [path] ` | Generate architecture flow diagrams |
134135| ` bundle [path] ` | Package graph + source into distributable ZIP |
@@ -195,7 +196,7 @@ code-iq serve /path/to/repo
195196 | | |
196197 v v v
197198 REST API MCP React UI
198- (32+ ep) (31 tools) (6 pages)
199+ (34 ep) (31 tools) (6 pages)
199200```
200201
201202## Server
@@ -212,12 +213,12 @@ Modern React 18 + TypeScript + Tailwind CSS interface:
212213- ** Topology** -- Cytoscape.js service dependency map with drill-down
213214- ** Explorer** -- browse by node kind, click to drill into details with edges
214215- ** Flow** -- interactive architecture diagrams (Overview, CI, Deploy, Runtime, Auth)
215- - ** Console** -- Monaco Editor for MCP tool invocation
216+ - ** Console** -- MCP Inspector for tool invocation with category filters and JSON response viewer
216217- ** API Docs** -- embedded Swagger/OpenAPI documentation
217218- Dark/light/system theme toggle
218219
219220### REST API (` /api ` )
220- 32+ endpoints for programmatic access:
221+ 34 endpoints for programmatic access:
221222- ` /api/stats ` , ` /api/stats/detailed?category= ` -- graph and categorized statistics
222223- ` /api/kinds ` , ` /api/kinds/{kind} ` -- node kinds with counts, paginated nodes
223224- ` /api/nodes ` , ` /api/edges ` -- paginated queries with ` ?kind=&limit=&offset= `
@@ -228,17 +229,18 @@ Modern React 18 + TypeScript + Tailwind CSS interface:
228229- ` /api/triage/component?file= ` , ` /api/triage/impact/{id} ` -- agentic triage
229230- ` /api/search?q= ` -- free-text graph search
230231- ` /api/file?path= ` -- source files (path traversal protected)
231- - ` /api/flow/{view} ` -- flow diagrams
232- - ` POST /api/analyze ` -- trigger analysis
232+ - ` /api/flow ` , ` /api/flow/{view} ` , ` /api/flow/{view}/{nodeId}/children ` , ` /api/flow/{view}/{nodeId}/parent ` -- flow diagrams
233+ - ` /api/topology/services/{name}/deps ` , ` /api/topology/services/{name}/dependents ` -- service dependencies
234+ - ` /api/topology/path ` -- find path between services
233235
234236### MCP Server (` /mcp ` )
23523731 tools via Spring AI streamable HTTP for AI-powered code triage:
236238
237239** Core (21 tools):**
238- ` get_stats ` , ` get_detailed_stats ` , ` query_nodes ` , ` query_edges ` , ` get_node_neighbors ` , ` get_ego_graph ` , ` find_cycles ` , ` find_shortest_path ` , ` find_consumers ` , ` find_producers ` , ` find_callers ` , ` find_dependencies ` , ` find_dependents ` , ` generate_flow ` , ` analyze_codebase ` , ` run_cypher ` , ` find_component_by_file ` , ` trace_impact ` , ` find_related_endpoints ` , ` search_graph ` , ` read_file `
240+ ` get_stats ` , ` get_detailed_stats ` , ` query_nodes ` , ` query_edges ` , ` get_node_neighbors ` , ` get_ego_graph ` , ` find_cycles ` , ` find_shortest_path ` , ` find_consumers ` , ` find_producers ` , ` find_callers ` , ` find_dependencies ` , ` find_dependents ` , ` find_dead_code ` , ` generate_flow ` , ` run_cypher ` , ` find_component_by_file ` , ` trace_impact ` , ` find_related_endpoints ` , ` search_graph ` , ` read_file `
239241
240242** Topology (10 tools):**
241- ` get_topology ` , ` get_service_detail ` , ` get_service_dependencies ` , ` get_service_dependents ` , ` get_blast_radius ` , ` find_service_path ` , ` find_bottlenecks ` , ` find_circular_dependencies ` , ` find_dead_services ` , ` find_topology_node `
243+ ` get_topology ` , ` service_detail ` , ` service_dependencies ` , ` service_dependents ` , ` blast_radius ` , ` find_path ` , ` find_bottlenecks ` , ` find_circular_deps ` , ` find_dead_services ` , ` find_node `
242244
243245## Service Topology
244246
@@ -340,7 +342,7 @@ cd code-iq
340342# Build
341343mvn clean package
342344
343- # Run tests (1,227 tests)
345+ # Run tests (1,440 tests)
344346mvn test
345347
346348# Analyze this repo
@@ -369,7 +371,7 @@ java -jar target/code-iq-*-cli.jar serve .
369371| Graph DB | Neo4j Embedded 2026.02.3 (Community Edition) |
370372| Analysis Cache | H2 (pure Java, virtual thread safe) |
371373| Cache | Spring Cache (simple in-memory, @Cacheable on query methods) |
372- | MCP | Spring AI 1.1.4 (streamable HTTP) |
374+ | MCP | Spring AI 2.0.0-M3 (streamable HTTP) |
373375| Java AST | JavaParser 3.28.0 |
374376| Multi-lang AST | ANTLR 4.13.2 (10 grammars) |
375377| CLI | Picocli 4.7.7 |
0 commit comments