Auto-Git is a cross-platform Electron app that automatically monitors and manages Git repos and writes commit messages and documentation / READMEs using LLMs.
- Monitoring & Automatic Commit
- – Add any folders as Git repositories: Auto-Git takes care of the initial Git setup if needed.
- – Real-time file watching (Chokidar): As soon as files change, changes are detected in a debounce interval and automatically committed to Git.
- – Intelligent commit messages: Once a defined line or time threshold is reached, Auto-Git collects all new commits, creates a prompt-optimized input for an Ollama-LLM (qwen2.5-Coder) from their diffs, and replaces the standard commit messages with semantically concise summaries.
- README Generation & Repository Description
- – At the push of a button or upon initial addition: Auto-Git extracts relevant code files (by size, relevance score, .gitignore rules) and feeds them into an LLM prompt to automatically create or update a complete, well-structured README.md.
- – LLM-assisted short description (≤ 255 characters): For each folder, Auto-Git can generate a one-liner project description text in fractions of a second using the same Ollama backend.
- Robust Folder Management
- – Missing or moved folders are automatically detected (“Needs Relocation”), and by clicking on the sidebar icon, you can assign the new path and restore the original Git state (checked via commit hash).
- – Simple drag-and-drop support: Drag folders directly into the app, instantly initialize a Git repo, and set it to monitoring.
- – .gitignore management: Typical temporary/IDE/build files are automatically detected (Micromatch + predefined patterns) and added to .gitignore if needed.
- Gitea Integration & Push Workflow
- – In the settings, a personal Gitea API token can be stored.
- – When clicking “Push to Gitea”, Auto-Git checks if the remote repo already exists:
- Not available → Create repository (with LLM-generated short description).
- Available → Update current description via PATCH.
- – Afterwards, the local remote origin is reconfigured, and the current branch including tags is automatically pushed.
- Desktop UI & Usability
- – Electron & TailwindCSS: Responsive interface with sidebar (filtered list of all monitored folders), central content area (displays all commits paginated, including diff view, snapshot export, and “Jump Here” checkout).
- – Sky Mode: Automatic time-dependent background (soft blue during the day, dark blue at night).
- – Tray Menu & Tray Icon: App minimized to tray, right-clicking on the tray icon allows quick starting/stopping of monitoring per folder, adding/removing folders, “Quit”.
- – Settings Dialog:
- > Sky theme on/off
- > “Close to Tray”: Hides window when closing, instead of actually quitting the app
- > Automatic startup behavior
- > Intelligent commit thresholds (lines and minutes)
- > Selection of used Ollama models (commit vs. README)
- > Store Gitea API token
- – Gamification & Live Statistics: Daily counter for commits, color-increasing visualization (“Commits today”), live countdown until the next automatic LLM commit.
- Technology Stack
- – Frontend: Electron + HTML/CSS + TailwindCSS + a custom minimal-animated “Anime Cat” (client-side cat streaming for LLM responses).
- – Backend/Node:
- > chokidar for file watching
- > simple-git for all Git operations (Init, Status, Commit, Diff, Rebase, Push, Remote Config)
- > micromatch & ignore for filtering files/folders
- > electron-store for persistence of all settings (including Gitea token, sky mode, thresholds, model selection)
- > Custom LLM integration: Start/Stop Ollama server, parallel stream handling via fetch(…).getReader().
- > Tray/Menu integration with native Electron menus and context menus in sidebar/treeview.
All features – from continuous, automatic commit creation to fully automated push-and-repo setup on Gitea – are designed to make developers’ everyday lives easier: You can continue to focus on code while Auto-Git ensures that commit history, documentation, and remote repositories are always up to date.