Ціль: тримати wiki в ag-wiki у git-синхроні між Desktop Claude (write) і VPS Claude (read), щоб обидва бачили одну пам'ять.
Ролі:
git pull --rebase.Canonical origin: https://github.com/serhiivereschak/ag-wiki
Підстав поточну дату у форматі YYYY-MM-DD (наприклад 2026-04-21). Далі по тексту позначено {{DATE}} — ти замінюєш на реальну дату, НЕ копіюєш літерально.
Використай request_cowork_directory для:
D:\Users\Sergey.Vereschak.DELTAMEDICAL\Documents\ag-wiki
Якщо доступ вже попередньо виданий в allowlist — пропусти.
Перш ніж редагувати щось — підтягни останній стан з GitHub (там можуть бути коміти з VPS або попередніх ручних edit'ів):
cd D:\Users\Sergey.Vereschak.DELTAMEDICAL\Documents\ag-wiki
git fetch origin
git pull --rebase origin main
Якщо rebase падає на конфліктах — зупинись, абортни (git rebase --abort) і повідом користувача з git status виводом. Не намагайся автоматично резолвити.
Прочитай:
.claude/skills/**/SKILL.md — усі скіли (mtime покаже свіжі)ag-wiki/open-tasks.md — щоб знати що треба закритиКритерій «свіже»: SKILL.md mtime > дати у > Оновлено: … на відповідній wiki-сторінці. АБО у поточній сесії є нова інформація яка не існує в wiki.
Якщо жоден критерій не справджується — зроби early exit з повідомленням «nothing to sync today», НЕ створюй порожніх комітів.
Прочитай всі .md в ag-wiki (README.md, projects-overview.md, open-tasks.md, user-profile.md, tech-stack.md, та index.md в підпапках: lunar-hubble, ad-analytics, pediatric-news, zest-content, delta-medical, infrastructure, brand-threads, med-detective, arteggia-bot, case-builder-crew, resource-dashboard, скіли тощо).
Зрозумій що вже задокументовано. Не рерайт, а доповнення.
Для кожної сторінки де знайшов різницю:
> Оновлено: {{DATE}} (замінивши {{DATE}} на реальну дату)projects-overview.mdopen-tasks.md у sessions/{{DATE}}-sync.md під заголовком «Closed today»Жодних нових сторінок без необхідності. Якщо існує сторінка з близькою тематикою — доповнюй її.
Перевір що ти реально щось змінив:
git status --porcelain
Якщо порожньо — exit з «nothing to commit», НЕ йди далі у Крок 7.
-A!)Ніколи не використовуй git add -A або git add . — може захопити секрети або чернетки.
Явний паттерн:
git add '*.md'
git add '**/*.md'
Перевір staged:
git diff --cached --name-only
Якщо серед staged бачиш файли що НЕ .md (наприклад .env, .bak, token.txt) — стоп, абортни (git reset) і повідом користувача.
git diff --cached --quiet; if ($LASTEXITCODE -eq 1) { git commit -m "auto: wiki memory sync {{DATE}}" }
(Умовний commit — тільки якщо реально є staged changes.)
git push origin main 2>&1 | Tee-Object -FilePath D:\Users\Sergey.Vereschak.DELTAMEDICAL\Documents\ag-wiki\.last-push.log
Якщо push впав:
.last-push.logЦе критично для спільної пам'яті — без цього VPS Claude продовжить бачити старий стан.
Через SSH на root@31.131.26.203:
cd /srv/wiki && git fetch origin && git pull --rebase origin main 2>&1
echo "VPS_PULL_EXIT=$?"
Якщо на VPS є локальні uncommitted зміни (може статись якщо VPS Claude щось записав, наприклад sessions/{{DATE}}-*.md):
git add sessions/, git commit -m "auto: vps sessions {{DATE}}", git pushЯкщо SSH упав (network / ключ / firewall) — НЕ «пропусти», а запиши у лог і повідом. Без VPS pull задача вважається failed.
Перевір всі 3 критерії:
git log origin/main..main у Desktop — порожньо (push синхронний)git rev-parse HEAD == на Desktop git rev-parse HEADДоповіди користувачу 1 рядком:
git add захопив не-.md файли — abortРекомендую 1 раз на день о 23:00 Europe/Kyiv (кінець робочого дня). Якщо промо-активність — можна 2 рази (обід + вечір), але не частіше — wiki не повинна стати змаганням з реальним роботом.
Токен GitHub у git remote get-url origin поточно видно у plain URL. Це ОК тимчасово, але варто перенести в ~/.git-credentials або в Windows Credential Manager для Desktop і в ~/.git-credentials для VPS. Ротація токена — кожні 90 днів, нагадай користувачу.