repo-sync
Your Git repos, always in sync.
You edit. After 60 seconds of quiet, repo-sync commits, pulls, and pushes. It starts at login and runs in the background.
For shared team repos containing documents, finance, legal, skills, and team context. Not intended for complex software development projects. macOS only.
Install
brew install --cask vectal-labs/tap/repo-sync && repo-sync setup
https://github.com/user-attachments/assets/ef544205-2178-42d1-84e6-daf3ff460009
Requires Homebrew. Git and GitHub CLI are installed for you.
setup finds your repos, checks Git access, and starts the background service. You choose which repos to sync or enter a path. Nothing is preselected. It explains automatic commits and verifies the service before finishing.
Install with Go
Requires Go, Git, and the Xcode Command Line Tools. GitHub CLI (gh) is only needed if setup must configure GitHub authentication over HTTPS.
go install github.com/vectal-labs/repo-sync@latest
"$(go env GOPATH)/bin/repo-sync" setup
If you set GOBIN, use that directory instead. Add the binary directory to your PATH to use repo-sync directly.
Usage
repo-sync add # sync the repo you're in
repo-sync add ~/code/notes # sync a repo by path
repo-sync status # check the service and repositories
Agent skill
The binary includes an optional skill that teaches your AI agent how to set up, check, and stop repo-sync. Setup offers to install it. You can also run:
repo-sync skill install
repo-sync skill status
repo-sync skill uninstall
Homebrew upgrades refresh installed, unchanged copies. Customized files are preserved. Installation and supported agents.
Safety
- Secret filenames like
.env, *.pem, and .npmrc are blocked by default. No content scanning.
- No force-pushes or automatic conflict resolution. On conflict, it aborts the rebase and retries later.
- Only the remote's default branch syncs. Feature branches stay untouched.
Behavior and configuration · Secret overrides
Uninstall
repo-sync uninstall
Asks before removing the service, settings, logs, cache, installed binary, and unchanged managed agent skills. Repositories, shared Git credentials, and customized skill folders are preserved. Use --yes to skip confirmation, or --keep-binary to keep the program.
For Homebrew, brew uninstall --cask --zap repo-sync also removes the standard settings, logs, and cache. Plain brew uninstall stops the service and keeps those files.
MIT license