Skip to main content

building-java-knowledge-graph

Analyzes JVM projects (Java/Kotlin/Scala/Groovy) and generates knowledge graphs with tree-sitter parsing. Requires Python 3 on the host and a JVM project with Maven/Gradle/Ant/Ivy build files. Skips gracefully if either prerequisite is missing. Triggers when asked to "build knowledge graph", "analyze project structure", "parse Java codebase", or "generate dependency graph".

来源信息

仓库
microsoft/github-copilot-modernization
最近来源活动
2026年5月14日 05:11
检测到的 SKILL.md 语言
英语
星标
49
分支
14

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
6 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
building-java-knowledge-graph
description
Analyzes JVM projects (Java/Kotlin/Scala/Groovy) and generates knowledge graphs with tree-sitter parsing. Requires Python 3 on the host and a JVM project with Maven/Gradle/Ant/Ivy build files. Skips gracefully if either prerequisite is missing. Triggers when asked to "build knowledge graph", "analyze project structure", "parse Java codebase", or "generate dependency graph".
## Prerequisites **Step 1 — Verify JVM project:** ```bash find "$PROJECT_ROOT" -maxdepth 5 -type f \( -name "*.java" -o -name "*.kt" -o -name "*.scala" -o -name "*.groovy" \) | head -1 ``` > If no JVM files found: skip this skill. Set `knowledge_graph_dir` to `null` in `setup_artifacts`. Non-fatal — downstream agents fall back to direct source analysis. **Step 2 — Verify Python:** ```bash python3 --version 2>/dev/null || python --version 2>/dev/null ``` > If unavailable: skip this skill with same fallback as above. ## Quick Start ```bash # First-time setup (~1 minute) pip3 install --user 'tree-sitter<0.21' python3 scripts/install_grammars.py # Optional: SVG generation brew install graphviz # macOS # Analyze project python3 scripts/build_knowledge_graph.py /path/to/project output-dir ``` ⚠️ **DESTRUCTIVE OUTPUT**: The script wipes ALL files in `output-dir` before writing. **NEVER** point it at a shared directory like `{{BASE_PATH}}/` or `{{BASE_PATH}}/artifacts/`. Use a dedicated subdirectory: ``` # ✅ SAFE — dedicated subdirectory python3 scripts/build_knowledge_graph.py /path/to/project {{BASE_PATH}}/artifacts/kg_output # ❌ DANGER — will delete constitution.md, board.md, other artifacts! python3 scripts/build_knowledge_graph.py /path/to/project {{BASE_PATH}} ``` After the script finishes, copy `knowledge-graph.json` to `{{BASE_PATH}}/` for other agents to consume. ## What It Detects - **Build systems**: Maven (pom.xml), Gradle (build.gradle*), Ant (build.xml), Ivy (ivy.xml) - **Languages**: Java, Kotlin, Scala, Groovy via tree-sitter AST - **Structure**: Modules, packages, classes, interfaces, enums, annotations - **Relationships**: Inheritance, implementations, module dependencies - **Patterns**: Architecture layers (controller/service/repository/model/config/util) - **Config**: `application*.properties`, `application*.yaml/yml` - **Gradle subprojects**: `settings.gradle` parsing ## Output All outputs are written under **the provided artifact path** (pass as 2nd argument to the script). ``` knowledge-graph.json ← complete graph (nodes + edges) module-dependencies.{dot,svg} ← module dependency diagram module-{name}.{dot,svg} ← per-module class diagrams project-{name}.{dot,svg} ← complete project diagram ``` ## Resources - `references/schema.md` — node/edge types, ID patterns, fields, visualization colors - `references/querying.md` — jq and Python query examples - `scripts/build_knowledge_graph.py` — main analyzer - `scripts/install_grammars.py` — grammar installer
在 GitHub 查看