Files
memex/system/workflows/syncthing-git-hybrid.org

3.3 KiB

Syncthing + Git Hybrid Workflow

Hybrid Architecture: Syncthing + Git

Overview

Best of both worlds:

  • Syncthing: Real-time file sync (phone ↔ host)
  • Git: Version control and conflict resolution

Folder Structure**

``` ~/mind/ ├── .git/ # Git repo (Syncthing ignores this) ├── .gitignore # Excludes: .git/, temp files ├── .stfolder/ # Syncthing marker ├── 0_inbox/ # Your captures (synced) ├── 1_thinking/ # Notes (synced) └── … ```

Syncthing Setup

Syncthing Configuration:

  • Folder: ~/mind
  • Devices: Phone (yours) + Host (mine)
  • Ignore patterns: .git/, .stfolder/, temp files
  • Versioning: Staggered (for safety)

Phone → Host Flow:

  1. You org-capture on phone
  2. Syncthing detects change
  3. Auto-syncs to host within seconds
  4. File appears in my ~/mind/

Host → Phone Flow:

  1. I process files
  2. Syncthing syncs back
  3. You see updates on phone

Git Setup

Git Remotes: ```bash

```

Workflow:

Your commits (laptop): ```bash cd ~/mind git add . git commit -m "Your changes"

```

My commits (host): ```bash cd ~/mind git add . git commit -m "Processed inbox items"

```

Conflict Resolution:

  • Syncthing: Syncs file changes
  • Git: Handles merge conflicts
  • If conflict: Git shows <<<< == >>>>, resolve manually

Daily Workflow

Morning (You):

  1. Check ~/mind/0_inbox/ on phone
  2. Orgzly for quick reading
  3. Org-capture new items
  4. Auto-syncs to host

During Day (Me):

  1. Syncthing delivers new captures
  2. Org-gtd process: clarify → organize
  3. Move to appropriate PARA folder
  4. Git commit my changes
  5. Syncthing syncs to you

Evening (You):

  1. Phone shows updated files
  2. Review what I processed
  3. Add new captures for tomorrow

Recommendations

Syncthing Settings:

  • Rescan interval: 10 seconds (fast sync)
  • Ignore permissions: Yes (Qubes/Debian differences)
  • Versioning: Staggered, 30 days (safety net)

Git Settings:

  • Frequent small commits (better than large merges)
  • Use .gitignore for Syncthing temp files
  • Set user.name and user.email on both devices

Conflict Prevention:

  • Don't edit same file simultaneously
  • I work mainly on processing (1_thinking/, etc.)
  • You work mainly on capturing (0_inbox/)
  • Natural separation reduces conflicts

Command Reference

Check sync status: Syncthing web UI: http://localhost:8384

Force sync: Syncthing → Folders → mind → Override Changes

Git status: cd ~/mind && git status

Pull latest: cd ~/mind && git pull

Push (if we add remote): cd ~/mind && git push

Setup Checklist

On Host (me): TODO Verify Syncthing installed and running TODO Configure ~/mind folder share TODO Add .gitignore entries TODO Get device ID

On Phone (you): TODO Syncthing already installed ✓ TODO Get device ID TODO Share with host TODO Test sync

Both: TODO Git config user.name/email TODO Test org-capture → sync → process flow TODO Verify conflict handling

Next Steps:

  1. I start Syncthing daemon on host
  2. Get my device ID for you
  3. You add my device to your Syncthing
  4. Test first sync
  5. Test git workflow