sc-sync

Solid

rsync gitignored files between a VPS and a local machine over Tailscale, for a repo checked out (mirrored path) on both. Two directions: vps-local and local-vps, selected by SYNC_ROLE crossed with the requested direction (never by sniffing hostname). Always dry-run first, --apply to actually copy. Trigger on /sc-sync, 'sync vps to local', 'sync local to vps', 'tailscale sync', 'gitignored files between machines'.

AI & Automation 12 stars 2 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 85/100

Stars 20%
37
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# /sc-sync — Gitignored-file sync over Tailscale ## Why this exists A repo is checked out on two machines (say, a VPS and a laptop). `.gitignore` deliberately keeps some files out of git — local notes, generated docs, scratch config — so they never travel with `git push` / `git pull`. Plain SSH `scp`/`rsync` between the two kept failing (NAT, dynamic IP, firewall...); Tailscale is confirmed working on both ends. This skill wraps `rsync` over the Tailscale interface so those gitignored files can move in either direction without inventing a new transport. It deliberately does **not** try to guess which machine it's running on via `hostname` — that leaks a real, personally-identifying hostname into logs and breaks the moment either machine is renamed or reimaged. Instead the invoking side declares itself explicitly via `SYNC_ROLE`. ## Requirements - Both machines joined to the **same tailnet** (`tailscale status` shows both). - The repo is checked out at the **same absolute path** on both machines (the default `SYNC_REMOTE_PATH` assumes this — override it if the layout differs). - `rsync` installed on both machines. - **The non-invoking side needs inbound SSH reachable** over Tailscale — rsync tunnels through SSH by default. That means: - Linux/macOS: `sshd` running, reachable from the tailnet. - **Windows: OpenSSH Server is NOT on by default.** You must explicitly enable "OpenSSH Server" (Settings → Optional Features, or `Add-WindowsCapability -Online -Name...

Details

Author
rahmanef63
Repository
rahmanef63/si-coder-agent
Created
5 months ago
Last Updated
2 days ago
Language
JavaScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Listed

config-sync

Sync hand-edited development configuration between this repo and the live machine, and restore it on a fresh Mac. Use when the user wants to check what's drifted between ~/Work/cmin764/configs and their home directory, wants to push repo config onto the machine or pull machine changes back into the repo, is setting up a new Mac, or mentions rotating the secrets in ~/.zprofile.local. Covers shell/git dotfiles, Claude Code user settings, and app configs (Cursor, Codex, iTerm2, Sublime, Docker) -- not the repo's skills themselves, which are just files.

1 Updated 3 days ago
cmin764
AI & Automation Listed

sync-library

Keep your agentstack central library (~/.agentstack/lib) consistent across machines by versioning it as a git repo — commit the index and path-source skill bodies, exclude the content store cache and any resolved secrets.

3 Updated 4 weeks ago
Tarekkharsa
AI & Automation Listed

ghsync

Bulk clone and keep in sync every GitHub repo you can access across an org or personal account. For an org it unions the repos reachable through the teams you belong to with the org's repo list (so direct-collaborator and public repos count even with no team membership); for a personal account it uses the account's repo list. Deduplicates them, then clones new ones and fast-forward syncs existing ones (and their worktrees) into a consistent <repo>/<repo>-main + <repo>/worktree layout. The org defaults to the directory you run from, so dropping into ~/dev/github.com/<org> mirrors that org. TRIGGER when the user types /ghsync, wants to clone or sync all org repos or their own personal repos, asks to mirror everything they have access to, is onboarding into a new enterprise/org, or wants to refresh their local checkouts to latest.

30 Updated today
bjcoombs