diff --git a/CLAUDE.md b/CLAUDE.md index 612abf1..231ea63 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,7 +15,6 @@ working: not yet: - cursor/selection sync (awareness protocol stubbed but unused) - other editor adapters (helix, kakoune, zed) -- persistence (rooms are ephemeral) - reconnection handling ## stack @@ -28,9 +27,10 @@ not yet: ## running ```bash -just dev # daemon on :4040 -bun test # unit tests -just check # biome lint +just dev # daemon on :4040 +COLLABD_DB=path.db just dev # custom db path (default: collabd.db) +bun test # unit tests +just check # biome lint ``` ## vim adapter usage @@ -66,6 +66,7 @@ server -> client: - src/index.ts - websocket server, room routing - src/session.ts - yjs doc per room, peer management - src/protocol.ts - message types +- src/db.ts - sqlite persistence, save/load crdt updates - adapters/vim/bridge.ts - bun process vim spawns - adapters/vim/collab.vim - vim9script plugin @@ -95,7 +96,6 @@ known gaps (not production ready): - room names guessable via brute force - no encryption (deploy behind wss, not ws) - no audit logging -- no persistence (data lost on daemon restart) before production: 1. auth layer (jwt tokens or unix socket for local-only)