| name | sync |
| description | Use when the user says "sync" or wants to commit, rebase, push, and converge this dotfiles repo. Uses just up as the public converge command. |
Sync
Full dotfiles sync: commit, rebase, converge with just up, then push.
Steps
-
Check for changes
git status
git diff
-
Commit if changes exist
- Analyze diff for distinct semantic changes
- Make multiple commits if changes span different scopes/concerns
- Use conventional commit format with scope from CLAUDE.md
- Example: fish config change + claude settings change = 2 commits
-
Rebase onto remote
git pull --rebase
-
Resolve conflicts if any
-
Converge the machine
just up
-
Inspect post-converge drift
just up can capture intentional live config back into repo source
- Run
git status again
- If new intentional source changes appeared, commit them before pushing
-
Push
git push
git status
-
Relay sudo reminder if shown
- If output shows
sudo ./scripts/sync-sudo.sh, tell the user exactly that
What just up Does
just up:
- refreshes the cached symlink manifest
- runs the dotctl healer once
- deploys symlinks and runs lifecycle scripts
- Runs lifecycle scripts (brew bundle, node setup, macOS defaults, etc.)
- installs or reloads the launchd healer
- leaves read-only inspection to
just status, just doctor, and just explain
./scripts/sync-sudo.sh (user runs manually, only if needed):
- Power management (display sleep)
- Touch ID for sudo
- Fish as default shell (/etc/shells + chsh)
Troubleshooting
- Machine health:
just status
- Deep drift check:
just doctor
- Explain one target:
just explain <target>
- Low-level diff:
dotctl status / just status
- Encrypted files:
just edit <target>