building-java-knowledge-graph

Analyse les projets JVM (Java/Kotlin/Scala/Groovy) et génère des graphes de connaissances avec l'analyse tree-sitter. Nécessite Python 3 sur l'hôte et un projet JVM avec…

npx skills add https://github.com/microsoft/github-copilot-modernization --skill building-java-knowledge-graph

Prerequisites

Step 1 — Verify JVM project:

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:

python3 --version 2>/dev/null || python --version 2>/dev/null

If unavailable: skip this skill with same fallback as above.

Quick Start

# 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

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
agent-framework-azure-ai-py
microsoft
Créez des agents Azure AI Foundry à l’aide du SDK Python Microsoft Agent Framework (agent-framework-azure-ai). À utiliser lors de la création d’agents persistants avec AzureAIAgentsProvider, de l’utilisation d’outils hébergés (interpréteur de code, recherche de fichiers, recherche web), de l’intégration de serveurs MCP, de la gestion de fils de conversation ou de l’implémentation de réponses en streaming. Couvre les outils de fonction, les sorties structurées et les agents multi-outils.
development
airunway-aks-setup
microsoft
Configurez AI Runway sur AKS — du cluster nu au modèle en cours d'exécution. Couvre la vérification du cluster, l'installation du contrôleur, l'évaluation GPU, la configuration du fournisseur et le premier déploiement. QUAND : « configurer AI Runway », « intégrer un cluster AKS », « installer AI Runway », « configuration airunway », « déployer un modèle sur AKS », « inférence GPU sur AKS », « configuration KAITO sur AKS », « exécuter LLM sur AKS », « vLLM sur AKS », « configurer le service de modèles sur AKS », « contrôleur AI Runway ».
devops
appinsights-instrumentation
microsoft
Conseils pour instrumenter les applications web avec Azure Application Insights. Fournit des modèles de télémétrie, la configuration du SDK et des références de configuration. QUAND : comment instrumenter une application, SDK App Insights, modèles de télémétrie, qu'est-ce qu'App Insights, conseils sur Application Insights, exemples d'instrumentation, bonnes pratiques APM.
devops
applicationinsights-web-ts
microsoft
Instrumentez les applications navigateur/web avec le SDK JavaScript Application Insights (@microsoft/applicationinsights-web). Utilisez-le pour la surveillance des utilisateurs réels (RUM) — vues de page, clics, dépendances AJAX/fetch, exceptions, événements personnalisés et traces d’agents GenAI côté navigateur corrélées aux traces OpenTelemetry backend. Couvre le script de chargement du SDK et la configuration npm, les extensions de framework (React, React Native, Angular), Click Analytics, les initialiseurs de télémétrie et les conventions sémantiques OTel GenAI pour les spans d’agents/outils/modèles émises depuis le navigateur.
devops
azure-ai-anomalydetector-java
microsoft
Créez des applications de détection d'anomalies avec le SDK Azure AI Anomaly Detector pour Java. Utilisez-le lors de l'implémentation de la détection d'anomalies univariées/multivariées, de l'analyse de séries temporelles ou de la surveillance basée sur l'IA.
development
azure-ai-language-conversations-py
microsoft
Implémentez la compréhension du langage conversationnel (CLU) à l’aide du SDK Python azure-ai-language-conversations. Utilisez-le lorsque vous travaillez avec ConversationAnalysisClient pour analyser l’intention et les entités d’une conversation, créer des fonctionnalités de NLP ou intégrer la compréhension du langage dans des applications.
development
azure-ai-ml-py
microsoft
SDK v2 d’Azure Machine Learning pour Python. Utiliser pour les espaces de travail ML, les tâches, les modèles, les jeux de données, le calcul et les pipelines. Déclencheurs : « azure-ai-ml », « MLClient », « espace de travail », « registre de modèles », « tâches d’entraînement », « jeux de données ».
development