Client

Do this on your own computer, where your site folders live.

Run it

1

Configure it

Point the client at your server and your folder of site folders.

cp client/config.example.json client/config.json
# apiBase:     "https://<your-server-ip>"
# apiToken:    "<token from the installer>"
# contentRoot: "./sites"
2

Sync

The first run uploads everything; each later run pushes only what changed. A folder named example.com goes live at example.com.

node client/sync.js
3

Keep it in sync

Either schedule it (cron every minute, or launchd on macOS), or let the client loop itself:

node client/sync.js --watch                 # sync now, then every 60s until stopped
node client/sync.js --watch --interval 30   # …or choose the period (seconds)

--watch needs no cron or launchd; a failed cycle is logged and the loop keeps going, and Ctrl-C stops it cleanly.

Next Steps

You can use the browser extension to easily make edits to your local sites using your AI coding agent.