Skip to content

Latest commit

 

History

History
244 lines (164 loc) · 11.1 KB

File metadata and controls

244 lines (164 loc) · 11.1 KB

🚀 Git Auto Commit (gac)

PyPI version Python Build Status codecov Ruff mypy Contributions welcome License: MIT

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

KI-gestützte Commit-Nachrichten, die Ihren Code verstehen!

Automatisieren Sie Ihre Commits! Ersetzen Sie git commit -m "..." durch gac für kontextbezogene, gut formatierte Commit-Nachrichten, die von großen Sprachmodellen generiert werden!


Was Sie erhalten

Intelligente, kontextbezogene Nachrichten, die das Warum hinter Ihren Änderungen erklären:

GAC generating a contextual commit message


Schnellstart

gac ohne Installation verwenden

uvx gac init   # Konfigurieren Sie Ihren Provider, Ihr Modell und Ihre Sprache
uvx gac  # Generieren und committen mit KI

Das ist alles! Überprüfen Sie die generierte Nachricht und bestätigen Sie mit y.

gac installieren und verwenden

uv tool install gac
gac init
gac

Installiertes gac aktualisieren

uv tool upgrade gac

Hauptfunktionen

🌐 25+ Unterstützte Provider

  • AnthropicAzure OpenAICerebrasChutes.aiClaude Code (OAuth)
  • DeepSeekFireworksGeminiGroqKimi for CodingLM Studio
  • MiniMax.ioMistral AIMoonshot AIOllamaOpenAIOpenRouter
  • Qwen.ai (OAuth)ReplicateStreamlakeSynthetic.newTogether AI
  • Z.AIZ.AI CodingCustom Endpoints (Anthropic/OpenAI)

🧠 Intelligente KI-Analyse

  • Versteht die Absicht: Analysiert Code-Struktur, Logik und Muster, um das "Warum" hinter Ihren Änderungen zu verstehen, nicht nur was sich geändert hat
  • Semantisches Bewusstsein: Erkennt Refactoring, Bug-Fixes, Features und Breaking Changes, um kontextbezogene Nachrichten zu generieren
  • Intelligentes Filtern: Priorisiert sinnvolle Änderungen und ignoriert generierte Dateien, Abhängigkeiten und Artefakte
  • Intelligentes Commit-Grouping - Gruppiert automatisch zusammengehörige Änderungen in mehreren logischen Commits mit --group

📝 Mehrere Nachrichtenformate

  • Einzeiler (-o Flag): Einzeilige Commit-Nachricht im conventional commit Format
  • Standard (Standard): Zusammenfassung mit Stichpunkten zur Erklärung der Implementierungsdetails
  • Ausführlich (-v Flag): Umfassende Erklärungen inklusive Motivation, technischer Herangehensweise und Impact-Analyse

🌍 Mehrsprachige Unterstützung

  • 25+ Sprachen: Generieren Sie Commit-Nachrichten in Englisch, Chinesisch, Japanisch, Koreanisch, Spanisch, Französisch, Deutsch und 20+ weiteren Sprachen
  • Flexible Übersetzung: Wählen Sie, ob Sie conventional commit Präfixe auf Englisch für Tool-Kompatibilität belassen oder vollständig übersetzen möchten
  • Mehrere Workflows: Stellen Sie eine Standardsprache mit gac language ein oder verwenden Sie das -l <Sprache>-Flag für einmalige Überschreibungen
  • Unterstützung für native Skripte: Volle Unterstützung für nicht-lateinische Skripte inklusive CJK, Kyrillisch, Thai und mehr

💻 Developer Experience

  • Interaktives Feedback: Geben Sie r ein zum erneuten Generieren, e zum direkten Bearbeiten mit vi/emacs Tastaturbelegungen oder geben Sie direkt Ihr Feedback ein wie mache es kürzer oder konzentriere dich auf den Bug-Fix
  • Interaktive Befragung: Verwenden Sie --interactive (-i) um gezielte Fragen zu Ihren Änderungen zu beantworten für mehr kontextbezogene Commit-Nachrichten
  • Ein-Befehl-Workflows: Vollständige Workflows mit Flags wie gac -ayp (alles hinzufügen, automatisch Bestätigen, pushen)
  • Git-Integration: Respektiert pre-commit und leftthook Hooks, führt sie vor teuren KI-Operationen aus
  • MCP-Server: Führen Sie gac serve aus, um Commit-Tools über das Model Context Protocol für KI-Agenten bereitzustellen

🛡️ Eingebaute Sicherheit

  • Automatische Geheimnis-Erkennung: Scannt vor dem Commit nach API-Schlüsseln, Passwörtern und Tokens
  • Interaktiver Schutz: Fordert vor dem Commit potenziell sensible Daten auf mit klaren Korrekturoptionen
  • Intelligentes Filtern: Ignoriert Beispieldateien, Vorlagendateien und Platzhaltertext zur Reduzierung von Falschpositiven

Verwendungsbeispiele

Basis-Workflow

# Ihre Änderungen hinzufügen
git add .

# Generieren und committen mit KI
gac

# Überprüfen → y (commit) | n (abbrechen) | r (erneut generieren) | e (bearbeiten) | oder Feedback eingeben

Häufige Befehle

Befehl Beschreibung
gac Commit-Nachricht generieren
gac -y Automatisch bestätigen (keine Überprüfung erforderlich)
gac -a Alle Änderungen vor der Generierung der Commit-Nachricht hinzufügen
gac -o Einzeilige Nachricht für triviale Änderungen
gac -v Ausführliches Format mit Motivation, technischer Herangehensweise und Impact-Analyse
gac -h "hinweis" Kontext für KI hinzufügen (z.B. gac -h "bug fix")
gac -s Scope einschließen (z.B. feat(auth):)
gac -i Fragen zu Änderungen stellen für besseren Kontext
gac -g Änderungen in mehrere logische Commits gruppieren
gac -p Commit und push

Power-User-Beispiele

# Vollständiger Workflow in einem Befehl
gac -ayp -h "Release-Vorbereitung"

# Detaillierte Erklärung mit Scope
gac -v -s

# Schneller Einzeiler für kleine Änderungen
gac -o

# Änderungen in logisch zusammengehörige Commits gruppieren
gac -ag

# Interaktiver Modus mit ausführlicher Ausgabe für detaillierte Erklärungen
gac -iv

# Debuggen, was die KI sieht
gac --show-prompt

# Sicherheits-Scan überspringen (vorsichtig verwenden)
gac --skip-secret-scan

Interaktives Feedback-System

Nicht zufrieden mit dem Ergebnis? Sie haben mehrere Optionen:

# Einfaches erneutes Generieren (kein Feedback)
r

# Direkt bearbeiten mit erweitertem Terminal-Editing
e
# Verwendet prompt_toolkit für mehrzeiliges Editing mit vi/emacs Tastaturbelegungen
# Esc+Enter oder Ctrl+S zum Absenden, Ctrl+C zum Abbrechen
# Oder geben Sie Ihr Feedback direkt ein!
mache es kürzer und konzentriere dich auf die Performance-Verbesserung
verwende conventional commit Format mit Scope
erkläre die Sicherheitsimplikationen

# Enter bei leerer Eingabe drücken, um die Eingabeaufforderung erneut zu sehen

Die Bearbeitungsfunktion (e) bietet erweitertes direktes Terminal-Editing, das es Ihnen ermöglicht:

  • Natürlich bearbeiten: Mehrzeiliges Editing mit bekannten vi/emacs Tastaturbelegungen
  • Schnelle Korrekturen: Tippfehler korrigieren, Wortlaut anpassen oder Formatierung verfeinern
  • Details hinzufügen: Informationen einfügen, die die KI möglicherweise übersehen hat
  • Umstrukturieren: Stichpunkte neu anordnen oder Nachrichtenstruktur ändern

Konfiguration

Führen Sie gac init aus, um Ihren Provider interaktiv zu konfigurieren, oder setzen Sie Umgebungsvariablen:

Später Provider oder Modelle ändern, ohne Spracheinstellungen zu berühren? Verwenden Sie gac model für einen Optimierten Ablauf, der die Spracheingabeaufforderungen überspringt.

# Beispielkonfiguration
GAC_MODEL=anthropic:your-model-name
OPENAI_API_KEY=your_key_here
ANTHROPIC_API_KEY=your_key_here

Siehe .gac.env.example für alle verfügbaren Optionen.

Möchten Sie Commit-Nachrichten in einer anderen Sprache? Führen Sie gac language aus, um aus 25+ Sprachen zu wählen, inklusive Español, Français, 日本語 und mehr.

Möchten Sie den Stil der Commit-Nachrichten anpassen? Siehe docs/CUSTOM_SYSTEM_PROMPTS.md für Anleitungen zum Schreiben von benutzerdefinierten System-Prompts.


Projekt-Analytics

📊 Live-Nutzungsanalytics und Statistiken ansehen →

Verfolgen Sie Echtzeit-Installationsmetriken und Paket-Download-Statistiken.


Hilfe erhalten


Mit ❤️ gemacht für Entwickler, die bessere Commit-Nachrichten wollen

⭐ Star uns auf GitHub🐛 Probleme melden📖 Vollständige Doku