Files
claudetools/.claude/commands/sync.md

1.9 KiB

Sync the ClaudeTools and vault repos with Gitea.

What this does

Invokes bash .claude/scripts/sync.sh, which:

  1. Detects local changes (including untracked-only files) via git status --porcelain; stages with git add -A and auto-commits with sync: auto-sync from <hostname> at <timestamp>
  2. Fetches from origin, rebases local commits onto remote
  3. Pushes to origin
  4. Copies .claude/commands/*.md~/.claude/commands/ so the global Claude CLI commands stay current without a manual copy
  5. Repeats steps 1-3 for the vault repo (path read from .claude/identity.json vault_path field)
  6. Surfaces any ## Note for <user> / ## Message for <user> blocks from incoming session logs

The script is the single source of truth for git operations. Both /sync and /save invoke it.


Cross-user note handling (CRITICAL)

If sync surfaces a note from another user, display it prominently at the top of the response, before the sync summary, formatted as:

============================================================
MESSAGE FROM <author> (<date>)
============================================================
<full note content>
============================================================

Address each action item or question explicitly before moving on. Do not bury cross-user notes in the sync summary or skip them because other work is in progress.


Output format

Report:

  • Pulled commits — count + authors + one-line summaries
  • Pushed commits — count + your commits + outgoing SHAs
  • Vault sync status — pulled/pushed/clean
  • Cross-user notes addressed (if any)
  • Final HEAD + status

Companion: /save

/save writes a comprehensive session log first, then invokes the same sync.sh. Use /save after substantive work to capture context for future sessions. Use /sync for routine repo sync without writing a log (start of day, switching machines, mid-session check-in).