48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
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).
|