Push & Pull

Full reference for syncing state between machines

Push

Push uploads your tracked configs, secrets, env files, modules, packages, and projects to the cloud. Everything is encrypted locally before transmission.

Terminal

configsync push -m "updated ssh config"

-m <msg>Snapshot message (shown in history)
--filter <items>Push only specific items (see Selective Sync)
--changedOnly push items that differ from last push (uses content hashing)
--no-cacheSkip cache and re-read all files from disk
--no-deleteDo not remove remote items that were untracked locally
-y, --yesSkip confirmation prompts
--i-know-what-im-doingBypass all safety checks (use with extreme caution)

Pull

Pull downloads and restores state from the cloud onto the current machine.

Terminal

# Preview changes without applying

configsync pull --dry-run

# Pull from a specific machine

configsync pull --from work-macbook

# Restore a specific snapshot

configsync pull --snapshot snap_abc123

--dry-runShow what would change without writing to disk
--filter <items>Pull only specific items (see Selective Sync)
--snapshot <id>Restore a specific snapshot from history
--from <machine>Pull state from a specific machine
--forceOverwrite local files without prompting
--installInstall missing packages (prompts for confirmation)
--install-yesInstall missing packages without prompting
--no-packagesSkip package restoration entirely
--cloud-winsAlways prefer the cloud version on conflicts
--no-deleteDo not remove local items that were untracked remotely
--list-machinesShow available machines and exit
--group <name>Pull only projects in this group
--project <name>Pull only this project
-y, --yesSkip confirmation prompts
--skip-bootstrapSkip bootstrap script execution
--rerun-bootstrapForce re-run bootstrap even if already done

Global Flags

These flags work with both push and pull:

--env <name>Use a specific environment context
--profile <name>Use a specific profile context

Bidirectional Sync

Terminal

configsync sync

Compares local and remote state and syncs in both directions. Newer changes win. Conflicts are prompted interactively.

Other Commands

Terminal

# Check sync status and pending changes

configsync status

# List all tracked items

configsync list

# Diagnose configuration issues

configsync doctor

# Authenticate with the cloud

configsync login --token cs_your_token_here

configsync logout

# Show differences between local and remote state

configsync diff

configsync diff --from work-macbook --stat

configsync diff --snapshot snap_abc123 --name-only

configsync diff --filter module:ssh

# One-command setup: init, connect, and pull

configsync setup --token cs_xxx

configsync setup --token cs_xxx --from work-macbook

configsync setup --api-url https://custom.example.com

# Generate shell completions

configsync completions zsh > ~/.zsh/completions/_configsync

configsync completions bash > /etc/bash_completion.d/configsync