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.
