Skip to main content
How to use Sincronizado for daily development.

Starting your day

1) Connect to Tailscale

tailscale up

2) Start development session

Windows:
cd D:\Projects\my-project
.\..\sincronizado\launcher\opencode.ps1
macOS/Linux:
cd ~/Projects/my-project
~/sincronizado/launcher/opencode.sh

3) What happens automatically

  • Hash-based session ID generated (collision-proof)
  • Mutagen sync session starts (if not already running)
  • Pre-flight checks run (Mutagen, Tailscale, VPS reachability)
  • Eternal Terminal connection established
  • File sync begins (<500ms latency)

Working with sync

File sync behavior

  • Local -> VPS: changes sync within 500ms
  • VPS -> Local: changes sync within 500ms
  • Conflicts: local wins (two-way-resolved mode)
  • Ignored: node_modules, .venv, .git, dist, build

Checking sync status

mutagen sync list

Pause sync

mutagen sync pause <session-name>

Resume sync

mutagen sync resume <session-name>

Managing sessions

List active sessions

Windows:
.\launcher\opencode.ps1 -ListSessions
macOS/Linux:
./launcher/opencode.sh -l

Kill a session

Windows:
.\launcher\opencode.ps1 -KillSession -SessionName "sync-myproject-a1b2c3"
macOS/Linux:
./launcher/opencode.sh -k sync-myproject-a1b2c3

End of day cleanup

# list all sessions
mutagen sync list

# terminate specific session
mutagen sync terminate sync-myproject-a1b2c3

# or terminate all sync sessions
mutagen sync terminate --all

Mobile monitoring

  1. Open browser on phone/tablet
  2. Navigate to http://your-vps:3000
  3. View and manage sessions remotely

Best practices

Project organization

  • Keep projects in consistent location
  • Use meaningful project names
  • Configure .opencode.config.json per project

Session naming

  • Session names include project name + hash
  • Example: sync-myproject-a1b2c3
  • Hash prevents collision with same project name elsewhere

Performance tips

  • Exclude large directories in sync.ignore
  • Use .envrc for project-specific env vars
  • Keep VPS in region closest to you

Troubleshooting quick fixes

Sync not working:
mutagen sync list
mutagen sync resume <session>
VPS unreachable:
ping your-vps-hostname
tailscale status
Session will not start:
  • Check .opencode.config.json is valid
  • Verify VPS host config
  • Ensure ports 2222 and 3000 are open

Advanced usage

Multiple projects

Each project gets unique session via path hash:
  • D:\Work\app -> sync-app-3a5b2c
  • C:\Tmp\app -> sync-app-7d8e9f

Multiple VPS targets

Edit .opencode.config.json:
{
  "vps": {
    "default": "production",
    "hosts": {
      "production": { "hostname": "prod-vps", "user": "ubuntu", "port": 2222 },
      "staging": { "hostname": "staging-vps", "user": "ubuntu", "port": 2222 }
    }
  }
}

Custom ignore patterns

Edit .opencode.config.json:
{
  "sync": {
    "ignore": ["node_modules", ".venv", "*.tmp", "large-files/"]
  }
}