Auto-Git ist eine plattformübergreifende Electron-App, die Git-Repos automatisch überwacht und verwaltet und mithilfe von LLMs Commit Messages und Dokumentationen / READMEs schreibt.
- Überwachung & automatisches Commit
- – Beliebige Ordner als Git-Repositories hinzufügen: Auto-Git übernimmt bei Bedarf das Initial-Git-Setup.
- – Echtzeit-File-Watching (Chokidar): Sobald sich Dateien ändern, werden Änderungen in einem Debounce-Intervall erkannt und automatisch in Git committet.
- – Intelligente Commit-Nachrichten: Sobald eine definierte Zeilen- oder Zeit-Schwelle erreicht ist, sammelt Auto-Git alle neuen Commits, erstellt aus ihren Diffs ein promptoptimiertes Input für einen Ollama-LLM (qwen2.5-Coder) und ersetzt die Standard-Commit-Nachrichten durch semantisch prägnante Zusammenfassungen.
- README-Generierung & Repositoriumsbeschreibung
- – Auf Knopfdruck oder bei initialem Hinzufügen: Auto-Git extrahiert relevante Code-Dateien (nach Größe, Relevanzscore, .gitignore-Regeln) und füttert sie in einen LLM-Prompt, um automatisch ein vollständiges, gut strukturiertes README.md zu erstellen bzw. zu aktualisieren.
- – LLM-gestützte Kurz-Beschreibung (≤ 255 Zeichen): Für jeden Ordner kann Auto-Git mit Hilfe des selben Ollama-Backends in Sekundenbruchteilen einen einzeiligen Projektdescription-Text erzeugen.
- Robuste Ordnerverwaltung
- – Fehlende bzw. verschobene Ordner werden automatisch erkannt („Needs Relocation“), per Klick auf das Sidebar-Icon kann man den neuen Pfad zuweisen und den ursprünglichen Git-State wiederherstellen (Prüfung via Commit-Hash).
- – Einfache Drag-&-Drop-Unterstützung: Ordner via Drag direkt in die App ziehen, sofort ein Git-Repo initialisieren und in Überwachung setzen.
- – .gitignore-Management: Typische temporäre/Ide-/Build-Dateien werden automatisch erkannt (Micromatch + vordefinierte Patterns) und bei Bedarf in .gitignore eingetragen.
- Gitea-Integration & Push-Workflow
- – In den Einstellungen lässt sich ein persönlicher Gitea-API-Token hinterlegen.
- – Beim Klick auf „Push to Gitea“ prüft Auto-Git, ob das Remote-Repo schon existiert:
- Nicht vorhanden → Repository erstellen (mit LLM-Generierter Kurzbeschreibung).
- Vorhanden → Aktuelle Beschreibung per PATCH aktualisieren.
- – Anschließend wird das lokale Remote-Origin neu konfiguriert und der aktuelle Branch inklusive Tags automatisiert gepusht.
- Desktop-UI & Bedienkomfort
- – Electron & TailwindCSS: Responsive Oberfläche mit Sidebar (gefilterte Liste aller überwachten Ordner), zentraler Inhaltsbereich (paginiert alle Commits anzeigen, inklusive Diff-View, Snapshot-Export und „Jump Here“-Checkout).
- – Sky-Mode: Automatischer Tageszeit-abhängiger Hintergrund (sanftes Blau bei Tag, dunkles Blau bei Nacht).
- – Tray-Menü & Tray-Icon: App minimiert auf Tray, Rechte-Maustaste auf Tray-Icon ermöglicht schnelles Starten/Stoppen des Monitorings pro Ordner, Ordner hinzufügen/entfernen, „Quit“.
- – Settings-Dialog:
- > Sky-Theme ein/aus
- > „Close to Tray“: Versteckt Fenster beim Schließen, statt App wirklich zu beenden
- > Automatisches Autostart-Verhalten
- > Intelligente Commit-Thresholds (Zeilen und Minuten)
- > Auswahl der verwendeten Ollama-Modelle (commit vs. README)
- > Gitea-API-Token hinterlegen
- – Gamification & Live-Statistik: Tageszähler für Commits, farblich ansteigende Visualisierung („Commits today“), Live-Countdown bis zum nächsten automatischen LLM-Commit.
- Technologie-Stack
- – Frontend: Electron + HTML/CSS + TailwindCSS + ein eigenes minimal-animiertes „Anime Cat“ (Klient-seitiges Cat-Streaming bei LLM-Antworten).
- – Backend/Node:
- > chokidar für File-Watching
- > simple-git für alle Git-Operationen (Init, Status, Commit, Diff, Rebase, Push, Remote-Config)
- > micromatch & ignore zum Filtern von Dateien/Ordnern
- > electron-store für Persistenz aller Einstellungen (inklusive Gitea-Token, Skymode, Thresholds, modell-Auswahl)
- > Eigene LLM-Integration: Start/Stop von Ollama-Server, paralleles Stream-Handling über fetch(…).getReader().
- > Tray/Menu-Integration mit nativen Electron-Menüs und Kontext-Menüs in Sidebar/Treeview.
Alle Funktionen – von der kontinuierlichen, automatischen Commit-Erstellung bis hin zur vollautomatischen Push-und-Repo-Einrichtung auf Gitea – sind darauf ausgelegt, Entwicklern den Alltag zu erleichtern: Man fokussiert sich weiter auf Code, während Auto-Git im Hintergrund dafür sorgt, dass Commit-History, Dokumentation und Remote-Repositories stets auf dem neuesten Stand bleiben.