← ClaudeAtlas

config-synclisted

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.
cmin764/configs · ★ 1 · Data & Documents · score 64
Install: claude install-skill cmin764/configs
# config-sync This repo is a fresh-Mac bootstrap for hand-edited configuration. The scope rule is load-bearing: **only configuration a human deliberately edited** goes in here. Anything a tool accumulated by itself (installed-package lists, plugin caches, extension inventories) gets regenerated on the new machine instead of committed -- `brew bundle dump`, `cursor --list-extensions`, and similar exist for that. `scripts/sync.py` (stdlib only) does the mechanical work. This file is the judgment layer: what's safe to automate, what needs a human, and the restore order on a bare machine. ## The three ways a file is kept in sync | Kind | Files | Why | |---|---|---| | **Symlink** | `.zprofile`, `.zshrc`, `.vimrc`, `.gitconfig`, `.gitignore_global` | Repo and machine are the same inode. Nothing to sync, drift is structurally impossible. | | **Symlink (per Claude profile)** | `.claude/user/CLAUDE.md`, `.claude/user/RTK.md`, `.claude/user/hooks/`, `.claude/skills/` | Same as above, but applied once per Claude Code profile directory: `~/.claude` plus any `~/.claude-<org>` created for per-org account isolation (see restore step 7). A fresh Mac only has `~/.claude`. These are the user's own authored tooling (this repo's skills, hooks, memory files) -- deliberately identical everywhere, unlike plugins/MCP below: there's no personal-vs-work split for skills *you* wrote, only for third-party installs. A project's own `.claude/skills/` (versioned and shared with a team through that proj