Deletions (~1,500 lines of dead docs): - .claude/hooks/ — docs-only directory, no executables. Referenced scripts setup-context-recall.sh / test-context-recall.sh did not exist. Hooks would have POSTed to localhost:8000; the API actually ran at 172.16.3.30:8001 and is no longer in use. - .claude/AUTO_CONTEXT_SYSTEM.md — 347-line duplicate spec of CLAUDE.md's Automatic Context Loading section, referencing unimplemented hooks. - .claude/URGENT-vault-path-bug.md — 217-line urgency note for a fix that already shipped weeks ago. - .claude/context-recall-config.env.example — config template for the same dead system. Refactors (~500 lines net removed): - /save and /sync now wrap bash .claude/scripts/sync.sh as the single source of truth for git ops. /save adds a session-log-writing step in front; /sync invokes the script directly. - Dropped /sync's manual git phases that contradicted sync.sh. - Dropped the cp -r ~/ClaudeTools/.claude/commands/* ~/.claude/commands/ step (clobbered per-user customization in the multi-user model). - Dropped auto-invoke of /refresh-directives (command does not exist). - Dropped references to directives.md (file does not exist). - /save now documents the rm -f save_narrative_prompt.txt step, fixing the stale-prompt bug Howard documented in feedback_tmp_path_windows.md. Fixes: - CLAUDE.md SESSION_STATE.md reference replaced with the canonical PROJECT_STATE.md (per-project, with protocol at .claude/PROJECT_STATE_PROTOCOL.md). 16 client folders already use PROJECT_STATE.md; SESSION_STATE.md was only a stale reference. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
Sync the ClaudeTools and vault repos with Gitea.
|
|
|
|
## What this does
|
|
|
|
Invokes `bash .claude/scripts/sync.sh`, which:
|
|
|
|
1. Stages tracked local changes **by name** (never `git add -A` — avoids picking up `.env`, generated files, etc.)
|
|
2. Auto-commits any local changes with `sync: auto-sync from <hostname> at <timestamp>`
|
|
3. Fetches from origin, rebases local commits onto remote
|
|
4. Pushes to origin
|
|
5. Repeats 1-4 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).
|