Analysis updated 2026-06-24
Sync shared state between offline-first clients without a central server
Build a collaborative text or list editor with auto-merging history
Study how a JSON CRDT is implemented in JavaScript
Migrate a legacy automerge-classic project to the newer Rust-based Automerge
| automerge/automerge-classic | browserify/browserify | librespeed/speedtest | |
|---|---|---|---|
| Stars | 14,705 | 14,718 | 14,692 |
| Language | JavaScript | JavaScript | JavaScript |
| Setup difficulty | easy | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Project is deprecated and new work should target the Rust-based Automerge in a separate repository.
Automerge-classic is the original JavaScript version of Automerge, a library that helps developers build collaborative applications. The README opens with a deprecation notice: active development has moved to a new implementation written in Rust, which lives in a separate repository and can be ported to other platforms more easily. This classic repo is preserved but no longer the focus. The core idea is a JSON-like data structure called a CRDT, which stands for conflict-free replicated data type. In plain terms, it lets several people edit the same piece of data at the same time, even when they are offline, and then merge their changes automatically without losing work. The repository description mentions the same thing: a data structure that different users can modify concurrently and that merges itself back together. The topics listed on the repo are CRDT, JavaScript, and offline-first, which gives a fair picture of who it is for. The README points readers to automerge.org for documentation and to a separate project called automerge-repo for a set of TypeScript examples. There is also a Slack community link for people who want to ask questions or follow the project. Setup is short. If you use npm, you run npm install automerge. If you use yarn, you run yarn add automerge. You can then import the library in regular JavaScript or in TypeScript. If you want to work on the library itself, you clone the repository and use yarn commands to install dependencies, run the test suite in Node, run browser tests, or build a bundled JavaScript file that can be loaded with a script tag. The project is released under the MIT license, with copyright held by the Automerge contributors from 2017 to 2021. Anyone starting a new project today is steered toward the newer Rust-based implementation rather than this one.
Deprecated original JavaScript CRDT library for building collaborative offline-first apps, now superseded by the Rust-based Automerge.
Mainly JavaScript. The stack also includes JavaScript, TypeScript, Node.
MIT license, free to use and modify for any purpose with attribution.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.