cmt – KI‑gestützte Git‑Commit‑Message‑Generator
cmt nutzt KI, um konventionelle Commit‑Nachrichten basierend auf Git‑Diff und Kontext automatisch zu generieren.
Key Takeaway
cmt nutzt KI, um konventionelle Commit‑Nachrichten basierend auf Git‑Diff und Kontext automatisch zu generieren.
Summary
- Projekt: GitHub‑Repository
clifton/cmt– ein CLI‑Tool zur KI‑gestützten Erzeugung von Git‑Commit‑Messages im Conventional‑Commit‑Format. - Programmiersprache & Technologie: Rust; nutzt die Bibliothek
rstructorfür strukturierte Ausgaben von LLMs; unterstützt mehrere KI‑Provider (Gemini, Claude, OpenAI). - Features
- Mehrere AI‑Provider: Google Gemini, Anthropic Claude, OpenAI GPT.
- Befolgt Conventional‑Commit‑Format (
type: subject). - Kontextreiche Analyse: README‑Inhalte, Branch‑Name, aktuelle Commits, detaillierter Diff‑Analyse.
- Kontext‑Hinweise zur Steuerung der Nachrichtenerstellung.
- Interaktiver Commit‑Prompt per Default; optional ohne Bestätigung mit
-y. - Kopieren der generierten Nachricht in die Zwischenablage mit
-c/--copy. - Konfigurierbare Reaktionsstärke (Reasoning depth).
- Schätzung von Token‑Verbrauch, Laufzeit und Kosten.
Installation
- Homebrew (macOS/Linux):
brew install clifton/tap/cmt - Install‑Skript:
curl -sSL https://raw.githubusercontent.com/clifton/cmt/main/scripts/install.sh | sh - Cargo (crates.io):
cargo install cmt - Von Quelle:
git clone https://github.com/clifton/cmt.git && cd cmt && cargo install --path .
Konfiguration
- API‑Schlüssel als Umgebungsvariable setzen:
- Gemini:
export GEMINI_API_KEY='your-api-key' - Claude (optional):
export ANTHROPIC_API_KEY='your-api-key' - OpenAI (optional):
export OPENAI_API_KEY='your-api-key'
- Gemini:
- Alternativ .env‑Datei im Projektverzeichnis.
Verwendung
- Änderungen stage‑en:
git add . - Commit‑Message generieren & prompt anzeigen:
cmt - Nur Nachricht anzeigen:
cmt --no-commit - Commit ohne Bestätigung:
cmt -y - Provider‑Auswahl:
cmt --provider claudeodercmt --provider openai. - Modell‑Liste ausgeben:
cmt --provider openai --list-models.
Command‑Line‑Optionen
-m, --message-only: Nur Nachricht, ohne Formatierung.-d: Diff‑Anzeige.-c, --copy: Nachricht in die Zwischenablage kopieren.-y: Commit ohne Bestätigung.- … (weitere Optionen)
Templates & Output‑Structure
Repository enthält README, Lizenz, Issue‑Tracker und ein LICENSE‑File. Lizenz: MIT.
Dokumentation & Lizenz
Repository enthält README, Lizenz, Issue‑Tracker, and ein LICENSE‑File. Lizenz: MIT.
Community & Weiterentwicklung
Das Projekt basiert auf der Rust‑Bibliothek rstructor, die ähnliche Features wie die Python‑Bibliothek Instructor bietet. Commit‑Message‑Vorlagen können angepasst oder neu definiert werden.
Statistiken
cmt liefert Statistiken zu Token‑Verbrauch, geschätzter Zeitdauer und Kosten pro Request.
Related queries
- Wie installiert man cmt auf Linux?
- Welche AI‑Provider unterstützt cmt?
- Wie kann ich ein eigenes Commit‑Template erstellen?
Quelle: GitHub
