# Repo Sync

Manage automatic Git syncing on macOS with repo-sync.

- Repository: https://github.com/davidondrej/skills (4238 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add davidondrej/skills --skill repo-sync -g -a claude-code -y`
Codex: `npx skills add davidondrej/skills --skill repo-sync -g -a codex -y`
Cursor: `npx skills add davidondrej/skills --skill repo-sync -g -a cursor -y`
Gemini CLI: `npx skills add davidondrej/skills --skill repo-sync -g -a gemini-cli -y`

## Description

Manage automatic Git syncing on macOS with repo-sync. Use only when the user explicitly invokes /repo-sync.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# repo-sync

## What it does

Sync shared Git repos for team documents, notes, skills, and context on macOS. Complex software projects and pull request workflows are outside scope.

By default, after 60 seconds without local edits, repo-sync commits eligible non-ignored changes (including staged edits, renames, and deletions), rebases, and pushes. It checks remote changes every 60 seconds and starts at login without an AI agent.

Only the remote's default branch syncs (`origin/HEAD`, falling back to `main`). Feature branches and detached HEAD are skipped; branches are never switched.

## Check first

```sh
command -v repo-sync
repo-sync help
```

Installed help is the command contract. Older binaries may lack `skill`, `remove`, `status`, or `version`; run `repo-sync version` when listed. Installing the skill does not install or upgrade the binary.

Default config: `~/Library/Application Support/repo-sync/config.json`. Check `ProgramArguments` in `~/Library/LaunchAgents/com.vectal-labs.repo-sync.plist` for a custom path and use the selected config throughout. Flags precede positional arguments.

Read [references/operations.md](references/operations.md) for custom settings, unsupported commands, legacy removal, upgrades, or failed checks.

## Start syncing

A request to sync a named repo authorizes automatic commits and pushes. Mention that staged changes are included; do not ask again when already authorized.

For a fresh installation:

```sh
brew install --cask vectal-labs/tap/repo-sync
repo-sync setup
repo-sync status
```

Homebrew must already be available; it installs Git and GitHub CLI. Setup checks identity/access and service health, and preserves existing registrations. Select only requested repos.

For an existing local clone:

```sh
repo-sync add "/absolute/path/to/notes"
repo-sync status
```

The rest: https://github.com/davidondrej/skills/blob/HEAD/skills/ops-and-setup/repo-sync/SKILL.md
