Skip to main content

Codeknow

Turn any codebase into a queryable knowledge graph. Health scores, drift detection, impact analysis, onboarding guides -- all from your AST.

Why Codeknow?

Most code intelligence tools need embeddings, vector stores, or LLM API keys before they do anything useful. Codeknow builds a real graph from your source code using tree-sitter AST parsing -- 25+ languages, zero configuration, no API keys required. The graph is a NetworkX DiGraph: nodes are symbols (functions, classes, modules), edges are relationships (imports, calls, inheritance). Every analysis command operates on this graph directly.

It works standalone or as a force multiplier for AI coding assistants (Claude Code, Cursor, Gemini CLI, Codex, and more).

Quick Start

pip install codeknow

cd your-project/
codeknow .

That's it. Open codegraph-out/graph.html for the interactive visualization, or codegraph-out/GRAPH_REPORT.md for the architectural report.

Core Commands

Command What it does
codeknow <path> Build knowledge graph from source code
codeknow debt Composite health score (0-100) with letter grade
codeknow drift snapshot Save current architecture as a named baseline
codeknow drift compare Detect what changed since the last baseline
codeknow onboard Generate a guided codebase tour from graph topology
codeknow impact "<file>" Blast radius -- what breaks if you change this?
codeknow test-impact Which tests to run for your changed files
codeknow security Attack surface analysis: source-to-sink path tracing
codeknow owners Git-blame overlay: knowledge silos, bus factor, orphaned code
codeknow refactor-plan "<target>" Safe refactoring order with dependency-aware risk assessment

Example: codeknow debt

  ARCHITECTURAL DEBT SCORE
  ========================================

    72.4 / 100   [B]

  Graph: 1,247 nodes, 3,891 edges, 18 communities

  BREAKDOWN
  ----------------------------------------
  [========      ]  God Node Concentration (25%)
                    Top nodes: Router(47), Database(38), Config(31)
  [===========   ]  Cross-Community Coupling (25%)
                    412/3891 edges cross boundaries
  [=============]   Import Cycles (20%)
                    0 cycle(s) detected
  [=========     ]  Community Cohesion (20%)
                    Avg density: 34% across 18 communities
  [============  ]  Dead Code (10%)
                    89/1247 nodes unreferenced (7%)

  RECOMMENDATIONS
  ----------------------------------------
  1. Split Router (degree 47) -- extract route groups into sub-modules
  2. Reduce coupling between Community 3 <-> Community 7 (28 edges)

All Commands

Command Description
codeknow <path> Build knowledge graph from source code
codeknow update Incrementally rebuild only changed files
codeknow debt Architectural debt score (0-100) with CI gating (--threshold)
codeknow drift snapshot Save current graph as a named baseline
codeknow drift compare Compare current graph against a baseline
codeknow drift history List saved baselines
codeknow changelog Git-aware architectural changelog (--since 2w, --ref HEAD~10)
codeknow onboard Guided codebase tour from graph topology
codeknow impact "<file>" Blast radius analysis with risk assessment
codeknow test-impact Map changed files to affected tests (pipe to xargs pytest)
codeknow security Attack surface: source-to-sink path tracing
codeknow owners Ownership analysis: knowledge silos, bus factor, --codeowners generation
codeknow refactor-plan "<target>" Dependency-aware refactoring plan with safe ordering
codeknow tui Interactive terminal navigator (keyboard-driven, no dependencies)
codeknow dashboard Live architecture dashboard at localhost:8787
codeknow affected "<node>" Reverse traversal: all nodes impacted by a change
codeknow simulate remove "<node>" Simulate removing a node -- cascade analysis
codeknow simulate merge "<A>" "<B>" Simulate merging two modules
codeknow simulate refactor "<a>" "<b>" --into <name> Simulate extracting nodes into a new module
codeknow discover Detect latent connections, bridges, capability clusters
codeknow features Identify product features from code structure
codeknow patterns Match against 10 software architecture patterns
codeknow diagnose Diagnose architectural issues
codeknow reflect Generate architectural reflection from saved Q&A
codeknow explain "<node>" Explain a node and its connections
codeknow path "<A>" "<B>" Shortest path between two concepts
codeknow query "<question>" Natural language query (requires LLM)
codeknow tree Interactive collapsible dependency tree (HTML)
codeknow god-nodes List the most connected nodes
codeknow prs PR dashboard: CI state, review status
codeknow export html|neo4j|obsidian|svg|graphml|callflow-html|wiki Export to various formats
codeknow global add <path> Add a repo to the cross-repo global graph
codeknow benchmark Measure token reduction vs naive full-corpus approach

All commands support --json for machine-readable output.

Supported Languages (25+)

Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, C#, Ruby, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, Fortran, Bash, Groovy, Apex, Dart, Pascal, OCaml, Common Lisp, Terraform (HCL), Robot Framework, DM (BYOND), Razor, Blade, SQL, JSON/config, Markdown

Language detection is automatic. Each language has a dedicated tree-sitter extractor.

How It Works

Source Code
    |
    v
[tree-sitter AST parsing] -- per-language extractors for 25+ languages
    |
    v
[Symbol extraction] -- functions, classes, modules, imports, calls
    |
    v
[Cross-file resolution] -- resolve imports, inheritance, call chains
    |
    v
[NetworkX DiGraph] -- nodes = symbols, edges = relationships
    |
    v
[Analysis / Simulation / Visualization]
    |--- Debt scoring (health grade 0-100)
    |--- Drift detection (baseline snapshots)
    |--- Impact & test-impact analysis
    |--- Security (source-to-sink tracing)
    |--- Simulation engine (remove, merge, refactor)
    |--- Discovery engine (latent connections, features, patterns)
    |--- Interactive HTML + TUI + dashboard
    |--- Export (Neo4j, Obsidian, SVG, GraphML)

Zero-LLM default mode: The core pipeline (parse, build, analyze, simulate, discover, debt, drift, onboard, security, test-impact, owners, refactor-plan) works without any API key. LLM integration is optional for natural language queries, enriched reports, and community labeling.

AI Agent Integration

codeknow install claude              # Claude Code
codeknow install cursor              # Cursor
codeknow install gemini              # Gemini CLI
codeknow install codex               # OpenAI Codex
codeknow install kilo                # Kilo Code
codeknow install vscode              # VS Code Copilot Chat
codeknow install antigravity         # Google Antigravity
codeknow install kiro                # Kiro IDE/CLI

An MCP server is also available:

pip install "codeknow[mcp]"
codeknow-mcp                        # exposes suggest_refactoring + impact_analysis tools

CI Integration

Use codeknow debt --threshold as a CI quality gate:

# .github/workflows/codeknow.yml
- name: Architecture health check
  run: |
    pip install codeknow
    codeknow . --code-only
    codeknow debt --threshold 60

Use codeknow test-impact --changed to run only affected tests:

- name: Smart test selection
  run: |
    codeknow test-impact --changed | xargs pytest

Optional Extras

pip install "codeknow[mcp]"          # MCP server for AI coding assistants
pip install "codeknow[openai]"       # OpenAI LLM integration
pip install "codeknow[anthropic]"    # Anthropic LLM integration
pip install "codeknow[ollama]"       # Ollama (local LLM) integration
pip install "codeknow[neo4j]"        # Neo4j graph database export
pip install "codeknow[falkordb]"     # FalkorDB graph database export
pip install "codeknow[pdf]"          # PDF document ingestion
pip install "codeknow[watch]"        # File watcher for live rebuilds
pip install "codeknow[svg]"          # Static SVG diagram export
pip install "codeknow[office]"       # Word/Excel document ingestion
pip install "codeknow[video]"        # Video transcription ingestion
pip install "codeknow[postgres]"     # PostgreSQL schema introspection
pip install "codeknow[all]"          # Everything

Requirements

  • Python 3.10+
  • No API keys required for core functionality

License

MIT License. See LICENSE for details.

Metadata

Release files for codeknow 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codeknow 1.1.2
File Size Uploaded Provenance
codeknow-1.1.2.tar.gz 891.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for codeknow 1.1.2
File Interpreter ABI Platform
codeknow-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / codeknow-1.1.2.tar.gz

Download URL codeknow-1.1.2.tar.gz
Size 891.2 kB
Tags Source
SHA-256 checksum
How to use checksums
484e281d6c2e0045f3286a04d98be5551791292e511c8956b6ea4294dd95380c
BLAKE2b-256 checksum
How to use checksums
a970c9755a22fb9adc6c7e864eea03e1cc35f26daf9903b9f109c2c1a1bbab94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / codeknow-1.1.2-py3-none-any.whl

Download URL codeknow-1.1.2-py3-none-any.whl
Size 941.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
449509cbb1b50e030b5a983b734d8b8fe87776f1e3b4d546d74d11dc733f567b
BLAKE2b-256 checksum
How to use checksums
0146bd649a07c74601d72af6615dc349636983182794d3f0b921efa0b4b65c0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for codeknow 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page