~/.config/sincronizado/config.json
This file is created automatically when you run sinc --setup, but you can edit it manually to fine-tune your experience.
The Config Object
Here is the full schema with default values:Detailed Options
vps Section
| Option | Type | Description |
|---|---|---|
hostname | string | Required. The IP address or domain name of your VPS. |
user | string | The SSH username. Defaults to ubuntu. Common alternatives: root, debian, ec2-user. |
port | number | The SSH port. Defaults to 22. |
keyPath | string | Path to a specific private key file. If omitted, ssh uses its default resolution (checking ~/.ssh/config, id_rsa, etc.). |
sync Section
Controls how files are synchronized between your machine and the VPS.
mode
both(Default): Two-way Safe Sync. Changes on either side are synced. Conflicts are detected. Recommended.push: One-way. Local changes overwrite remote. Remote changes are ignored/overwritten. Good if you treat the VPS strictly as a build runner.pull: One-way. Remote changes overwrite local.none: Disabled. No files are synced. Useful if you’re just usingsincas a glorifiedssh+tmuxwrapper.
remoteBase
The parent directory on the VPS where your projects will be stored.
- Example: If
remoteBaseis~/workspaceand you are in~/projects/my-applocally,sincwill sync to~/workspace/my-appremotely.
ignore
A global list of file patterns to ignore. Crucial for performance.
- Why? Syncing
node_modules(often 100k+ files) is slow and unnecessary if you runnpm installon the VPS. - Syntax: Uses Mutagen ignore syntax (very similar to
.gitignore).
agent
The command to run inside the remote tmux session.
opencode: Runs the OpenCode interpreter.claude: Runs Anthropic’s Claude Code CLI.- Custom: You can theoretically put any command here (e.g.,
bash), butsincis optimized for AI agents.
Per-Project Configuration
.syncignore
You can create a .syncignore file in the root of your project to add project-specific ignores. These are appended to the global ignore list.
Advanced: Multiple VPS Hosts?
Currently,sinc supports one global VPS configuration. If you need to switch between multiple VPSs, you can use environment variables or aliases to swap config files:
Optimization Tips
- Ignore Heavy Folders: Always ignore build artifacts (
dist,build,.next) and dependency folders (node_modules,venv,target). - Use Tailscale: Instead of public IPs, use Tailscale IPs. They are stable and don’t change if you restart your cloud instance (usually).
- SSH Config: Instead of putting complex SSH settings in
sinc’s config, configure them in~/.ssh/configand just use theHostalias insinc.
sinc config, just set "hostname": "my-gpu-box".