Overview of Automerge
mainAutomerge is a library providing fast implementations of several different CRDTs (Conflict-free Replicated Data Types), a compact compression format for these CRDTs, and a sync protocol for efficient network transmission. It is designed to support local-first applications by providing persistence mechanisms that abstract away distributed computing complexities.
Key components include:
- JavaScript: A stable package
@automerge/automergeis available for web and Node.js environments. - Rust: A core implementation that serves as a performant backend, often compiled to WebAssembly.
- C: A C library available in
rust/automerge-cvia FFI bindings.