#+TITLE: Syncthing + Git Hybrid Workflow #+author: Amero Garcia #+created: [2026-03-16 Mon 14:28] #+DATE: 2026-03-06 #+FILETAGS: :sync:git:syncthing: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 # Primary: ~/mind/.git (local) # Backup: Can add remote later if needed ``` *Workflow:* *Your commits (laptop):* ```bash cd ~/mind git add . git commit -m "Your changes" # Syncthing syncs working files to host ``` *My commits (host):* ```bash cd ~/mind git add . git commit -m "Processed inbox items" # You pull when ready: git pull ``` *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