Code Graph Analysis Pipeline
Fully automated pipeline for static code graph analysis
Install / Use
npx skills add JohT/code-graph-analysis-pipelineInstalls 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
--domainor 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
gh-issues
385.5kFetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.
browser-automation
385.5kUse when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.
imsg
385.5kUse the imsg CLI from OpenClaw agents for iMessage/SMS DMs, groups, replies, reactions, polls, watching, and private-API actions.
lobster
385.5kLobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation | User intent | Use Lobster?
