SkillAgentSearch skills...

Code Graph Analysis Pipeline

Fully automated pipeline for static code graph analysis

Install / Use

npx skills add JohT/code-graph-analysis-pipeline

Installs into whichever agent you are using.

README

Code Graph Analysis Pipeline

<img src="./images/nano-banana GraphPipeline-1c.png" align="left" hspace="15" width="180">

This repository provides an automated code graph analysis pipeline built on jQAssistant and Neo4j. It supports Java and experimental TypeScript analysis, capturing both the structure and evolution of your code base.

Ever wondered which libraries matter most, how your modules build on each other, which parts have few contributors, which files change together, or where structural anomalies emerge?

This project helps uncover such patterns through graph-based analysis, visualization, and machine learning — offering hundreds of expert-level reports for deep code insights.

Curious? Explore the examples at code-graph-analysis-examples and get started with GETTING_STARTED.md :rocket:


:sparkles: Features

  • Analyze static code structure as a graph
  • Supports Java Code Analysis
  • Supports Typescript Code Analysis (experimental)
  • Supports multi-language analysis via SCIP (Go, Rust, C++, Ruby, Python, C# + more) — see SCIP.md
  • Fully automated pipeline for Java from tool installation to report generation
  • Fully automated pipeline for Typescript from tool installation to report generation
  • Fully automated local run
  • Easily integrable into your continuous integration pipeline
  • More than 200 CSV reports for dependencies, metrics, cycles, annotations, algorithms and many more
  • Python generated charts for dependencies, metrics, visibility and many more
  • Markdown summary reports for anomalies, archetypes, git history and many more
  • Anomaly detection powered by unsupervised machine learning and explainable AI
  • Graph structure visualization
  • Automated reference document generation
  • Runtime and library independent automation using shell scripts
  • Tested on MacOS (zsh), Linux (bash) and Windows (Git Bash)
  • Comprehensive list of Cypher queries
  • Example analysis for AxonFramework
  • Example analysis for react-router
  • Example SCIP-based analysis via analyzeReactRouterScip.sh

:newspaper: News

  • May 2026: Version 4.0.0 introduces independently-runnable analysis domains. Select specific domains via --domain or exclude with --exclude-domain. No more monolithic execution. See MIGRATION.md for details.
  • November 2025: Removed deprecated (since version 2.x) "graph-visualization" node package
  • November 2025: Treemap charts for anomalies and archetypes
  • October 2025: Graph visualizations for anomaly archetypes
  • October 2025: Anomaly archetypes with markdown summary
  • August 2025: Association rule mining for co-changing files in git history
  • August 2025: Anomaly detection powered by unsupervised machine learning and explainable AI
  • May 2025: Migrated to Neo4j 2025.x and Java 21.

:compass: Domains

The repository is organized first by problem space. Most functionality lives in self-contained domains under domains, each bundling the scripts, Cypher queries, templates, and exploratory notebooks for one analysis area.

The report types Csv, Python, Markdown, and Visualization are secondary execution modes selected via --report. They cut across domains, while --domain narrows a run to one domain. Not every domain implements every report type.

If you think in architecture terms: domains are the vertical slices, report types are the cross-cutting execution modes.

By default, three compute-intensive domains are deactivated to reduce analysis time: anomaly-detection, node-embeddings, and graph-algorithms. Activate them individually via --domain or include them with --exclude-domain "" to run all domains.

Analysis Domains

| Domain | Description | Java Example | TypeScript Example | Notebooks | Example Chart | |--------|-------------|--------------|--------------------|-----------|---------------| | Anomaly Detection | Machine-learning-supported structural anomaly detection | AxonFramework | react-router | Explore | Anomalies | | Archetypes | Structural roles: authority, bottleneck, and hub | AxonFramework | react-router | — | Treemap | | Cyclic Dependencies | Cycle analysis for Java artifacts, packages, and TypeScript modules | AxonFramework | react-router | Java , TypeScript | Cycle Graph | | External Dependencies | Usage of external libraries, packages, modules, and namespaces | AxonFramework | react-router | Java , TypeScript | Most Spread Packages | | Git History | Change frequency, co-change patterns, authorship, and repository evolution | AxonFramework | react-router | General , Correlation | Co-Changing Files | | Graph Algorithms | Centrality, communities, similarity, and other Graph Data Science results | AxonFramework | react-router | — | — | | Internal Dependencies | Internal structure, path finding, topological order, OOD metrics, visibility metrics, and word clouds | AxonFramework | react-router | Java , TypeScript | Code Wordcloud | | Java | Java code quality, method metrics, annotations, and artifact dependency analysis | AxonFramework | — | Method Metrics | [Artifact Dependencies](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonF

Related Skills

View on GitHub
GitHub Stars34
CategoryEducation
Updated5d ago
Forks1

Languages

Jupyter Notebook

Security Score

95/100

Audited on Aug 3, 2026

No findings