Cheat Sheet
Quick reference for common tasks across the personal digital estate.
Git — Switching between Pro and Perso GitHub accounts
Section titled “Git — Switching between Pro and Perso GitHub accounts”Both machines use SSH keys. Each GitHub account needs its own SSH key configured.
SSH config (~/.ssh/config)
Section titled “SSH config (~/.ssh/config)”# Personal GitHub — fducat18Host github-perso HostName github.com User git IdentityFile ~/.ssh/id_ed25519_perso
# Pro GitHub — francoiducatHost github-pro HostName github.com User git IdentityFile ~/.ssh/id_ed25519_proClone with the right account
Section titled “Clone with the right account”# Personal repo (fducat18)git clone git@github-perso:fducat18/digital-architecture.git
# Pro repo (francoiducat)git clone git@github-pro:francoiducat/some-decathlon-repo.gitSet git identity per repo (not global!)
Section titled “Set git identity per repo (not global!)”# Inside a personal repogit config user.name "Francois Ducatillon"git config user.email "francois.ducatillon@gmail.com"
# Inside a pro repogit config user.name "Francois Ducatillon"git config user.email "francois.ducatillon@decathlon.com" # adjust to actual pro email💡 Tip: Never use
git config --globalfor user.email — it bleeds across repos. Set it per repo.
Quick check: which identity is active?
Section titled “Quick check: which identity is active?”git config user.email # shows current repo's emailssh -T git@github-perso # should say: Hi fducat18!ssh -T git@github-pro # should say: Hi francoiducat!Generate SSH keys (one-time setup per machine)
Section titled “Generate SSH keys (one-time setup per machine)”ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_perso -C "fducat18 (perso)"ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_pro -C "francoiducat (pro)"
# Add to GitHub: copy each public keycat ~/.ssh/id_ed25519_perso.pub # → github.com/settings/keys on fducat18 accountcat ~/.ssh/id_ed25519_pro.pub # → github.com/settings/keys on francoiducat accountAgent Host (VPS) — SSH access
Section titled “Agent Host (VPS) — SSH access”Hostinger VPS runs the Hermes Agent and Drive Bridge. Access via SSH key only (no password).
Agent Host (VPS) — Quick Reference
Section titled “Agent Host (VPS) — Quick Reference”See Agent Host — First Install & Hardening for complete bootstrap procedure.
Connect to the Agent Host
Section titled “Connect to the Agent Host”ssh -i ~/.ssh/hostinger_vps_ed25519 hermes@<VPS_IP>Or use SSH config shorthand:
ssh hostinger-vpsQuick health checks
Section titled “Quick health checks”# Verify Hermes service is runningsystemctl --user status hermes-gateway
# Check tunnel statussudo systemctl status cloudflared
# Check dashboard (localhost only)curl http://localhost:9119/health
# Check rclone mount (Google Drive bridge)ls /mnt/gdrive/
# View Hermes logsjournalctl --user -u hermes-gateway -n 50 -f
# Rebootsudo rebootProject setup — Moving a Google Drive project to GitHub
Section titled “Project setup — Moving a Google Drive project to GitHub”Quick checks on VPS
Section titled “Quick checks on VPS”# Verify Hermes service is runningsystemctl --user status hermes-gateway
# Check dashboard (accessible at hermes.ducatillon.net via Cloudflare Tunnel)curl http://localhost:9119/health
# Check rclone mount (Google Drive bridge)ls /mnt/gdrive/
# View Hermes logsjournalctl --user -u hermes-gateway -n 50 -f.ssh/config shorthand (optional)
Section titled “.ssh/config shorthand (optional)”Add to ~/.ssh/config on your Mac for easier commands:
Host hostinger-vps HostName 2.24.13.12 User hermes IdentityFile ~/.ssh/hostinger_vps_ed25519Then just: ssh hostinger-vps
Project setup — Moving a Google Drive project to GitHub
Section titled “Project setup — Moving a Google Drive project to GitHub”When a PARA project grows into a code project (needs node_modules, venv, etc.):
# 1. Create repo on GitHub (fducat18 account)# → github.com/new → private → don't init with README
# 2. Move/copy .md files from Google Drive to local workspace foldermkdir -p ~/workspace/digital-architecturecp -r "/Users/mac-FDUCAT18/Library/CloudStorage/GoogleDrive-.../1-Projects/2026-06-Digital-Architecture/"*.md ~/workspace/digital-architecture/cp -r "/Users/mac-FDUCAT18/Library/CloudStorage/GoogleDrive-.../1-Projects/2026-06-Digital-Architecture/docs" ~/workspace/digital-architecture/
# 3. Init and pushcd ~/workspace/digital-architecturegit initgit remote add origin git@github-perso:fducat18/digital-architecture.gitgit add -Agit commit -m "feat: initial architecture documentation"git push -u origin main
# 4. Leave a pointer in Google Drive PARA folder# Create a README.md in the Google Drive folder:Google Drive pointer README (leave in PARA folder):
# 2026-06 Digital Architecture
⚠️ This project has moved to GitHub (code project).
**Repo**: https://github.com/fducat18/digital-architecture (private)**Why**: Build tooling (Astro/Starlight) would overwhelm Google Drive sync.**Live site**: https://docs.ducatillon.net
All .md docs are maintained in the GitHub repo.Workspace folder structure (recommended)
Section titled “Workspace folder structure (recommended)”~/workspace/├── digital-architecture/ # this project (perso, fducat18)├── hugo-air/ # Hugo theme (perso, fducat18)├── strata/ # personal finance app (perso, fducat18)├── sommelier-arena/ # wine app (perso, fducat18)├── chateaudebourgon/ # Astro migration (perso, fducat18)├── locationyeu/ # rental site (perso, fducat18)└── notes/ # notes site (perso, fducat18)Pro repos stay on the Decathlon M3Pro in its own workspace folder. Don’t mix.
Real-world scenario: Personal project from Decathlon M3Pro
Section titled “Real-world scenario: Personal project from Decathlon M3Pro”Situation: You’re working on a personal project (like this architecture wiki) from your Decathlon M3Pro. Today the files live in Google Drive perso. Tomorrow they’ll live in GitHub perso (fducat18, private repo).
What changes:
| Phase | Where files live | How you edit from M3Pro |
|---|---|---|
| Now (Google Drive) | Google Drive local folder | Open .md in VS Code from ~/Library/CloudStorage/GoogleDrive-.../ |
| After migration (GitHub) | Git clone in ~/workspace/ | Open .md in VS Code from ~/workspace/digital-architecture/ |
In both phases you edit with VS Code — the difference is the source path.
Setup needed on M3Pro (one-time):
# Generate a perso SSH key on M3Prossh-keygen -t ed25519 -f ~/.ssh/id_ed25519_perso -C "fducat18 (perso from M3Pro)"
# Add to ~/.ssh/config (alongside the pro key)# Host github-perso# HostName github.com# User git# IdentityFile ~/.ssh/id_ed25519_perso
# Clone personal projectgit clone git@github-perso:fducat18/digital-architecture.git ~/workspace/perso/digital-architecture✅ Company policy: Decathlon IT allows personal SSH keys and personal GitHub access on the managed M3Pro. Keep personal repos and pro repos separated by folder and git identity.
Fallback options if local GitHub access is temporarily unavailable:
- Hermes via Telegram: Ask Hermes to read/write the repo for you
- GitHub web: Edit files directly on github.com from M3Pro browser (no SSH needed)
- Codespaces: GitHub Codespaces runs in-browser — no local git needed (free tier: 60h/month)
Useful commands
Section titled “Useful commands”# Which GitHub account am I using?ssh -T git@github-persossh -T git@github-pro
# Quick git status across all reposls ~/workspace/ | xargs -I{} sh -c 'echo "=== {} ===" && git -C ~/workspace/{} status -s 2>/dev/null'
# Check Google Drive sync status (macOS)brctl status com~apple~CloudDocs 2>/dev/null || echo "Use Google Drive menu bar icon"