Starting your day
1) Connect to Tailscale
2) Start development session
Windows: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
Pause sync
Resume sync
Managing sessions
List active sessions
Windows:Kill a session
Windows:End of day cleanup
Mobile monitoring
- Open browser on phone/tablet
- Navigate to
http://your-vps:3000 - View and manage sessions remotely
Best practices
Project organization
- Keep projects in consistent location
- Use meaningful project names
- Configure
.opencode.config.jsonper 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
.envrcfor project-specific env vars - Keep VPS in region closest to you
Troubleshooting quick fixes
Sync not working:- Check
.opencode.config.jsonis 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-3a5b2cC:\Tmp\app->sync-app-7d8e9f
Multiple VPS targets
Edit.opencode.config.json:
Custom ignore patterns
Edit.opencode.config.json: