Google Docs-style sync, but for files on your disk, in your editor. Vim, VS Code, Emacs, Sublime — if your editor can save to disk, it works.

$ livesync share notes.md
Sharing notes.md
Session: abc123

Others can join with:
  livesync join abc123
$ livesync join abc123
Joined session abc123
Syncing to abc123.md
##Install
npm install -g livesync

Alpha Open source, free, expect rough edges.

##How to use
1
Share a file
livesync share notes.md
Creates a session and starts watching your file for changes.
2
Others join with the session ID
livesync join abc123
Creates a local copy synced to the session. Optionally specify a filename: livesync join abc123 my-copy.md
3
Edit in your editor, save, done
Changes appear on the other side in under a second. Ctrl+C to disconnect.
##How it works
› Your editor saves a file to disk
› LiveSync detects the change, diffs it against its CRDT document, and sends a minimal update to the relay
› The relay broadcasts to all connected clients
› Other clients apply the update and write the result to disk
› Their editor picks up the changed file

Concurrent edits merge cleanly thanks to CRDTs (powered by Yjs) — no locking, no manual conflict resolution.

##Editor setup

LiveSync writes changes to disk — your editor needs to detect and reload external changes. Most do this automatically:

Editor Setup
VS Code Works out of the box
Sublime Text Works out of the box
JetBrains Reloads on window focus
Vim / Neovim set autoread + autocmd FocusGained,CursorHold * checktime
Emacs Enable auto-revert-mode
##CLI reference
livesync share <filepath>
  -r, --relay <url> Custom relay URL
livesync join <session-id> [filepath]
  -r, --relay <url> Custom relay URL