Lincb522/GitGatto

原生 macOS Git 客户端,以 Agent 驱动仓库管理、审阅与协作。

GitGatto – A macOS‑native Git & GitHub client with AI‑assisted workflows

What it is

  • A native macOS application (Apple Silicon + Intel) written in Swift 6 that sits on top of the system‑installed Git and the GitHub CLI.
  • It adds a graphical interface for everyday Git operations and a set of safety‑net and productivity features aimed at developers who also use AI‑powered “agents” (e.g., Codex, Claude, Gemini, Copilot, OpenAI‑compatible APIs).

Key capabilities

Feature What you get
Backup & recovery Automatic creation of Git bundles and snapshots of un‑committed files (up to three rotating restore points per repository). A “Recovery Center” lets you compare, export or restore these points, even after a crash or power loss.
Background monitoring A menu‑bar helper can keep watching repositories after the main window is closed, reporting un‑committed changes, upstream sync status, CI actions, and a daily activity heat‑map.
Goal‑oriented delivery Define a “goal” (e.g., commit & push, open PR, publish release, or a custom sequence). GitGatto walks you through each step, checks the real Git/GitHub state, and can resume after interruptions.
Intent‑driven change grouping The Change Center groups modified files or diff hunks, lets you write separate commit messages, or ask an attached AI agent to suggest a logical grouping before committing.
Regression bisect workspace Run git bisect without leaving your current working tree. Results (commands, exit codes, timings, output) are saved, and you can hand the evidence to an AI agent for automated fixing.
Evidence capsules Export a reproducible “.gatto” package containing a base commit, patches, untracked files, failed commands and tool versions. The package can be imported into an isolated worktree for debugging or sharing.
Agent integration Supports dozens of LLM‑backed CLIs (Claude, Gemini, Copilot, etc.) and generic OpenAI‑compatible APIs. Agents can draft commit messages, suggest PR content, translate documentation, or run custom commands, all within a controlled sandbox.
Project tools Built‑in code search across repositories, command runner with live output, .gitignore visual editor, and per‑repo author/signature management.
Installation & toolchain management A built‑in installer detects and upgrades up to 99 local development tools (Homebrew, SDKs, etc.) in parallel queues, then verifies the binaries on‑disk.
UI & theming Six visual themes (including a highly customizable “曜幕” mode), multilingual UI (11 languages), and a flexible side‑panel layout.

How it works

  • The app never replaces the underlying Git binary; it invokes the system git and gh commands, then parses the output.
  • AI agents are invoked via their CLI wrappers or directly through an OpenAI‑compatible HTTP API. API keys are stored in the macOS Keychain and are only sent when you explicitly run an agent‑powered action.
  • All local data (repo lists, goals, backup bundles, translation cache, etc.) stays on the machine unless you export it. Network calls are limited to GitHub (for repo browsing, PR/Issue actions) and to the configured AI service.

Who might use it

  • macOS developers who want a richer Git client that also helps them keep un‑committed work safe.
  • Teams that rely on LLM‑driven code assistants and need a way to audit what the assistant changed.
  • Anyone looking for a “time‑machine” for their Git workspaces without leaving the IDE.

Getting started

  1. Download the latest DMG from the Releases page and drag GitGatto into Applications.
  2. Open a local repository (or let the app scan for them) and sign in with the GitHub CLI.
  3. Configure your preferred AI agent under Settings → Agents (provide the CLI path or API key).
  4. Explore the menu‑bar widget for quick status, or open the full window to create goals, run bisects, and manage backups.

Development

  • Requires macOS 14+, Swift 6.1+, and Xcode 15+. The project uses Swift Package Manager, SwiftUI, AppKit, WebKit, Alamofire, and Sparkle for auto‑updates.
  • Build with swift run GitGatto or open GitGatto.xcodeproj.

License: MIT (see LICENSE).


All details above are taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project