Syncing your vault
Your vault is just a folder of text, so syncing it across machines is whatever file-sync you already trust. There’s exactly one rule to remember.
Pick a mechanism
Section titled “Pick a mechanism”The most powerful option — you get versioned history of every decision.
cd ~/life-vaultgit initgit add .git commit -m "vault snapshot"git remote add origin git@github.com:you/life-vault-private.gitgit push -u origin mainUse a private repo. Your vault is your life. Commit on a cron or whenever you like; git log becomes a literal timeline of your thinking.
Put the vault inside your synced folder and point Prevail at it:
mv ~/life-vault ~/Library/Mobile\ Documents/com~apple~CloudDocs/life-vaultprevail init # re-point the vault pathSync is automatic and invisible. No conflict resolution beyond what the provider gives you.
Keep the vault on one machine (a Mac mini, say) as the source of truth and reach it from your laptop over your tailnet — for example via a symlink to a Tailscale-mounted path, so both machines read and write the same files with zero copy step.
Two-machine setups
Section titled “Two-machine setups”A common pattern: a source-of-truth machine holds the real files, and a development/daily machine symlinks to them over Tailscale. Both read and write the same vault, so there’s nothing to reconcile. Prevail doesn’t care how the files got there — it just reads the folder you point it at.
The same applies to running the Telegram daemon: run it on the always-on machine that holds the vault, and it has everything it needs.
What not to commit
Section titled “What not to commit”If you’re using git, your vault may accumulate things you don’t want in history. A starter .gitignore:
# never — these live in ~/.prevail, but guard against symlinks/copies.prevail/**/telegram.json**/*.token
# large opaque docs you'd rather not version**/00_current/*.pdfAdjust to taste — some people want their PDFs versioned, some don’t.
Conflicts
Section titled “Conflicts”Because everything is append-mostly markdown, conflicts are rare and human-readable when they happen. The _log/ files are per-day and append-only, which minimizes collisions even across machines. If two devices write the same state.md at once, you resolve it the way you’d resolve any text conflict — in your editor.