sync-with-claude
SKILL.md
Sync ~/.claude to Repository
Sync configuration files from ~/.claude to claude-code-config folder in this repository.
Configuration
- Source:
~/.claude - Target:
$CWD/claude-code-config
Directories to Sync
- commands/ - Slash commands (.md files and subdirectories)
- skills/ - Skills (subdirectories with SKILL.md)
- agents/ - Agent definitions (.md files)
- scripts/ - All script projects (statusline, command-validator, auto-rename-session, claude-code-ai, etc.)
- settings.json - Claude Code settings (hooks, permissions, env)
Exclusions
Always exclude:
node_modules/- Dependencies (reinstall locally)data/- Runtime data*.db- Database files*.log- Log filesbun.lockb- Lock files.DS_Store- macOS filesmelvyn/- Personal commands (NEVER sync this folder)
Additional exclusions: See references/do-not-copy.md for personal/private paths that must NEVER be copied.
Protected paths: See references/do-not-change.md for paths in the target that must NEVER be updated or deleted.
Process
Step 1: Read Exclusions
Read both exclusion lists before syncing:
- references/do-not-copy.md - paths to not copy from source
- references/do-not-change.md - paths to preserve in target
Step 2: Dry-Run Preview
Run rsync with --dry-run to list ALL changes without applying them:
# Preview commands sync (preserve setup-tmux in target)
rsync -avn --delete --exclude 'melvyn' --exclude 'prompts/setup-tmux.md' ~/.claude/commands/ $CWD/claude-code-config/commands/
# Preview skills sync
rsync -avn --delete \
--exclude 'melvyn-dub-cli' \
--exclude 'melvyn-softcompact' \
--exclude 'variations-generator' \
--exclude '__disabled__' \
~/.claude/skills/ $CWD/claude-code-config/skills/
# Preview agents sync
rsync -avn --delete ~/.claude/agents/ $CWD/claude-code-config/agents/
# Preview scripts sync (preserve .claude/ in target)
rsync -avn --delete \
--exclude 'node_modules' \
--exclude 'data' \
--exclude '*.db' \
--exclude '*.log' \
--exclude 'bun.lockb' \
--exclude '.DS_Store' \
--exclude '.claude' \
~/.claude/scripts/ $CWD/claude-code-config/scripts/
# Preview settings.json diff
diff ~/.claude/settings.json $CWD/claude-code-config/settings.json || true
Step 3: Show Summary & Ask for Confirmation
Present a clear summary of what will be:
- Added: New files to be copied
- Updated: Modified files to be overwritten
- Deleted: Files in target that don't exist in source (due to --delete)
ASK USER FOR CONFIRMATION before proceeding. Do NOT sync without explicit approval.
Step 4: Execute Sync (only after approval)
# Sync commands (exclude melvyn/ folder, preserve setup-tmux in target)
rsync -av --delete --exclude 'melvyn' --exclude 'prompts/setup-tmux.md' ~/.claude/commands/ $CWD/claude-code-config/commands/
# Sync skills (exclude paths from do-not-copy.md)
rsync -av --delete \
--exclude 'melvyn-dub-cli' \
--exclude 'melvyn-softcompact' \
~/.claude/skills/ $CWD/claude-code-config/skills/
# Sync agents
rsync -av --delete ~/.claude/agents/ $CWD/claude-code-config/agents/
# Sync scripts (with exclusions, preserve .claude/ in target)
rsync -av --delete \
--exclude 'node_modules' \
--exclude 'data' \
--exclude '*.db' \
--exclude '*.log' \
--exclude 'bun.lockb' \
--exclude '.DS_Store' \
--exclude '.claude' \
~/.claude/scripts/ $CWD/claude-code-config/scripts/
# Sync settings.json
cp ~/.claude/settings.json $CWD/claude-code-config/settings.json
Step 4.5: Fix hooks paths in settings.json
ALWAYS run the after-sync script to replace hardcoded absolute paths (e.g. /Users/melvynx/.claude/) with the portable {CLAUDE_PATH}/ placeholder:
bash $CWD/.claude/skills/sync-with-claude/scripts/after-sync.sh $CWD/claude-code-config/settings.json
Step 5: Review & Finish
- Review changes with
git status - DO NOT COMMIT - Let the user review and commit manually
Success Criteria
- All directories synced without errors
- Exclusions properly applied (no node_modules, data, melvyn/, etc.)
- Show git status at the end for user to review
User: Sync now #$ARGUMENTS
Weekly Installs
4
Repository
twikus/claude-c…gurationGitHub Stars
1
First Seen
13 days ago
Security Audits
Installed on
opencode4
gemini-cli4
qwen-code4
claude-code4
github-copilot4
codex4