|
2 | 2 |
|
3 | 3 | ## What This Project Is |
4 | 4 |
|
5 | | -**OSSCodeIQ** -- a CLI tool + server that scans codebases to build a deterministic code knowledge graph. No AI, no external APIs -- pure static analysis. 97 detectors, 35+ languages, Neo4j Embedded graph database, Hazelcast distributed cache, Spring AI MCP server, REST API, web UI. |
| 5 | +**OSSCodeIQ** -- a CLI tool + server that scans codebases to build a deterministic code knowledge graph. No AI, no external APIs -- pure static analysis. 97 detectors, 35+ languages, Neo4j Embedded graph database, Spring AI MCP server, REST API, web UI. |
6 | 6 |
|
7 | 7 | - **Maven coordinates:** `io.github.randomcodespace.iq:code-iq` |
8 | 8 | - **CLI command:** `code-iq` (via `java -jar`) |
|
16 | 16 | - Java 25 (virtual threads, pattern matching, records, sealed classes) |
17 | 17 | - Spring Boot 4.0.5 |
18 | 18 | - Neo4j Embedded 2026.02.3 (Community Edition, no external server) |
19 | | -- Hazelcast 5.6.0 (distributed cache, K8s auto-discovery) |
20 | 19 | - Spring AI 1.1.4 (MCP server, streamable HTTP) |
21 | 20 | - JavaParser 3.28.0 (Java AST analysis) |
22 | 21 | - ANTLR 4.13.2 (TypeScript/JavaScript, Python, Go, C#, Rust, C++ grammars) |
@@ -59,7 +58,7 @@ io.github.randomcodespace.iq |
59 | 58 | |-- api/ # REST controllers: GraphController, FlowController |
60 | 59 | |-- cache/ # AnalysisCache (H2), FileHasher |
61 | 60 | |-- cli/ # Picocli commands (14 commands + CodeIqCli parent + CliOutput helper) |
62 | | - |-- config/ # Spring config: Neo4jConfig, HazelcastConfig, CodeIqConfig, JacksonConfig |
| 61 | + |-- config/ # Spring config: Neo4jConfig, CodeIqConfig, JacksonConfig |
63 | 62 | |-- detector/ # Detector interface + 97 concrete detectors |
64 | 63 | | |-- auth/ # LDAP, certificate, session/header auth |
65 | 64 | | |-- config/ # YAML, JSON, TOML, INI, properties, K8s, Helm, GHA, etc. |
@@ -105,7 +104,6 @@ io.github.randomcodespace.iq |
105 | 104 | ### Virtual Thread Safety |
106 | 105 | - All file I/O and Neo4j operations run on virtual threads |
107 | 106 | - The H2 analysis cache uses `synchronized` blocks for thread safety |
108 | | -- Hazelcast cache operations are thread-safe by design |
109 | 107 | - Detectors MUST be stateless -- Spring `@Component` beans are singletons |
110 | 108 |
|
111 | 109 | ## CLI Commands |
@@ -246,7 +244,6 @@ mvn checkstyle:check |
246 | 244 | | `graph/GraphStore.java` | Neo4j facade | |
247 | 245 | | `graph/GraphRepository.java` | Spring Data Neo4j repository | |
248 | 246 | | `config/Neo4jConfig.java` | Embedded Neo4j configuration | |
249 | | -| `config/HazelcastConfig.java` | Hazelcast cache configuration | |
250 | 247 | | `config/CodeIqConfig.java` | Application configuration properties | |
251 | 248 | | `config/ProjectConfigLoader.java` | Loads .osscodeiq.yml overrides | |
252 | 249 | | `cache/AnalysisCache.java` | H2 incremental cache | |
|
0 commit comments