Skip to main content

CLI tool for intelligent code graph discovery and analysis

Project description

OSSCodeIQ

Deterministic code graph discovery and analysis CLI — no AI, pure pattern matching

CI Beta Build Release Python 3.11+ MIT License SBOM + Dependency Audit Sonarcloud Security Sonarcloud Reliability Sonarcloud Maintainability Sonarcloud Bugs Sonarcloud Vulnerabilities Stars Issues Last Commit 97 Detectors 35 Languages 1662 Tests


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.

Features

  • 97 detectors across 35 languages — Java, Python, TypeScript, Go, C#, Rust, Kotlin, and more
  • 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
  • Auth/security detection — Spring Security, Django Auth, FastAPI Auth, NestJS Guards, Passport/JWT, LDAP, Azure AD, mTLS, CSRF, session/cookie auth
  • Frontend detection — React, Vue, Angular, Svelte components, hooks, frontend routes (React Router, Vue Router, Next.js, Remix)
  • Infrastructure — Terraform, Kubernetes, Docker Compose, Helm Charts, CloudFormation, Bicep, GitLab CI, GitHub Actions
  • Layer classification — Every node tagged as frontend, backend, infra, shared, or unknown
  • Flow diagrams — Generate interactive Mermaid architecture diagrams with drill-down (CI, Deploy, Runtime, Auth views)
  • 3 storage backends — NetworkX (in-memory), SQLite (file-based), KuzuDB (Cypher queries)
  • Bundle & distribute — Package the graph DB + interactive HTML into a zip for sharing
  • 100% deterministic — Same input, same output, every time, on every backend
  • Plugin system — Auto-discovered detectors + setuptools entry points for external plugins

Quick Start

# Install
pip install -e .

# Analyze a codebase
osscodeiq analyze /path/to/repo

# Generate architecture flow diagram
osscodeiq flow /path/to/repo --format html --output flow.html

# Query the graph
osscodeiq find endpoints /path/to/repo
osscodeiq find guards /path/to/repo
osscodeiq find unprotected /path/to/repo

# Use Cypher queries (KuzuDB backend)
osscodeiq analyze /path/to/repo --backend kuzu
osscodeiq cypher "MATCH (e:CodeNode {kind: 'endpoint'})-[]->(s:CodeNode) RETURN e.label, s.label LIMIT 20" /path/to/repo --backend kuzu

# Bundle for distribution
osscodeiq bundle /path/to/repo --tag v2.1.0 --backend kuzu

Supported Languages & Frameworks

Java (28 detectors)

Spring REST, Spring Security, JPA/Hibernate, Kafka, RabbitMQ, JMS, gRPC, JAX-RS, WebSocket, Azure Functions, Cosmos DB, IBM MQ, TIBCO EMS, Quarkus, Micronaut

Python (12 detectors)

Flask, Django (views + models), FastAPI, SQLAlchemy, Celery, Pydantic, Kafka (confluent/aiokafka), general structures (classes, functions, imports)

TypeScript/JavaScript (22 detectors)

Express, NestJS, Fastify, Remix, GraphQL, TypeORM, Prisma, Sequelize, Mongoose, KafkaJS, React, Vue, Angular, Svelte, frontend routes

Go (3 detectors)

Gin, Echo, Chi, gorilla/mux, net/http endpoints + GORM, sqlx, database/sql + general structures

C# (4 detectors)

Entity Framework Core, Minimal APIs, ASP.NET Core, Azure Functions

Rust (2 detectors)

Actix-web, Axum + general structures (traits, impls, macros)

Kotlin (2 detectors)

Ktor + general structures (sealed/enum/annotation classes, extension functions)

Infrastructure & Config (16 detectors)

Terraform, Kubernetes, K8s RBAC, Docker Compose, Dockerfile, Bicep, GitHub Actions, GitLab CI, Helm Charts, CloudFormation, JSON, YAML, TOML, INI, Properties, Markdown, Proto

Auth & Security (9 detectors)

Spring Security, Django Auth, FastAPI Auth, NestJS Guards, Passport/JWT, K8s RBAC, LDAP, TLS/Certificate/Azure AD, Session/Header/CSRF

Architecture

osscodeiq analyze /path/to/repo
        |
        v
+------------------+
| File Discovery   |  git ls-files + extension/filename mapping (35 languages)
+--------+---------+
         |
         v
+------------------+
| Parsing Layer    |  Tree-sitter (Java/Python/TS/JS) + structured parsers
+--------+---------+
         |
         v
+------------------+
| 97 Detectors     |  Auto-discovered via pkgutil, 8 parallel workers
+--------+---------+
         |
         v
+------------------+
| Layer Classifier |  frontend / backend / infra / shared / unknown
+--------+---------+
         |
         v
+------------------+
| Cross-file       |  Topic linking, entity-repo matching, module containment
| Linkers          |
+--------+---------+
         |
         v
+------------------+
| Graph Backend    |  NetworkX (memory) | SQLite (file) | KuzuDB (Cypher)
+------------------+
         |
         v
+------------------+
| Output           |  JSON | YAML | Mermaid | DOT | Interactive HTML
+------------------+

Flow Diagrams

Generate architecture flow diagrams with drill-down views:

# High-level overview
osscodeiq flow ./my-project --format mermaid

# Drill into specific layers
osscodeiq flow ./my-project --view ci       # CI/CD pipeline
osscodeiq flow ./my-project --view deploy   # Deployment topology
osscodeiq flow ./my-project --view runtime  # Service architecture
osscodeiq flow ./my-project --view auth     # Security coverage

# Interactive HTML with click-to-drill
osscodeiq flow ./my-project --format html --output flow.html

Graph Model

Node Types (31)

module package class method endpoint entity repository query migration topic queue event interface abstract_class enum annotation_type protocol_message config_file config_key config_definition database_connection infra_resource azure_resource azure_function message_queue websocket_endpoint rmi_interface component guard middleware hook

Edge Types (26)

depends_on imports extends implements calls injects exposes queries maps_to produces consumes publishes listens invokes_rmi exports_rmi reads_config migrates contains defines overrides connects_to triggers provisions sends_to receives_from protects renders

Storage Backends

Backend Type Cypher Bundleable Use Case
NetworkX In-memory No Via JSON Default, fastest for analysis
SQLite File No .db file Persistent, zero dependencies
KuzuDB File Yes Directory Cypher queries, agentic AI
osscodeiq analyze ./repo --backend kuzu
osscodeiq analyze ./repo --backend sqlite

Development

git clone https://github.com/RandomCodeSpace/code-iq.git
cd osscodeiq
pip install -e ".[dev]"
pytest                    # 1,662 tests
osscodeiq analyze . # Analyze this repo

Adding a New Detector

Just create a file — auto-discovered, zero registration:

# src/osscodeiq/detectors/python/my_detector.py
from osscodeiq.detectors.base import DetectorContext, DetectorResult
from osscodeiq.detectors.utils import decode_text
from osscodeiq.models.graph import GraphNode, NodeKind, SourceLocation

class MyDetector:
    name = "my_detector"
    supported_languages = ("python",)

    def detect(self, ctx: DetectorContext) -> DetectorResult:
        result = DetectorResult()
        text = decode_text(ctx)
        # Your detection logic here
        return result

Requirements

  • Python 3.11+
  • Dependencies: typer, rich, tree-sitter, networkx, lxml, pyyaml, sqlparse, pydantic
  • Optional: pip install kuzu for KuzuDB backend

License

MIT License. See LICENSE for details.


Built with intelligence. No AI required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osscodeiq-0.0.2.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

osscodeiq-0.0.2-py3-none-any.whl (443.1 kB view details)

Uploaded Python 3

File details

Details for the file osscodeiq-0.0.2.tar.gz.

File metadata

  • Download URL: osscodeiq-0.0.2.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for osscodeiq-0.0.2.tar.gz
Algorithm Hash digest
SHA256 930f3f33f9f5c3c2a1912eaf457f27ca5205813dd6109375078093dbb0f1845d
MD5 dd2b7536c0447d1082e15b120561521a
BLAKE2b-256 7a07e55ac98185800f6af531e1bc8ca5f40206272ce6360a6632cc7138f95382

See more details on using hashes here.

Provenance

The following attestation bundles were made for osscodeiq-0.0.2.tar.gz:

Publisher: publish.yml on RandomCodeSpace/code-iq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file osscodeiq-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: osscodeiq-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 443.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for osscodeiq-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0762714369cc4a8e3c5aa8c051a0283b752d4ffe531bf2a0511ba4187e234203
MD5 a30c76b1860e50cd45d07ad23400df17
BLAKE2b-256 ef44dbf12d660c6cc2a9c06c7c8f6e64f7840eb1f91079197dd043f7f30ef193

See more details on using hashes here.

Provenance

The following attestation bundles were made for osscodeiq-0.0.2-py3-none-any.whl:

Publisher: publish.yml on RandomCodeSpace/code-iq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page