Skip to content

Automatisierte Erstellung einheitlicher Git-Commit-Messages aus git diff mithilfe von OpenAI-API oder lokalem Ollama/Mixtral – mit klar definiertem ASCII-Format.

License

Notifications You must be signed in to change notification settings

Liebau/commit-message-generator

Repository files navigation

Commit-Message Automation

Dieses Repository enthält Skripte zur automatisierten Erstellung von Git-Commit-Messages mithilfe von OpenAI und Mixtral (Ollama).
Die generierten Nachrichten werden strukturiert gespeichert und über Symlinks schnell zugänglich gemacht.

Wichtiger Hinweis:
Die automatisch generierten Commit-Messages sind eine Unterstützung, ersetzen jedoch nicht die inhaltliche und sprachliche Prüfung durch den Entwickler. Vor dem Commit sollte der Text immer geprüft und bei Bedarf angepasst werden, um Fehlinformationen oder unpassende Formulierungen zu vermeiden.

Skripte

1. generate_commit_msg.sh

Erzeugt eine Commit-Message mit OpenAI (gpt-4.1-mini) basierend auf dem aktuell gestageten Git-Diff.

  • Ausgabe:

    • logs/openai/<YYYY-MM-DD_HH-MM-SS>/ mit:
      • payload.json – API-Payload
      • response.json – volle API-Antwort
      • commit_message.txt – generierte Commit-Message
    • Symlink logs/openai/latest → letzter Run
    • Symlink latest-Commit-MSG-openai.txt → letzte OpenAI-Commit-Message
  • Nutzung:

    ./generate_commit_msg.sh
    git commit -F latest-Commit-MSG-openai.txt

2. mixtral-commit.sh

Erzeugt eine Commit-Message mit Mixtral (lokal über Ollama) basierend auf dem aktuell gestageten Git-Diff.

  • Ausgabe:

    • logs/mixtral/<YYYY-MM-DD_HH-MM-SS>/full_prompt.txt – verwendeter Prompt
    • commit_message.txt – generierte Commit-Message
    • Symlink logs/mixtral/latest → letzter Run
    • Symlink latest-Commit-MSG-mixtral.txt → letzte Mixtral-Commit-Message
  • Nutzung:

    ./mixtral-commit.sh
    git commit -F latest-Commit-MSG-mixtral.txt

3. cleanup_logs.sh

Entfernt Log-Verzeichnisse älter als eine bestimmte Anzahl Tage (Standard: 30).

  • Nutzung:
    ./cleanup_logs.sh         # Behalte 30 Tage
    ./cleanup_logs.sh 7       # Behalte 7 Tage
    ./cleanup_logs.sh --help  # Hilfe anzeigen

Log-Struktur

logs/
  openai/
    YYYY-MM-DD_HH-MM-SS/
      payload.json
      response.json
      commit_message.txt
    latest -> <letzter Run>
  mixtral/
    YYYY-MM-DD_HH-MM-SS/
      full_prompt.txt
      commit_message.txt
    latest -> <letzter Run>

Voraussetzungen

  • git
  • Für OpenAI:
    • gültiger API-Key in $OPENAI_API_KEY
    • jq
    • curl
  • Für Mixtral:
    • Ollama installiert
    • Modell mixtral:8x7b lokal verfügbar

Hinweis:
Die Symlinks latest-Commit-MSG-openai.txt und latest-Commit-MSG-mixtral.txt werden bei jedem Run automatisch aktualisiert und sollten in .gitignore stehen.

Weitere Infos

Ausführliche Beschreibung und Hintergründe im Blog:
https://gwr-mbh.de/ki-commit-messages-git-diff/

About

Automatisierte Erstellung einheitlicher Git-Commit-Messages aus git diff mithilfe von OpenAI-API oder lokalem Ollama/Mixtral – mit klar definiertem ASCII-Format.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages