yjs
Yjs CRDT patterns, shared types, conflict resolution, and meta data structures. Use when building collaborative apps with Yjs, handling Y.Map/Y.Array/Y.Text, implementing drag-and-drop reordering, or optimizing document storage.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Yjs CRDT patterns, shared types, conflict resolution, and meta data structures. Use when building collaborative apps with Yjs, handling Y.Map/Y.Array/Y.Text, implementing drag-and-drop reordering, or optimizing document storage.
How to use
Zainstaluj skill w swoim projekcie agenta, wskazując na repozytorium EpicenterHQ. Skill automatycznie aktywuje się, gdy agent wykryje w zapytaniu słowa kluczowe: Yjs, Y.Doc, CRDT, collaborative editing, shared types, real-time sync lub document storage.
Zdefiniuj swój model danych za pomocą współdzielonych typów Yjs. Wybierz Y.Map dla par klucz-wartość, Y.Array dla list uporządkowanych lub Y.Text dla tekstu z formatowaniem. Unikaj wycieku surowych typów Yjs do kodu konsumenta — opakowuj je abstrakcją.
Obsługuj konflikty edycji, pamiętając że wyższa clientID dokumentu wygrywa w przypadku jednoczesnych zapisów na ten sam klucz. Dla operacji podatnych na konflikty używaj single-writer keys lub zagnieżdżonych map, aby zmniejszyć ryzyko kolizji.
Implementuj drag-and-drop reordering z fractional indexing w Y.Array, aby uniknąć problemów z sekwencyjnym numerowaniem w środowisku rozproszczonym.
Optymalizuj przechowywanie Yjs dla workloadów o wysokiej zmienności klucz-wartość, przegląd granic między warstwami, aby zapobiec nieefektywności synchronizacji.
Sprawdź powiązany skill workspace-api, jeśli budujesz abstrakcję workspace na bazie Yjs — zawiera on dodatkowe wzorce dla zarządzania przestrzeniami roboczymi.