The automerge CRDT
provides a core CRDT data structure and an implementation of a storage
format and sync protocol but doesn't provide the plumbing to use these tools
in a JS application. automerge-repo provides the plumbing.
The main entry point is the Repo class, which you instantiate with
a StorageAdapter and zero or more NetworkAdapters. Once you
have a repo you can use it to create DocHandles. DocHandles
are a reference to a document, identified by a AutomergeUrl, a place to
listen for changes to the document, and to make new changes.
A typical example of how to use this library then might look like this:
The
automerge
CRDT provides a core CRDT data structure and an implementation of a storage format and sync protocol but doesn't provide the plumbing to use these tools in a JS application.automerge-repo
provides the plumbing.The main entry point is the Repo class, which you instantiate with a StorageAdapter and zero or more NetworkAdapters. Once you have a repo you can use it to create DocHandles. DocHandles are a reference to a document, identified by a AutomergeUrl, a place to listen for changes to the document, and to make new changes.
A typical example of how to use this library then might look like this: