Skip to content

Commit 78135b0

Browse files
aksOpsclaude
andcommitted
docs: update README with Explorer UI, MCP console, correct stats
- Update detector count: 97 → 115 - Update test count: 1,662 → 2,146 - Add PyPI badge - Add Web UI & Server section (Explorer, MCP Console, REST API, MCP) - Add pip install osscodeiq to Quick Start - Update storage backends table (SQLite as default) - Add nicegui to requirements list Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5ad4807 commit 78135b0

1 file changed

Lines changed: 57 additions & 19 deletions

File tree

README.md

Lines changed: 57 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,38 +20,46 @@
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
5357
osscodeiq 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
5664
osscodeiq flow /path/to/repo --format html --output flow.html
5765

@@ -64,8 +72,8 @@ osscodeiq find unprotected /path/to/repo
6472
osscodeiq analyze /path/to/repo --backend kuzu
6573
osscodeiq 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
184221
git clone https://github.com/RandomCodeSpace/code-iq.git
185-
cd osscodeiq
222+
cd code-iq
186223
pip 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

Comments
 (0)