#+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