Automatisierte Git-Commits mit KI-generierten Commit-Nachrichten
English Version | Deutsche Version
- Automatische Commits: Überwacht Dateiänderungen und führt Commits automatisch basierend auf konfigurierbaren Triggern durch
- KI-generierte Commit-Nachrichten: Nutzt OpenAI (Standard
gpt-4.1-mini), Anthropic Claude oder Ollama zur Generierung aussagekräftiger Commit-Nachrichten - Commit Guardian: Intelligente Schutzlogik mit Cooldown, Ruhezeiten, Branch-Schutz und Keyword-Filtern
- Visuelle Statusanzeige: Fortschrittsbalken und detailliertes Feedback während des Commit-Prozesses
- Konfigurierbare Trigger: Kontrolle, wann Commits ausgeführt werden sollen mit mehreren Trigger-Optionen
- Dashboard: Übersichtliche Darstellung von Aktivitäten und Einstellungen mit moderner UI
- VSCode Integration: Vollständig in die IDE integriert mit Sidebar, Statusleiste und Befehlspalette
- Flexible Commit-Stile: Unterstützung für Conventional Commits, Gitmoji, Angular, Atom und Simple-Stile
- Mehrsprachig: Generierung von Commit-Nachrichten auf Deutsch oder Englisch
- Installieren Sie die Extension über den VSCode Marketplace
- Suchen Sie nach "Comitto" oder installieren Sie direkt von marketplace.visualstudio.com
- Konfigurieren Sie Ihren bevorzugten KI-Provider (siehe KI-Provider)
- Aktivieren Sie automatische Commits, wenn Sie bereit sind
Comitto unterstützt drei KI-Provider zur Generierung von Commit-Nachrichten:
- API-Schlüssel: Erforderlich (erhältlich bei platform.openai.com)
- Modelle:
gpt-4.1-mini(empfohlen, Standard)gpt-4gpt-3.5-turbo- Weitere OpenAI-Modelle
- Konfiguration: Setzen über
comitto.openai.apiKeyundcomitto.openai.model
- API-Schlüssel: Erforderlich (erhältlich bei console.anthropic.com)
- Modelle:
claude-3-haiku-20240307(schnell, kosteneffizient, Standard)claude-3-sonnet-20240229(ausgewogen)claude-3-opus-20240229(leistungsstärkste)
- Konfiguration: Setzen über
comitto.anthropic.apiKeyundcomitto.anthropic.model
- API-Schlüssel: Nicht erforderlich (lokale Installation)
- Endpoint: Standard
http://localhost:11434/api/generate - Modelle: Jedes lokal installierte Ollama-Modell (Standard:
granite3.3:2b) - Konfiguration: Setzen über
comitto.ollama.endpointundcomitto.ollama.model - Setup: Installieren Sie Ollama von ollama.ai und laden Sie Ihr gewünschtes Modell herunter
Comitto verwendet ein ausgeklügeltes Entscheidungssystem, um zu bestimmen, wann automatische Commits erstellt werden. Die Entscheidung basiert auf mehreren Faktoren:
Commits werden ausgelöst, wenn eine der folgenden Bedingungen erfüllt ist:
- Einstellung:
comitto.triggerRules.onSave - Beschreibung: Löst eine Commit-Evaluation aus, wenn Dateien gespeichert werden
- Anwendungsfall: Ideal für häufige kleine Commits während aktiver Entwicklung
- Standard:
true
- Einstellung:
comitto.triggerRules.onInterval - Beschreibung: Evaluiert Commits automatisch in regelmäßigen Abständen
- Intervall-Einstellung:
comitto.triggerRules.intervalMinutes(Standard: 15 Minuten) - Anwendungsfall: Nützlich für Hintergrundarbeit oder wenn Sie das Speichern vergessen
- Standard:
false
- Einstellung:
comitto.triggerRules.onBranchSwitch - Beschreibung: Committet ausstehende Änderungen vor dem Wechseln von Branches
- Anwendungsfall: Stellt saubere Branch-Wechsel ohne Verlust von Arbeit sicher
- Standard:
false
Selbst wenn ein Trigger ausgelöst wird, erfolgen Commits nur, wenn bestimmte Schwellwerte erreicht werden:
- Einstellung:
comitto.triggerRules.fileCountThreshold - Beschreibung: Mindestanzahl geänderter Dateien für Auto-Commit
- Standard:
3 - Beispiel: Mit Schwellwert 3 erfolgen Commits nur, wenn 3 oder mehr Dateien Änderungen haben
- Einstellung:
comitto.triggerRules.minChangeCount - Beschreibung: Mindestanzahl von Zeilenänderungen erforderlich
- Standard:
10 - Beispiel: Verhindert Commits für triviale Einzeilen-Änderungen
- Einstellung:
comitto.triggerRules.timeThresholdMinutes - Beschreibung: Mindestzeit (in Minuten), die seit dem letzten Auto-Commit vergangen sein muss
- Standard:
30 - Beispiel: Verhindert zu häufige Commits, auch wenn andere Bedingungen erfüllt sind
- Einstellung:
comitto.triggerRules.filePatterns - Beschreibung: Glob-Muster zum Ein-/Ausschließen von Dateien vom Auslösen von Commits
- Standard:
["**/*"](alle Dateien) - Beispiele:
["src/**/*.ts"]- Nur TypeScript-Dateien im src-Ordner["**/*.{js,ts}"]- Alle JavaScript- und TypeScript-Dateien["!**/test/**"]- Test-Verzeichnisse ausschließen
Der Guardian ist ein intelligentes Schutzsystem, das unangemessene automatische Commits verhindert:
- Einstellung:
comitto.guardian.smartCommitProtection - Beschreibung: Hauptschalter für alle Guardian-Funktionen
- Standard:
true - Auswirkung: Bei Deaktivierung werden alle Guardian-Checks umgangen (außer bei manuellen Commits)
- Einstellung:
comitto.guardian.coolDownMinutes - Beschreibung: Mindestzeit zwischen automatischen Commits
- Standard:
5Minuten - Anwendungsfall: Verhindert Commit-Spam während schneller Entwicklung
- Verhalten: Zeigt verbleibende Cooldown-Zeit in Benachrichtigung an
- Einstellung:
comitto.guardian.blockOnDirtyWorkspace - Beschreibung: Blockiert Auto-Commits, wenn Dateien ungespeicherte Änderungen haben
- Standard:
true - Anwendungsfall: Stellt sicher, dass alle Änderungen vor dem Committen gespeichert sind
- Einstellung:
comitto.guardian.skipWhenDebugging - Beschreibung: Pausiert Auto-Commits während aktiver Debug-Sitzungen
- Standard:
true - Anwendungsfall: Verhindert Commits während des Debuggens, erlaubt fokussiertes Arbeiten
- Einstellung:
comitto.guardian.confirmOnLargeChanges - Beschreibung: Erfordert manuelle Bestätigung für große Diffs
- Schwellwert:
comitto.guardian.maxDiffSizeKb(Standard: 512 KB) - Standard:
true - Verhalten: Zeigt Dialog mit Diff-Größe und Bestätigungsbuttons
- Einstellung:
comitto.guardian.maxFilesWithoutPrompt - Beschreibung: Maximale Dateien, die ohne Bestätigung committet werden können
- Standard:
8 - Verhalten: Zeigt Bestätigungsdialog bei Überschreitung
- Einstellung:
comitto.guardian.protectedBranches - Beschreibung: Branches, die Bestätigung vor Auto-Commit erfordern
- Standard:
["main", "master", "release/*"] - Muster-Unterstützung: Unterstützt Wildcards (z.B.
release/*,hotfix/*) - Verhalten: Zeigt Warndialog vor Committen auf geschützten Branches
- Einstellung:
comitto.guardian.quietHours - Beschreibung: Zeitfenster, in denen Auto-Commits ausgesetzt werden
- Format:
["HH:MM-HH:MM"](24-Stunden-Format) - Standard:
[](keine Ruhezeiten) - Beispiele:
["22:00-08:00"]- Keine Commits zwischen 22 Uhr und 8 Uhr["12:00-13:00", "18:00-19:00"]- Mittags- und Abendessenspausen
- Einstellung:
comitto.guardian.keywordsRequiringConfirmation - Beschreibung: Schlüsselwörter in Diffs, die Bestätigungsdialoge auslösen
- Standard:
["WIP", "DO-NOT-COMMIT"] - Anwendungsfall: Verhindert versehentliche Commits von Work-in-Progress oder Debug-Code
- Erkennung: Groß-/Kleinschreibung-unabhängige Suche in Diff und Status-Ausgabe
Comitto unterstützt mehrere Commit-Nachricht-Stile:
- Einstellungswert:
"conventional" - Format:
type: beschreibung - Typen:
feat,fix,docs,style,refactor,test,chore - Beispiel:
feat: Benutzerauthentifizierung hinzufügen
- Einstellungswert:
"gitmoji" - Format:
emoji beschreibung - Emojis: 🎉 (initial), 🐛 (bugfix), 📚 (docs), 💄 (UI), etc.
- Beispiel:
🎉 Benutzerauthentifizierung hinzufügen
- Einstellungswert:
"angular" - Format:
type(scope): beschreibung - Beispiel:
feat(auth): Benutzerauthentifizierung hinzufügen
- Einstellungswert:
"atom" - Format:
:emoji: beschreibung - Beispiel:
:sparkles: Benutzerauthentifizierung hinzufügen
- Einstellungswert:
"simple" - Format: Einfache beschreibende Nachrichten
- Beispiel:
Benutzerauthentifizierung hinzufügen
Konfiguration: Setzen über comitto.gitSettings.commitMessageStyle
- Einstellung:
comitto.gitSettings.commitMessageLanguage - Optionen:
"en"(Englisch) oder"de"(Deutsch) - Standard:
"de" - Auswirkung: Beeinflusst die Sprache der KI-generierten Commit-Nachricht
Das Statusleisten-Element zeigt den aktuellen Comitto-Status:
- Idle: Grün, zeigt "Überwacht" oder "Watching"
- In Bearbeitung: Blau mit Fortschritt in Prozent
- Fehler: Rot mit Fehlerindikator
- Klick: Öffnet Schnellaktionen-Menü
Zugriff auf die Comitto-Sidebar über die Aktivitätsleiste:
- Status-Karte: Aktueller Zustand und schnelles Umschalten
- Schnellaktionen: Manueller Commit, Aktualisieren, Dashboard
- Einstellungs-Übersicht: KI-Provider, Trigger, Guardian-Status
- Debug-Logs: Detaillierte Ausführungsprotokolle (wenn Debug aktiviert)
Öffnen mit Befehl Comitto: Show Dashboard:
- Aktivitäts-Monitor: Letzte Commits und Statistiken
- Konfiguration: Visuelle Editoren für alle Einstellungen
- Trigger-Konfiguration: Umschalten und Konfigurieren von Triggern
- Guardian-Konfiguration: Verwaltung der Schutzeinstellungen
- KI-Provider-Setup: Konfiguration von API-Schlüsseln und Modellen
Vereinfachte Oberfläche für schnelle Konfiguration:
- Öffnen mit
Comitto: Show Simple User Interface - Karten für essentielle Einstellungen
- Guardian-Schnellkonfiguration
- Ideal für erstmalige Einrichtung
Alle Befehle verfügbar über Befehlspalette (Strg+Umschalt+P oder Cmd+Shift+P):
Comitto: Enable Automatic Commits- Auto-Commit-Überwachung startenComitto: Disable Automatic Commits- Auto-Commit-Überwachung stoppenComitto: Toggle Automatic Commits- Schnelles Aktivieren/DeaktivierenComitto: Perform Manual AI Commit- Sofort generieren und committenComitto: Show Dashboard- Konfigurations-Dashboard öffnenComitto: Show Simple User Interface- Vereinfachte UI öffnenComitto: Configure AI Provider- OpenAI, Anthropic oder Ollama einrichtenComitto: Configure Triggers- Trigger-Regeln verwaltenComitto: Configure Guardian- Schutzeinstellungen verwaltenComitto: Select Commit Style- Commit-Nachricht-Format wählenComitto: Select Commit Language- Nachrichtensprache wählenComitto: Toggle Auto Push- Automatisches Git-Push aktivieren/deaktivierenComitto: Edit Branch- Ziel-Branch für Commits festlegenComitto: Select Stage Mode- Staging-Strategie wählenComitto: Refresh Settings- Konfiguration neu laden
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.autoCommitEnabled |
boolean | false |
Automatische Commits aktivieren/deaktivieren |
comitto.aiProvider |
string | "openai" |
KI-Provider: openai, anthropic oder ollama |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.triggerRules.onSave |
boolean | true |
Trigger bei Dateispeicherung |
comitto.triggerRules.onInterval |
boolean | false |
Trigger in Intervallen |
comitto.triggerRules.onBranchSwitch |
boolean | false |
Trigger bei Branch-Wechsel |
comitto.triggerRules.intervalMinutes |
number | 15 |
Intervalldauer |
comitto.triggerRules.fileCountThreshold |
number | 3 |
Mindestdateien für Commit |
comitto.triggerRules.minChangeCount |
number | 10 |
Minimale Zeilenänderungen |
comitto.triggerRules.timeThresholdMinutes |
number | 30 |
Mindestzeit zwischen Commits |
comitto.triggerRules.filePatterns |
array | ["**/*"] |
Zu überwachende Dateimuster |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.gitSettings.autoPush |
boolean | false |
Auto-Push nach Commit |
comitto.gitSettings.pullBeforePush |
boolean | true |
Pull vor Push |
comitto.gitSettings.stageMode |
string | "all" |
Staging-Modus: all, modified, pattern |
comitto.gitSettings.branch |
string | "" |
Ziel-Branch (leer = aktuell) |
comitto.gitSettings.useGitignore |
boolean | true |
.gitignore-Regeln beachten |
comitto.gitSettings.commitMessageStyle |
string | "gitmoji" |
Commit-Stil-Format |
comitto.gitSettings.commitMessageLanguage |
string | "de" |
Nachrichtensprache |
comitto.gitSettings.maxCommitAttempts |
number | 3 |
Wiederholungsversuche bei Fehler |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.guardian.smartCommitProtection |
boolean | true |
Guardian-Schutz aktivieren |
comitto.guardian.coolDownMinutes |
number | 5 |
Cooldown zwischen Commits |
comitto.guardian.maxFilesWithoutPrompt |
number | 8 |
Max. Dateien ohne Bestätigung |
comitto.guardian.confirmOnLargeChanges |
boolean | true |
Große Diffs bestätigen |
comitto.guardian.maxDiffSizeKb |
number | 512 |
Große-Diff-Schwellwert (KB) |
comitto.guardian.blockOnDirtyWorkspace |
boolean | true |
Blockieren bei ungespeicherten Dateien |
comitto.guardian.skipWhenDebugging |
boolean | true |
Pausieren während Debug |
comitto.guardian.quietHours |
array | [] |
Zeitfenster zum Pausieren |
comitto.guardian.protectedBranches |
array | ["main", "master", "release/*"] |
Branches mit Bestätigungspflicht |
comitto.guardian.keywordsRequiringConfirmation |
array | ["WIP", "DO-NOT-COMMIT"] |
Keywords, die Bestätigung auslösen |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.openai.apiKey |
string | "" |
OpenAI-API-Schlüssel |
comitto.openai.model |
string | "gpt-4.1-mini" |
Zu verwendendes Modell |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.anthropic.apiKey |
string | "" |
Anthropic-API-Schlüssel |
comitto.anthropic.model |
string | "claude-3-haiku-20240307" |
Zu verwendendes Modell |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.ollama.endpoint |
string | "http://localhost:11434/api/generate" |
Ollama-API-Endpoint |
comitto.ollama.model |
string | "granite3.3:2b" |
Modellname |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.uiSettings.simpleMode |
boolean | false |
Vereinfachte UI verwenden |
comitto.uiSettings.confirmBeforeCommit |
boolean | true |
Vor manuellen Commits bestätigen |
comitto.uiSettings.showNotifications |
boolean | true |
Benachrichtigungen anzeigen |
comitto.uiSettings.theme |
string | "auto" |
UI-Theme: auto, light, dark |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.notifications.onCommit |
boolean | true |
Bei erfolgreichem Commit benachrichtigen |
comitto.notifications.onPush |
boolean | true |
Bei erfolgreichem Push benachrichtigen |
comitto.notifications.onError |
boolean | true |
Bei Fehlern benachrichtigen |
comitto.notifications.onTriggerFired |
boolean | false |
Bei Trigger-Auslösung benachrichtigen |
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
comitto.debug.enabled |
boolean | false |
Debug-Protokollierung aktivieren |
comitto.debug.extendedLogging |
boolean | false |
Ausführliche Protokollierung |
comitto.debug.commitDiagnostics |
boolean | false |
Commit-Diagnose protokollieren |
- Erweiterte Git-Integration mit neuen Befehlen
- Auto-Push-Konfiguration
- Branch-Bearbeitungsunterstützung
- Commit-Stil- und Sprachauswahl
- Aktualisierter UI-Provider mit verbesserter Fehlerbehandlung
- Zentralisierte Einstellungsverwaltung mit Guardian
- Verbesserte Statusleiste mit visuellem Fortschrittsindikator
- Erweiterte Fehlerbehandlung für alle KI-Provider
- Visuelles Feedback während Commit-Generierung
- Bessere Modellauswahl für OpenAI mit Icons und Kategorien
- Commit Guardian mit Schnellkonfiguration
- Überarbeiteter Settings-Manager mit Validierung
- Sanfte Migration alter Ollama-Modelle
- Echtzeit-Reaktion auf Konfigurationsänderungen
- Modernisierte Dashboard-UI
- Guardian-Karten in einfacher Oberfläche
- Multi-Provider-KI-Unterstützung (OpenAI, Anthropic, Ollama)
- Konfigurierbare Trigger (Save, Interval, Branch-Switch)
- Fortgeschrittenes Schwellwert-System
- Dashboard und Simple UI
- Umfassendes Benachrichtigungssystem
Für Fragen, Probleme oder Feature-Anfragen:
- GitHub Issues: github.com/tilltmk/comitto/issues
- Dokumentation: Siehe diese README und In-App-Tooltips
- Häufige Fehler: Prüfen Sie
COMMON_ERRORS.mdim Repository
MIT-Lizenz - Siehe LICENSE.txt für Details
Erstellt mit ❤️ von tilltmk

