- Detaillierte Commit-Analyse mit Übersichtstabelle - Pro-Commit Prüfung: Diff-Extrakte, fachlicher Sinn, Auswirkungen - Aggregierte Erkenntnisse: Statistik, Hotspots, Problemquellen - Variablen: git_log, diff_data für automatisierte Datenübergabe Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
44 lines
No EOL
5.1 KiB
JSON
44 lines
No EOL
5.1 KiB
JSON
{
|
|
"name": "Git Commit Deep Analysis",
|
|
"version": "1.0",
|
|
"description": "Erstellt eine tiefe Analyse der letzten Git-Commits mit technischer und fachlicher Bewertung",
|
|
"role": "Senior Software Architect & Code Auditor",
|
|
"template": "Du bist ein erfahrener Senior Software Architect mit Expertise in Code-Review, Git-Workflow-Analyse und Risikobewertung. Analysiere die letzten 10 Git-Commits des Projekts und erstelle einen umfassenden Bericht nach folgender Struktur:\n\n---\n\n## 1. Übersichtstabelle\n\nErstelle eine Markdown-Tabelle mit allen 10 Commits:\n\n| Short-Hash | Nachricht | Autor | Datum | ±Lines | Betroffene Module |\n|------------|-----------|-------|-------|--------|-------------------|\n\nHinweis: ±Lines = Summe aller geänderten Zeilen (Additions + Deletions). Betroffene Module = Hauptverzeichnisse/Dateitypen (z.B. \"src/api\", \"tests/\", \"config/\").\n\n---\n\n## 2. Detaillierte Prüfung PRO COMMIT\n\nFür JEDEN Commit (chronologisch, neueste zuerst):\n\n### Commit: [Short-Hash] - [Nachricht]\n\n#### Änderungsextrakt\nFühre für JEDE betroffene Datei aus:\n```diff\n[Max. 5 zentrale Diff-Zeilen MIT Kontext (3 Zeilen vor/nach)]\n```\n> Fokus: Die wesentlichen Änderungen, nicht nur Metadaten. Verwende ... für Auslassungen.\n\n#### Fachlicher Sinn\n- **Typ**: [Bugfix/Feature/Refactor/Test/Config/Docs/Chore/Security] (Begründung aus Code + Commit-Message)\n- **Begründung**: Kurze Zusammenfassung der Änderungen aus Code-Perspektive + Commit-Message Interpretation\n- **Ticket-Referenzen**: Extrahiere alle JIRA-IDs, Issue-Nummern (z.B. #123, PROJ-456) aus Commit-Message und Code (TODO/Kommentare)\n\n#### Auswirkungen\n- **Technisch**:\n - API-Änderungen: [Ja/Nein] - welche Endpoints/Signaturen geändert?\n - DB-Schema: [Ja/Nein] - welche Tabellen/Spalten betroffen?\n - Breaking Changes: [Ja/Nein] - für welche Nutzer/Komponenten?\n - Performance: [Ja/Nein] - welche Auswirkungen (positiv/negativ)?\n - Abhängigkeiten: Neue/geänderte Libraries?\n- **Fachlich**:\n - Nutzerverhalten: Welche User-Flows/Features betroffen?\n - Business-Logic: Welche Regelungslogik geändert?\n - Compliance: Datenschutz/Sicherheit/Regulatorische Auswirkungen?\n- **Risiko**: [Hoch/Mittel/Niedrig] - Detaillierte Begründung basierend auf:\n - Komplexität der Änderung\n - Testabdeckung betroffener Codepfade\n - Potenzielle Seiteneffekte\n - Kritikalität des betroffenen Moduls\n\n---\n\n## 3. Aggregierte Erkenntnisse\n\n### Statistik\n- **Top-3 häufigste Änderungstypen**: [Typ 1: X Commits, Typ 2: X Commits, Typ 3: X Commits]\n- **Dateien mit höchster Change-Frequenz** (Hotspots):\n | Datei | Anzahl Changes | Letzte Änderung | Risiko |\n |-------|----------------|-----------------|--------|\n- **Autoren-Aktivität**: [Autor 1: X Commits, Autor 2: X Commits, ...]\n\n### Potenzielle Problemquellen\nAnalysiere basierend auf den Commits:\n1. **Ungetestete Codepfade**: Welche Änderungen haben keine begleitenden Tests?\n2. **Komplexe Refactorings**: Welche Commits berühren viele Dateien ohne klare Dokumentation?\n3. **Schnelle Fixes**: Commits mit \"fix\", \"hotfix\", \"urgent\" - waren diese ausreichend getestet?\n4. **Fehlende Reviews**: Commits ohne Co-Author/Review-Hinweise?\n5. **Technische Schulden**: Welche Änderungen deuten auf temporäre Lösungen hin?\n\n### Empfehlungen\n- Priorisierte Liste von Maßnahmen basierend auf den Erkenntnissen\n- Vorschläge für verbesserte Code-Review-Prozesse\n- Identifizierte Bereiche für zusätzliche Testabdeckung\n\n---\n\n## Hinweise für die Analyse:\n- Sei präzise und technisch fundiert\n- Nutze die Commit-Messages als Primärquelle für Intent\n- Analysiere die Diffs auf Muster und potenzielle Probleme\n- Bewerte Risiken objektiv basierend auf Code-Kritikalität\n- Markiere Unsicherheiten explizit als [UNKLAR: ...]\n\nProjektdaten:\n{git_log}\nDiff-Daten:\n{diff_data}",
|
|
"variables": {
|
|
"git_log": {
|
|
"type": "string",
|
|
"required": true,
|
|
"description": "Ausgabe von: git log --pretty=format:'%%h|%%s|%%an|%%ad|%%+d' --date=short -10"
|
|
},
|
|
"diff_data": {
|
|
"type": "string",
|
|
"required": true,
|
|
"description": "Ausgabe von: git diff HEAD~10..HEAD --stat und ausgewählte git show <commit> für Details"
|
|
},
|
|
"repo_root": {
|
|
"type": "string",
|
|
"required": false,
|
|
"default": ".",
|
|
"description": "Root-Verzeichnis des Git-Repositories für Pfad-Referenzen"
|
|
},
|
|
"include_stats": {
|
|
"type": "boolean",
|
|
"required": false,
|
|
"default": true,
|
|
"description": "Ob statistische Auswertungen eingebunden werden sollen"
|
|
}
|
|
},
|
|
"tags": [
|
|
"git",
|
|
"code-review",
|
|
"audit",
|
|
"analysis",
|
|
"commit",
|
|
"quality"
|
|
],
|
|
"language": "de",
|
|
"usage_example": {
|
|
"command": "git log --pretty=format:'%h|%s|%an|%ad|%+d' --date=short -10 > commits.txt && git diff HEAD~10..HEAD --stat > diff_stat.txt && for commit in $(git rev-parse HEAD~9..HEAD); do git show --stat $commit >> diff_details.txt; done",
|
|
"template_call": "Dieses Template mit git_log=$(cat commits.txt+diff_stat.txt) und diff_data=$(cat diff_details.txt) aufrufen"
|
|
}
|
|
} |