Claudebase sync-pull

Use when the user wants to restore, download, or pull their Claude Code config from GitHub onto this machine.

install
source · Clone the upstream repo
git clone https://github.com/rohithzr/claudebase
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/rohithzr/claudebase "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sync-pull" ~/.claude/skills/rohithzr-claudebase-sync-pull && rm -rf "$T"
manifest: skills/sync-pull/SKILL.md
source content

Config Sync Pull

Pull configuration from your GitHub backup repo and apply it to the local machine.

What happens

  1. Backup — Current local config is backed up to plugin data directory (timestamped, keeps last 10)
  2. Apply shared — Files from
    shared/
    directory are applied first (base layer)
  3. Apply profile — Profile-specific files overlay on top (overrides shared where both exist)
  4. Apply global — User-level settings from
    global/
    are applied to
    ~/.claude/
  5. Verify — JSON config files are validated for correct syntax

Instructions

Parse user arguments and run the pull script:

bash "${CLAUDE_PLUGIN_ROOT}/scripts/sync-pull.sh" [OPTIONS]

Options:

  • --profile NAME
    — Pull a specific profile (default: active profile)
  • --dry-run
    — Show what would be applied without writing any files
  • --no-backup
    — Skip backup step (use with caution)
  • --yes
    /
    -y
    — Skip confirmation prompt (auto-approve)
  • --include-global
    — Also pull
    ~/.claude/settings.json
    (global settings are opt-in)

Profile switching

If the user specifies a different profile than their current one, this effectively switches their setup. Let them know which profile they're switching from/to.

After pull

Tell the user:

  • How many files were applied
  • Any validation warnings
  • That a backup was created (and where)
  • They may need to restart Claude Code for some settings to take effect

User Arguments

$ARGUMENTS