From 76b56e653398d42f0cfad19069088d0be6129455 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 13 Apr 2025 00:21:25 +0200
Subject: [PATCH] Add Optional Assignment: Meta Prompt

---
 README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 54 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index 0974c20..2508435 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 # 03_LLM_Assignment
 
-# Prompt: Du bist ein Experte für Softwareentwicklung und Git-Best Practices. Deine Aufgabe ist es, Git Commit Messages zu bewerten.
+## Prompt: Du bist ein Experte für Softwareentwicklung und Git-Best Practices. Deine Aufgabe ist es, Git Commit Messages zu bewerten.
 
-# Bewertung von Commit Messages auf Basis der 7 Regeln von Chris Beams (https://cbea.ms/git-commit/#seven-rules):
+## Bewertung von Commit Messages auf Basis der 7 Regeln von Chris Beams (https://cbea.ms/git-commit/#seven-rules):
 1. Separates Motiv vom Körper mit Leerleitung
 2. Begrenzen Sie die Betreffzeile auf 50 Zeichen
 3. Die Betreffzeile nutzen
@@ -11,14 +11,14 @@
 6. Wickeln Sie den Körper mit 72 Zeichen
 7. Verwenden Sie den Körper, um zu erklären, was und warum wiehow
 
-# Gib eine Bewertung von 1 bis 5 zurück:
+## Gib eine Bewertung von 1 bis 5 zurück:
 1 = sehr schlecht
 2 = schwach
 3 = durchschnittlich
 4 = gut
 5 = exzellent
 
-# Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Good") basierend auf den 7 Regeln von Chris Beams mithilfe von ChatGPT
+### Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Good") basierend auf den 7 Regeln von Chris Beams 
 
 | Commit Message | Score by ChatGPT | Score by Copilot |
 |----------------|------------------|------------------|
@@ -28,7 +28,7 @@
 | Update HierarchicalUriComponents.toUri() to only prepend a missing '/' when the scheme, user info, host or port are specified. This makes the toUri() method behave in the same way as .toUriString() and allows relative URIs to be created.  |  5   |  5   |
 | UriComponentsBuilder supports query without value  |  3   |  3   |
 
-# Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Bad") basierend auf den 7 Regeln von Chris Beams mithilfe von ChatGPT
+### Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Bad") basierend auf den 7 Regeln von Chris Beams 
 
 | Commit Message | Score by ChatGPT | Score by Copilot |
 |----------------|------------------|------------------|
@@ -36,4 +36,52 @@
 | re-adding mock.jndi.* artifacts to .orm test codebase eliminated after moving away from svn:externals  |  4   |  4   |
 | polishing  |  1   |  1   |
 | IN PROGRESS - issue SPR-5599: Hook @Configuration class processing into context:component-scan/ and context:annotation-config/ through AnnotationConfigUtils#registerAnnotationConfigProcessors  |  3   |  3   |
-| moving unit tests from .testsuite -> .core, .beans, .web, .web.portlet, .web.servlet  |  4   |  4   |
\ No newline at end of file
+| moving unit tests from .testsuite -> .core, .beans, .web, .web.portlet, .web.servlet  |  4   |  4   |
+
+# Optional Assignment: Meta Prompt – Let the LLM create a scoring prompt
+
+## Git Commit Message Scoring System
+
+Ein System zur Bewertung von Git-Commit-Nachrichten. Basierend auf den 7 Regeln für gute Commit-Nachrichten aus Chris Beams Blogpost "How to Write a Git Commit Message", wird eine Commit-Nachricht auf deren Qualität hin überprüft.
+
+## Meta-Prompt
+
+Der folgende Meta-Prompt wurde verwendet, um das Sprachmodell zu bitten, eine Bewertungsaufforderung für Git-Commit-Nachrichten basierend auf den 7 Regeln von Chris Beams zu erstellen:
+
+Erstelle eine Eingabeaufforderung, die eine Git-Commit-Nachricht anhand der 7 Regeln von Chris Beams für gute Commit-Nachrichten bewertet. Die 7 Regeln sind:
+1. Trenne die Betreffzeile vom Nachrichtentext durch eine Leerzeile.
+2. Begrenze die Betreffzeile auf maximal 50 Zeichen.
+3. Beginne die Betreffzeile mit einem Großbuchstaben.
+4. Beende die Betreffzeile nicht mit einem Punkt.
+5. Verwende den Imperativ in der Betreffzeile.
+6. Umbrüche im Nachrichtentext sollen nach 72 Zeichen erfolgen.
+7. Der Nachrichtentext sollte erklären, *was* und *warum* geändert wurde, nicht *wie*.
+
+## Bewertungsaufforderung (Antwort des Modells)
+
+Das Sprachmodell hat folgende Bewertungsaufforderung zur Analyse von Commit-Nachrichten erstellt:
+
+Besipeil Commit-Nachricht: "fix: Behebe Fehler bei der Anmeldung"
+
+1. Ist die Betreffzeile richtig formatiert? (Leerzeile zwischen Betreff und Nachricht) 
+2. Hat die Betreffzeile weniger als 50 Zeichen? 
+3. Beginnt die Betreffzeile mit einem Großbuchstaben? 
+4. Endet die Betreffzeile mit einem Punkt? 
+5. Wird der Imperativ in der Betreffzeile verwendet? 
+6. Ist der Nachrichtentext korrekt umgebrochen (72 Zeichen)? 
+7. Erklärt die Nachricht, was und warum geändert wurde? 
+
+Bewertung:
+1. Trennung von Betreffzeile und Nachrichtentext: Ja
+2. Länge der Betreffzeile: Ja (weniger als 50 Zeichen)
+3.  Großschreibung der Betreffzeile: Nein (Betreffzeile sollte mit einem Großbuchstaben beginnen)
+4. Punkt am Ende der Betreffzeile: Nein
+5. Verwendung des Imperativs: Ja (verwendet "Behebe")
+6. Umbrüche im Nachrichtentext: Ja (keine Probleme mit dem Umbruch)
+7. Erklärung von Was und Warum: Ja (erklärt, was geändert wurde, aber warum nicht ganz klar)
+
+Gesamtbewertung: 6 von 7
+
+## Zusammenfassung
+
+Mit diesem System können Git-Commit-Nachrichten automatisch anhand der 7 Regeln von Chris Beams bewertet werden. Das System hilft dabei, die Qualität von Commit-Nachrichten zu verbessern und sicherzustellen, dass sie klar und standardisiert sind.
\ No newline at end of file
-- 
GitLab