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