Skip to content
ashtonianPublic

About

Find, clone and keep in sync every repo you work on across GitHub, GitLab and Gitea/Forgejo, then launch coding agents on them side by side.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

gitten

Find, clone and keep your repos in sync across GitHub, GitLab and Gitea/Forgejo, with the right account per repo. Launch coding agents in separate workspace copies and back up their uncommitted work.

Runs on macOS and Linux. Requires git on PATH.

Highlights

  • Discovery across accounts and hosts. Find repos by owner, organization, search, name, language or topic; saved rules pick up new matches.
  • The right identity. Apply each account's SSH key, commit identity and signing settings to the repos it covers.
  • Scheduled sync and backups. Fetch repos and snapshot uncommitted work, with optional offsite copies and upstream mirrors.
  • Parallel coding agents. Give each agent its own branch and worktree or clone, then open them side by side with tmux, iTerm or Muxy.
  • Portable setup. Share configuration and a manifest across machines; preview configuration changes with plan before applying them.

Backups leave the working tree, index and branches untouched. Branch fast-forwarding, offsite pushes and cleanup follow explicit configuration; see scope and the backup and recovery guarantees.

Install

brew install --cask ashtonian/tap/gitten        # macOS
go install github.com/ashtonian/gitten@latest   # Go version: see go.mod
docker pull ghcr.io/ashtonian/gitten            # linux/amd64, linux/arm64

The releases have archives for macOS and Linux on amd64 and arm64, with checksums. Name the cask in full, ashtonian/tap/gitten: Homebrew asks you to trust a third-party tap, and naming its cask does.

gitten shells out to git, so git must be on PATH.

Quick start

gitten setup     # a few questions, a review, then it writes the config, clones and installs the background sync
gitten status    # what it tracks
gitten cd api    # jump to a repo (a new terminal picks up the shell integration)

setup detects accounts, existing clones and tools, previews the proposed configuration, and asks before writing it. It can configure your shell and install background sync. Re-run it to change your setup; see the full setup guide.

Already have clones? Track one and sync it without writing a config:

gitten adopt ~/code/myrepo
gitten sync
gitten status

Find more repos

Preview a selection, then clone it and choose whether to save it as a rule:

gitten clone --org acme --name billing --dry-run
gitten clone --org acme --name billing

Saved discovery rules keep finding new matches on later syncs. See finding your repos for accounts, filters and searches.

Work with coding agents

For a tracked repo, create four copies and open an agent in each:

gitten ws create app --repo github.com/me/app --agents 4
gitten ws open app --agent claude
gitten top

This example needs Claude and a launcher such as tmux installed. Agent profiles also support Codex and custom commands. See workspaces, launchers, and live status.

Documentation

Task Guide
Set up or move to another machine Setup, shared manifests
Find and clone repos Discovery and filters
Configure layout, clone shapes, hooks and sets Configuration, example configs
Manage accounts, SSH keys and signing Authentication and accounts
Understand configuration changes Plan and apply
Protect and recover work Backups, offsite copies and mirrors, archives
Run agents across one or more repos Workspaces, fleets and launchers
Schedule sync and diagnose failures Scheduling, operations
Find a command, flag or exit code Command reference, shell integration
Contribute Contributing, architecture, detailed spec

See the documentation index, the fully annotated config.example.yaml, and SECURITY.md.

License

MIT — see LICENSE.

About

Find, clone and keep in sync every repo you work on across GitHub, GitLab and Gitea/Forgejo, then launch coding agents on them side by side.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages