diff --git a/CLAUDE.md b/CLAUDE.md index 3cb8050..cb29f86 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -3,6 +3,21 @@ daemon + thin adapters architecture. daemon handles yjs crdt, adapters just hook buffer events and apply remote changes. +## status + +working: +- daemon with room-based sessions +- multi-peer sync (tested with 2+ clients) +- vim9 adapter with live buffer sync +- proper crdt diffing (not delete-all-insert-all) +- integration tests for concurrent edits + +not yet: +- cursor/selection sync (awareness protocol stubbed but unused) +- other editor adapters (helix, kakoune, zed) +- persistence (rooms are ephemeral) +- reconnection handling + ## stack - bun runtime diff --git a/README.md b/README.md index cf183d6..b77bbc5 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,22 @@ # collabd -To install dependencies: +editor-agnostic collaborative editing daemon. two vims, one buffer. + +## quick start ```bash bun install +just dev # starts daemon on :4040 ``` -To run: - -```bash -bun run src/index.ts +in vim (requires 9.0+): +```vim +:source adapters/vim/collab.vim +:CollabJoin roomname ``` -This project was created using `bun init` in bun v1.3.5. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. +open another vim, join the same room, type in either. magic. + +## more info + +see CLAUDE.md for architecture, protocol, and how to add new editor adapters.