home

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 rstructor fü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'
  • Alternativ .env‑Datei im Projektverzeichnis.

Verwendung

  1. Änderungen stage‑en: git add .
  2. Commit‑Message generieren & prompt anzeigen: cmt
  3. Nur Nachricht anzeigen: cmt --no-commit
  4. Commit ohne Bestätigung: cmt -y
  5. Provider‑Auswahl: cmt --provider claude oder cmt --provider openai.
  6. 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