awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
automerge avatar

automerge/automerge

0
View on GitHub↗
6,373 stars·254 forks·JavaScript·MIT·19 viewsautomerge.org↗

Automerge

Automerge is a distributed state synchronization engine and library for conflict-free replicated data types. It enables multiple nodes to perform concurrent updates to a shared dataset while guaranteeing that all replicas eventually converge to the same state.

The project provides a high-performance implementation written in Rust to manage state merging and synchronization. It employs a byte-compressed synchronization protocol to transmit minimal delta updates between peers, facilitating data consistency in peer-to-peer and real-time collaborative environments.

The system covers broad capabilities for distributed shared state, including causal graph conflict resolution, operation-log replay, and language-agnostic data encoding. It includes verification processes to ensure that documents and data values are interpreted consistently across different operating systems and language implementations.

Features

  • Replicated Data Convergence - Uses mathematically defined conflict-free replicated data types to ensure all replicas eventually converge to the same state.
  • Distributed State Synchronization - Maintains consistent shared data state across distributed nodes through conflict-free replicated data types.
  • Conflict-Free Replicated Data Types - Synchronizes distributed shared state using conflict-free replicated data types to ensure all users converge.
  • Rust-Based CRDT Implementations - Provides a high-performance implementation of replicated data types written in Rust for efficient merging.
  • Causal Dependency Tracking - Tracks dependencies between changes using causal graphs to determine operation order and ensure consistent state convergence.
  • Concurrent State Merging - Combines independent sets of data modifications from different execution threads into a single consistent state.
  • Conflict-Free Replicated Data Types - Implements data structures that allow concurrent updates across multiple nodes and guarantee eventual convergence.
  • CRDT State Synchronization Engines - Provides a high-performance engine for managing shared state across distributed clients using conflict-free replicated data types.
  • Operation-Set State Representations - Models data as a set of operations that can be independently applied and merged across distributed clients.
  • State Reconstruction Replay - Reconstructs the current state of a document by sequentially applying a historical log of all recorded changes.
  • Client State Synchronizations - Provides a synchronization protocol for transmitting state changes between clients using a compact compression format.
  • Peer-to-Peer State Synchronization - Transmits state changes between distributed nodes using a compact compression format and a dedicated synchronization protocol.
  • Cross-Platform Data Exchange - Ensures documents and data values are interpreted and stored identically across different operating systems and languages.
  • Cross-Platform State Serialization - Serializes state into a standardized format to ensure consistent interpretation across different platform implementations.
  • Binary Delta Synchronization - Implements a byte-compressed synchronization protocol to transmit minimal delta updates between peers.
  • Real-Time Collaborative Editing - Merges concurrent changes from different users into a single consistent state for real-time collaborative editing.
  • Collaborative Editing - Library providing fast CRDT implementations and sync protocols.

Star history

Star history chart for automerge/automergeStar history chart for automerge/automerge

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does automerge/automerge do?

Automerge is a distributed state synchronization engine and library for conflict-free replicated data types. It enables multiple nodes to perform concurrent updates to a shared dataset while guaranteeing that all replicas eventually converge to the same state.

What are the main features of automerge/automerge?

The main features of automerge/automerge are: Replicated Data Convergence, Distributed State Synchronization, Conflict-Free Replicated Data Types, Rust-Based CRDT Implementations, Causal Dependency Tracking, Concurrent State Merging, CRDT State Synchronization Engines, Operation-Set State Representations.

What are some open-source alternatives to automerge/automerge?

Open-source alternatives to automerge/automerge include: loro-dev/loro — Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building… y-crdt/y-crdt — This project is a memory-safe library implemented in Rust that provides a high-performance engine for managing shared,… atom-archive/xray — Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data… rust-crdt/rust-crdt — This project provides a collection of conflict-free replicated data types implemented in Rust, designed to enable… toeverything/blocksuite — BlockSuite is a collaborative block editor framework built on a hierarchical block tree data model with CRDT-based… ueberdosis/hocuspocus — Hocuspocus is a backend framework designed to facilitate real-time collaborative editing and state synchronization in…

Open-source alternatives to Automerge

Similar open-source projects, ranked by how many features they share with Automerge.
  • loro-dev/loroloro-dev avatar

    loro-dev/loro

    5,374View on GitHub↗

    Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c

    Rustcollaborative-editingcrdtlocal-first
    View on GitHub↗5,374
  • y-crdt/y-crdty-crdt avatar

    y-crdt/y-crdt

    2,090View on GitHub↗

    This project is a memory-safe library implemented in Rust that provides a high-performance engine for managing shared, distributed data states. It functions as a conflict-free replicated data type implementation, enabling real-time collaborative editing and state synchronization across distributed systems without the need for a central server or manual conflict resolution. The library distinguishes itself through a cross-language binding framework that allows native applications in environments like Python, Swift, and WebAssembly to interact with the same shared data protocol. It utilizes a c

    Rustcrdtrustyjs
    View on GitHub↗2,090
  • atom-archive/xrayatom-archive avatar

    atom-archive/xray

    8,420View on GitHub↗

    Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data types to synchronize real-time edits and directory structures across peers. It functions as both an Electron-based desktop application and a headless editor server that manages workspaces and file systems remotely for connected clients. The project distinguishes itself by integrating fine-grained version control tracking, recording keystroke-level changes and uncommitted edits between Git commits. It employs a decentralized synchronization model for working copies and uses operati

    Rust
    View on GitHub↗8,420
  • rust-crdt/rust-crdtrust-crdt avatar

    rust-crdt/rust-crdt

    1,542View on GitHub↗

    This project provides a collection of conflict-free replicated data types implemented in Rust, designed to enable deterministic state synchronization across distributed systems. It functions as a framework for maintaining data consistency in decentralized environments where central coordination is absent. The library facilitates distributed state synchronization by tracking causal context and unique actor identifiers for every participant. This approach allows the system to resolve concurrent modifications through mathematical lattice structures, ensuring that all replicas converge to the sam

    Rustcrdtdistributed-systemsrust
    View on GitHub↗1,542
See all 30 alternatives to Automerge→