2020 <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/github/stars/RandomCodeSpace/code-iq?style=flat-square&logo=github&label=Stars " alt =" Stars " ></a >
2121 <a href =" https://github.com/RandomCodeSpace/code-iq/issues " ><img src =" https://img.shields.io/github/issues/RandomCodeSpace/code-iq?style=flat-square&logo=github&label=Issues " alt =" Issues " ></a >
2222 <a href =" https://github.com/RandomCodeSpace/code-iq/commits/main " ><img src =" https://img.shields.io/github/last-commit/RandomCodeSpace/code-iq?style=flat-square&logo=github&label=Last%20Commit " alt =" Last Commit " ></a >
23- <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/badge/detectors-97-brightgreen?style=flat-square&logo=codefactor&logoColor=white " alt =" 97 Detectors " ></a >
23+ <a href =" https://pypi.org/project/osscodeiq/ " ><img src =" https://img.shields.io/pypi/v/osscodeiq?style=flat-square&logo=pypi&logoColor=white&label=PyPI " alt =" PyPI " ></a >
24+ <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/badge/detectors-115-brightgreen?style=flat-square&logo=codefactor&logoColor=white " alt =" 115 Detectors " ></a >
2425 <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/badge/languages-35-blue?style=flat-square&logo=stackblitz&logoColor=white " alt =" 35 Languages " ></a >
25- <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/badge/tests-1662 -brightgreen?style=flat-square&logo=pytest&logoColor=white " alt =" 1662 Tests" ></a >
26+ <a href =" https://github.com/RandomCodeSpace/code-iq " ><img src =" https://img.shields.io/badge/tests-2146 -brightgreen?style=flat-square&logo=pytest&logoColor=white " alt =" 2146 Tests" ></a >
2627</p >
2728
2829---
2930
30- ** OSSCodeIQ** scans codebases to build a deterministic knowledge graph of code relationships — classes, methods, endpoints, entities, dependencies, infrastructure resources, auth patterns, and more. 97 detectors across 35 languages, 3 storage backends (NetworkX, SQLite, KuzuDB), interactive flow diagrams , and zero AI dependency.
31+ ** OSSCodeIQ** scans codebases to build a deterministic knowledge graph of code relationships — classes, methods, endpoints, entities, dependencies, infrastructure resources, auth patterns, and more. 115 detectors across 35 languages, 3 storage backends (NetworkX, SQLite, KuzuDB), interactive web UI, REST API, MCP server , and zero AI dependency.
3132
3233## Features
3334
34- - ** 97 detectors** across 35 languages — Java, Python, TypeScript, Go, C#, Rust, Kotlin, and more
35+ - ** 115 detectors** across 35 languages — Java, Python, TypeScript, Go, C#, Rust, Kotlin, and more
3536- ** Framework detection** — Spring Boot, Django, Flask, FastAPI, Express, NestJS, Gin, Echo, Actix-web, Axum, Quarkus, Micronaut, Prisma, Sequelize, Mongoose, Pydantic, Entity Framework Core, and 60+ more
3637- ** Auth/security detection** — Spring Security, Django Auth, FastAPI Auth, NestJS Guards, Passport/JWT, LDAP, Azure AD, mTLS, CSRF, session/cookie auth
3738- ** Frontend detection** — React, Vue, Angular, Svelte components, hooks, frontend routes (React Router, Vue Router, Next.js, Remix)
3839- ** Infrastructure** — Terraform, Kubernetes, Docker Compose, Helm Charts, CloudFormation, Bicep, GitLab CI, GitHub Actions
3940- ** Layer classification** — Every node tagged as ` frontend ` , ` backend ` , ` infra ` , ` shared ` , or ` unknown `
40- - ** Flow diagrams** — Generate interactive Mermaid architecture diagrams with drill-down (CI, Deploy, Runtime, Auth views)
41+ - ** Web Explorer UI** — NiceGUI-powered progressive drill-down card interface with light/dark/system themes, animations, and search
42+ - ** MCP Tool Console** — Interactive terminal in the web UI for executing MCP graph queries
43+ - ** Flow diagrams** — Interactive Cytoscape.js architecture diagrams with drill-down (CI, Deploy, Runtime, Auth views)
44+ - ** REST API + MCP server** — 20+ REST endpoints and 20 MCP tools on a single port
4145- ** 3 storage backends** — NetworkX (in-memory), SQLite (file-based), KuzuDB (Cypher queries)
42- - ** Bundle & distribute** — Package the graph DB + interactive HTML into a zip for sharing
46+ - ** Bundle & distribute** — Package graph DB + source code + interactive HTML into a zip for Nexus/artifact publishing
4347- ** 100% deterministic** — Same input, same output, every time, on every backend
4448- ** Plugin system** — Auto-discovered detectors + setuptools entry points for external plugins
4549
4650## Quick Start
4751
4852``` bash
49- # Install
50- pip install -e .
53+ # Install from PyPI
54+ pip install osscodeiq
5155
5256# Analyze a codebase
5357osscodeiq analyze /path/to/repo
5458
59+ # Start the web UI + REST API + MCP server
60+ osscodeiq serve /path/to/repo
61+ # Open http://localhost:8000 — Explorer UI with drill-down cards, flow diagrams, MCP console
62+
5563# Generate architecture flow diagram
5664osscodeiq flow /path/to/repo --format html --output flow.html
5765
@@ -64,8 +72,8 @@ osscodeiq find unprotected /path/to/repo
6472osscodeiq analyze /path/to/repo --backend kuzu
6573osscodeiq cypher " MATCH (e:CodeNode {kind: 'endpoint'})-[]->(s:CodeNode) RETURN e.label, s.label LIMIT 20" /path/to/repo --backend kuzu
6674
67- # Bundle for distribution
68- osscodeiq bundle /path/to/repo --tag v2.1.0 --backend kuzu
75+ # Bundle for distribution (graph DB + source code + visualizations)
76+ osscodeiq bundle /path/to/repo --tag v2.1.0 --backend sqlite
6977```
7078
7179## Supported Languages & Frameworks
@@ -114,7 +122,7 @@ osscodeiq analyze /path/to/repo
114122 |
115123 v
116124+------------------+
117- | 97 Detectors | Auto-discovered via pkgutil, 8 parallel workers
125+ | 115 Detectors | Auto-discovered via pkgutil, adaptive parallel workers
118126+--------+---------+
119127 |
120128 v
@@ -169,23 +177,53 @@ osscodeiq flow ./my-project --format html --output flow.html
169177
170178| Backend | Type | Cypher | Bundleable | Use Case |
171179| ---------| ------| --------| ------------| ----------|
172- | ** NetworkX ** | In-memory | No | Via JSON | Default, fastest for analysis |
173- | ** SQLite ** | File | No | .db file | Persistent, zero dependencies |
180+ | ** SQLite ** | File | No | .db file | Default, persistent, zero dependencies |
181+ | ** NetworkX ** | In-memory | No | Via JSON | Fast in-process use |
174182| ** KuzuDB** | File | Yes | Directory | Cypher queries, agentic AI |
175183
176184``` bash
177- osscodeiq analyze ./repo --backend kuzu
178- osscodeiq analyze ./repo --backend sqlite
185+ osscodeiq analyze ./repo # SQLite (default)
186+ osscodeiq analyze ./repo --backend kuzu # KuzuDB with Cypher
187+ osscodeiq analyze ./repo --backend networkx # In-memory
188+ ```
189+
190+ ## Web UI & Server
191+
192+ Start a unified server with Explorer UI, REST API, and MCP server on a single port:
193+
194+ ``` bash
195+ osscodeiq serve /path/to/repo
179196```
180197
198+ ** Explorer UI** (` /ui ` ) — Progressive drill-down card interface:
199+ - Browse by node kind (Endpoints, Entities, Classes, Guards, etc.)
200+ - Click "Explore" to drill into individual nodes
201+ - Click "Details" on any card for a full modal with properties, edges, and source location
202+ - Client-side search filtering (no server round-trip)
203+ - Light, dark, and system theme support with runtime toggle
204+
205+ ** MCP Console** — Interactive terminal tab for executing MCP tools:
206+ - 20 tools: ` get_stats ` , ` search_graph ` , ` trace_impact ` , ` find_cycles ` , etc.
207+ - Type ` help ` to see all available commands
208+
209+ ** REST API** (` /api ` ) — 20+ endpoints for programmatic access:
210+ - ` /api/kinds ` — Node kinds with counts
211+ - ` /api/kinds/{kind} ` — Paginated nodes by kind
212+ - ` /api/nodes/{id}/detail ` — Full node detail with edges
213+ - ` /api/stats ` , ` /api/nodes ` , ` /api/edges ` , ` /api/search ` , ` /api/flow ` and more
214+ - Full OpenAPI docs at ` /docs `
215+
216+ ** MCP Server** (` /mcp ` ) — 20 tools via streamable HTTP for AI-powered triage
217+
181218## Development
182219
183220``` bash
184221git clone https://github.com/RandomCodeSpace/code-iq.git
185- cd osscodeiq
222+ cd code-iq
186223pip install -e " .[dev]"
187- pytest # 1,662 tests
188- osscodeiq analyze . # Analyze this repo
224+ pytest # 2,146 tests
225+ osscodeiq analyze . # Analyze this repo
226+ osscodeiq serve . # Start the web UI
189227```
190228
191229### Adding a New Detector
@@ -212,7 +250,7 @@ class MyDetector:
212250## Requirements
213251
214252- Python 3.11+
215- - Dependencies: typer, rich, tree-sitter, networkx, lxml, pyyaml, sqlparse, pydantic
253+ - Dependencies: typer, rich, tree-sitter, networkx, lxml, pyyaml, sqlparse, pydantic, fastapi, uvicorn, fastmcp, nicegui
216254- Optional: ` pip install kuzu ` for KuzuDB backend
217255
218256## License
0 commit comments