diff --git a/CLAUDE.md b/CLAUDE.md index 11a3923..fc28e20 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -81,3 +81,10 @@ three.js, same conventions as MESHGOD (`~/Documents/MESHGOD`). - Path traversal: every endpoint that takes a path must resolve + verify it stays inside its root (ship-check rule). - Verbose commands (installs, test runs, ffmpeg): pipe through `| lm -l 2`. + +## Prod asset sync (easy to forget) +Templates in `templates/` ship with the CODE (rsync/`deploy.sh` carries them), but the +assets they reference live in the VPS volume `/opt/scenegod-data/assets/` which deploy.sh +deliberately EXCLUDES. After adding any asset a template references: +`rsync -az assets/ root@100.94.195.115:/opt/scenegod-data/assets/` +(caught live: the record-store template shipped pointing at a plate prod didn't have).