One private GitHub repo is the shared brain. Text flows through git. The multi-terabyte media library never touches git.
Git path (text brain)Notes, context, CLAUDE.md, skills, hooks. Small, versioned, conflict-friendly. This is what both machines share.
Primary roleHolds write access, reviews and merges every pull request, is the only machine that changes main.
Secondary rolePulls the brain, does work on feature branches, opens pull requests for the primary to approve.
Asset path (media)Terabytes of video live in cloud storage. Synced or mounted per machine. Git only holds pointers.
The one rule that makes this work
The text brain flows through git and stays identical on both machines. The media library never touches git. Keep those two lanes separate and the whole system stays fast, cheap, and recoverable.