The SystemGit Sync

Git Sync

Everything syncs to GitHub. Agents commit on branches. You merge when ready.

How It Works

The vault lives in a private GitHub repository. The Obsidian Git plugin auto-syncs every 30 minutes, pushing local changes and pulling remote updates. Claude Code also pushes changes via /sync and /tldr.

This means the vault is always backed up, always versioned, and always accessible from any device that can pull from the repo.

The Sync Command

Running /sync triggers a full sync cycle. Here is what it does.

  • Pulls the latest changes from the remote repository
  • Checks for open agent PRs on GitHub
  • Auto-merges PRs that only touch safe zones (see Scheduled Agents)
  • Pushes all local changes to the remote

Agent Branches

Scheduled agents never commit directly to main. They create a new branch using the naming convention agent/cortex-YYYY-MM-DD-HHMM, commit their changes, push the branch, and open a pull request.

You review the PR and merge when you are satisfied. This gives you full visibility into what agents did while you were away. Nothing lands on main without your knowledge.

What Gets Committed

  • All vault content: daily notes, ideas, decisions, artifacts
  • Memory files in .claude/memory/
  • Task files and the Task Board
  • Skills and agent configurations
  • Knowledge base captures and radar signals
  • Personal notes, project files, and people files

What Never Gets Committed

  • .claude/config/credentials.env containing API keys and service credentials
  • .env files with environment-specific secrets
  • node_modules/ and other dependency directories

These are excluded via .gitignore. Credentials never leave the local machine. If you need to share API keys across devices, use a secure channel outside of git.