1
0
Files
auto-git-gui/README.md

5.9 KiB
Raw Blame History

Auto-Git

Author: Victor Giers

⚠️ This README.md has been automatically generated using AI and might contain hallucinations or inaccuracies. Please proceed with caution!

Auto-Git is a unique and interactive desktop application designed to help you manage your Git repositories with ease. It features a playful cat mascot that guides you through various Git operations, making the process more engaging and user-friendly.


Features

  • Interactive Cat Mascot: A cute cat character that provides feedback and assistance during Git operations.
  • Intelligent Committing: Set thresholds for automatic committing based on file changes or time intervals.
  • README Generation: Automatically generate README.md files for your repositories using AI models.
  • Folder Management: Easily add, remove, and select Git folders to monitor.
  • Commit History: View commit history with detailed diffs and options to revert or checkout commits.
  • Push to Gitea: Push your commits directly to a Gitea server with ease.
  • Customizable Settings: Adjust various settings such as sky mode, autostart, and commit thresholds.

Prerequisites

Before installing Auto-Git, ensure that both Git and Ollama are installed and available in your systems PATH:

  1. Git

  2. Ollama


Installation

Download the latest release for your platform:

(Linux builds coming soon.)

  1. Download the appropriate installer for your system.
  2. Run the installer and follow the on-screen instructions.
  3. Launch Auto-Git from your applications menu (macOS) or Start menu (Windows).

Usage

  1. Add a Folder
    • Click on “Add Folder” to select and add a Git repository to Auto-Git.
  2. Monitor Folders
    • Select a folder in the sidebar to monitor its changes and view commit history.
  3. Commit Changes
    • Auto-Git will automatically commit changes when thresholds are reached, or you can manually commit with a custom message.
  4. Generate README
    • Use the built-in AI integration to generate or update a README.md for any monitored repository.
  5. Push to Gitea
    • Configure your Gitea API key in Settings, then push commits directly from Auto-Git.

Git safety behavior

  • Starting monitoring establishes a baseline; changes that already existed are left untouched.
  • Monitoring commits only paths reported by filesystem events. It never stages the whole repository.
  • Build output and dependency folders such as node_modules, dist-tauri, and src-tauri/target are always excluded.
  • Auto-Git refuses to commit when the index already contains staged work or when Git is rebasing, merging, resolving conflicts, or using a detached HEAD.
  • Threshold- and timer-based commit-message rewrites run once in a temporary worktree and update the real branch atomically only after verifying that its tree is unchanged. They do not retain a duplicate history ref. The Reword button preference affects only that button, not scheduled rewrites.
  • Commit history follows local branches, so Jump Here can navigate backward and forward while HEAD is detached. Jumping to a commit that is the unique tip of a local branch reattaches that branch.
  • Starting monitoring reconciles Git changes already present in the working tree, including changes made while monitoring was paused, and commits only those reported paths through the normal guarded monitoring pipeline.
  • Adding any folder immediately enables monitoring in the UI. Existing Git repositories start their watcher at once; non-repositories stay armed and attach the watcher automatically when Init Repo completes, without another Play click.
  • Automatic stashing, forced checkout, rebase abort, and hard-reset recovery are not used by monitoring or commit-message rewriting.
  • Commit squashing is temporarily disabled until it uses the same transactional worktree mechanism.

Settings

  • Sky Mode:
    Toggle between light and dynamic themes that adjust color to the current sky color in your area.
  • Autostart:
    Enable or disable Auto-Git to start automatically on system boot.
  • Close to Tray:
    Minimize Auto-Git to the system tray instead of closing it completely.
  • Intelligent Commit Thresholds:
    Set file change or time-based thresholds for automatic commits.
  • AI Model Selection:
    • Default for commit message inference: qwen2.5-coder:7b
    • Default for README generation: qwen2.5-coder:32b
  • Gitea API Key:
    Enter your Gitea API token to push repositories online with one click.

Build from Source

If you want to build Auto-Git yourself, follow these steps:

  1. Clone or download the repository to your local machine.
  2. Install Node.js, npm, Rust, and the Tauri prerequisites for your operating system.
  3. Open a terminal, navigate into the project folder, and run:
    npm install
    
  4. Run the app in development mode:
    npm start
    
  5. Build the Tauri distributables:
    npm run dist
    
  6. The output installers/packages will be located under src-tauri/target/release/bundle/.

License

This project is licensed under the MIT License. See LICENSE for details.