Pull upstream updates into private NanoClaw. The chain is qwibitai → public → private. This skill handles both pulling qwibitai changes into public and then merging public into private. Use when upstream has new features, when the user asks to update, or when /update-nanoclaw is invoked.
Pull updates through the chain: qwibitai/nanoclaw → jbaruch/nanoclaw-public → jbaruch/nanoclaw (private).
Overview: Three steps — (1) sync public repo from qwibitai, (2) merge public into private, (3) deploy to NAS. Check the "When NOT to update" section before starting.
cd ~/Projects/nanoclaw-public
git fetch origin # public's own main
git checkout main
git pull origin main
# Add qwibitai as remote if not present
git remote get-url qwibitai 2>/dev/null || git remote add qwibitai https://github.com/qwibitai/nanoclaw.git
git fetch qwibitai
# Preview what will be merged before committing
git diff --stat qwibitai/main
git merge qwibitai/main
# Verify the merge looks correct before pushing
git log --oneline -3
# Resolve conflicts if any, then push
git push origin main
cd ~/Projects/nanoclaw
git fetch upstream # upstream = jbaruch/nanoclaw-public
# Preview what will be merged before committing
git diff --stat upstream/main
git merge upstream/main
# Verify the merge looks correct before pushing
git log --oneline -3
# Resolve conflicts — private additions may conflict with upstream changes
git push origin main
ssh nas "cd ~/nanoclaw && ./scripts/deploy.sh"
Or if only tiles changed:
ssh nas "cd ~/nanoclaw && ./scripts/deploy.sh --tiles-only"
After deploying, verify the deployment succeeded:
ssh nas "cd ~/nanoclaw && ./scripts/deploy.sh --health-check"
# Or check the service is responding, e.g.:
# ssh nas "curl -sf http://localhost:PORT/health"
Private always has more code than public (private integrations). When merging: