Autogitter
Autogitter (ag) is a Git repository synchronization tool that helps you manage multiple repositories across different providers.
Features
- Multi-Provider Support - GitHub, Gitea, and Bitbucket (Cloud + Server)
- Flexible Sync Strategies - Manual lists, fetch all from API, or regex pattern matching
- Parallel Operations - Clone and pull with configurable worker pools
- Remote Configs - Load configuration from HTTP/HTTPS URLs or SSH paths
- Dry Run Mode - Preview changes before applying them
- Interactive CLI - Beautiful diffs, prompts, and progress indicators
- SSH Options - Custom ports and private keys per source
Quick Start
# 1. Install
go install github.com/arch-err/autogitter/cmd/ag@latest
# 2. Set up authentication (for all/regex strategies)
ag connect
# 3. Create and edit your config
ag config
# 4. Sync your repositories
ag sync
# 5. Keep repos updated
ag pull
Example Config
sources:
# Sync all repos from a GitHub user
- name: "GitHub"
source: github.com/your-username
strategy: all
local_path: "~/Git/github"
# Sync specific repos manually
- name: "Work"
source: gitea.company.com/myteam
strategy: manual
local_path: "~/Git/work"
repos:
- myteam/project-alpha
- myteam/project-beta
# Sync repos matching a pattern
- name: "APIs"
source: github.com/myorg
strategy: regex
local_path: "~/Git/apis"
regex_strategy:
pattern: "^myorg/api-.*"
# Bitbucket Server with custom SSH port
- name: "Bitbucket"
source: bitbucket.company.com/~username
strategy: all
type: bitbucket
local_path: "~/Git/bitbucket"
ssh_options:
port: 7999
private_key: "~/.ssh/work_key"
Documentation
- Installation - How to install autogitter
- Configuration - Config file format and options
- Usage - Commands and flags reference