# SillyTavern on two machines + GitHub 2026-09-26. JeffersonMind private repo already holds the papers. Do **not** put the whole SillyTavern folder on GitHub. ## Split of duties | Place | Holds | |---|---| | GitHub `jmarshallpittman/JeffersonMind` | Corpus, briefs, timeline sheets, exported card, world-info JSON | | External drive / local ST | Running app, Node-using host, chats, vectors, API config | | Grok Project + bots | Workshop that fills papers (`git pull`, Scout, Archivist) | | SillyTavern chat | Where Jefferson **speaks** | This Grok thread does not teleport into the Project or GrokBot. Paste a short status into Project instructions; keep the repo as source of truth. ## What to put in Git ```text JeffersonMind/ corpus/ # filled letters st/ characters/Jefferson.png characters/Jefferson.json worlds/JeffersonMind.json README.md 00_timeline.md … 05_redteam.md scout_briefs.md ingest_queue.md ``` That is enough to coordinate Jefferson (later characters = more PNGs under `st/characters/`). ## What not to commit | Path | Why | |---|---| | Whole `SillyTavern\` tree, `node_modules`, ST’s own `.git` | Reinstall from upstream `release` branch | | `config.yaml`, `secrets.json`, API presets with keys | Keys in git last forever | | `data/_cache/` embeddings and thumbnails | Machine-specific, large | | Most `chats/` | Private logs; export one talk if you care | | `data/_uploads`, backups | Noise | Suggested `.gitignore` if you add more ST dumps: ```text st/**/secrets* st/**/settings.json st/**/chats/ *.bak ``` ## External drive + two PCs Running ST from the stick is fine. Git on the same drive is fine. - Install **Node on each host**, not only on the stick. - Keep the **drive letter stable** (`E:\SillyTavern` on both boxes, or the same mount). ST stores some absolute paths. - Clone JeffersonMind **onto the drive** next to ST: ```text E:\SillyTavern\ # app — update from SillyTavern/SillyTavern E:\JeffersonMind\ # your git pack ``` Do not `git init` inside the official SillyTavern clone. That fights `git pull` of ST itself. New machine: plug drive → Node present → start ST from `E:\SillyTavern` → import from `E:\JeffersonMind\st\` if that ST data dir is empty. If each PC has its **own** ST `data/` directory, treat Git as the shuttle: export on A → commit → pull on B → import. ## Workflow 1. Machine A: export card + world info into `JeffersonMind/st/`, commit, push. 2. Machine B: `git pull`, import those two files (or copy PNG into B’s `characters/` and JSON into `worlds/` **while ST is stopped**), restart, globe-link, add new corpus files to Data Bank. 3. API keys only in each machine’s local ST config. Rule: GitHub = definitions. Drive = running app + local chats + vectors.