docs(@projects/@magic-civilization): 📝 add rsync safety warnings in claude.md
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
42aaf38d3e
commit
a5cc77dbfe
2 changed files with 9 additions and 0 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -40,3 +40,11 @@ build/
|
|||
# Rust build artifacts
|
||||
src/simulator/target/
|
||||
.local/
|
||||
|
||||
# Compiled GDExtension binaries — built per-host, never rsync from one arch to another.
|
||||
# macOS has no cargo (or a stale one); apricot compiles. Including these in rsync
|
||||
# clobbers the apricot-side fresh binary with our stale mac-side one.
|
||||
src/game/engine/addons/magic_civ_physics/*.so
|
||||
src/game/engine/addons/magic_civ_physics/*.dll
|
||||
src/game/engine/addons/magic_civ_physics/*.dylib
|
||||
src/game/engine/addons/magic_civ_physics/*.framework/
|
||||
|
|
|
|||
|
|
@ -350,6 +350,7 @@ Hooks enforce these standards automatically on Write/Edit — they are not optio
|
|||
- Building/unit effects are data-driven from JSON — don't hardcode behavior
|
||||
- Always call `DataLoader.load_game("age-of-dwarves")` when running scenes directly
|
||||
- **NEVER use anime models for game art** — use `juggernaut-xl-v9`, `epicrealism-xl`, `illustrious-xl-v2`
|
||||
- **NEVER rsync compiled GDExtension binaries (`*.so`, `*.dll`, `*.dylib`) from macOS to apricot.** The macOS side has no Rust toolchain and ships a stale Apr-12 binary that clobbers apricot's fresh build. Use `rsync --exclude='addons/magic_civ_physics/*.so'` OR rely on the `.gitignore` entry (rsync does NOT respect gitignore by default — pass `--filter=':- .gitignore'`). Always rebuild via `ssh lilith@apricot.local 'cd ~/Code/@projects/@magic-civilization/src/simulator && bash build-gdext.sh'` after rsyncing Rust source changes. Symptom of this bug: `src/simulator/crates/*.rs` has new code but batch runs show old behavior (e.g. FOOD_PER_POP=2.0 in a binary whose source says 1.5).
|
||||
- **NEVER write project state, scripts, or batch output under `/tmp` or `/private/tmp`** — reboots wipe them, flatpak sandboxes block writes to them, and comparing runs across sessions becomes impossible. Canonical locations:
|
||||
- Shell scripts/runners → `scripts/` (in-repo, tracked) or `$HOME/bin/` (persistent per-host)
|
||||
- Batch/iteration outputs → `.local/batches/` (in-repo, gitignored) or `$HOME/tmp/` (persistent per-host)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue