{"adoption": {"forks": 265, "observed_at": "2026-08-28T04:09:44.971339+00:00", "stars": 6532}, "canonical_url": "https://ross.abutalabs.com/products/automerge", "card": {"archived": false, "artifact_type": "library", "description": "A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically. ", "domain": ["microservices", "web-development", "frontend", "developer-tools", "cross-platform"], "enriched": true, "function": ["serialization", "concurrency", "state-management", "sdk"], "health_score": 99, "homepage": "https://automerge.org", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["automerge/automerge", "automerge/automerge-classic"], "name": "Automerge", "platform": ["browser", "wasm", "rust", "cross-platform"], "pushed_at": "2026-08-24T00:55:23+00:00", "repo": "automerge/automerge", "stars": 6532, "tags": ["crdt", "local-first", "offline-first", "collaborative-editing", "data-sync", "conflict-free-replicated-data-type", "multiplayer", "version-control-for-data", "real-time", "javascript", "nodejs"], "topics": [], "urls": [{"kind": "homepage", "url": "https://automerge.org"}, {"kind": "site_page", "url": "https://automerge.org/docs/hello"}, {"kind": "site_page", "url": "https://automerge.org/docs/tutorial/react"}, {"kind": "site_page", "url": "https://automerge.org/docs/reference/library-initialization"}, {"kind": "site_page", "url": "https://automerge.org/docs/reference/repositories"}], "use_cases": ["build collaborative apps where multiple users edit the same document", "sync app state across devices while working offline", "merge concurrent edits to JSON-like data without conflicts", "add multiplayer cursors and real-time collaboration to a React app", "keep a local-first source of truth mirrored on every client", "track document history and branch or diff changes like Git", "sync data over websockets, WebRTC, or any connection-oriented protocol"], "what_it_is": "Automerge is a JSON-like CRDT (conflict-free replicated data type) library that lets multiple users modify application state concurrently, even offline, and automatically merge changes without conflicts or data loss. It is implemented in Rust and compiled to WebAssembly for JavaScript environments, with automerge-repo providing storage and networking plumbing for building local-first multiplayer apps.", "when_to_avoid": ["you only need plain-text collaborative editing with a mature editor ecosystem (consider Yjs)", "you need a centralized server-authoritative database with strong consistency guarantees", "your data model is simple and a traditional backend with optimistic UI suffices", "you require very small bundle sizes and cannot accommodate a WebAssembly module"], "when_to_choose": ["you need automatic conflict-free merging of structured JSON-like data", "your app must work fully offline and sync when reconnected", "you want version history, branching, and diffing for application state", "you are building multiplayer or local-first applications in JavaScript/TypeScript", "you need a network-agnostic sync engine that works with any transport"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/automerge/automerge", "repo": "automerge/automerge", "role": "main", "score": 98}, {"path": "/repos/automerge/automerge-classic", "repo": "automerge/automerge-classic", "role": "mirror", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:44.971339+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:07:18.970745+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0bb69ef3a165e2575621bc4457fe0ba1cbca334100a80a50ab9c53a73e287cd", "fetched_at": "2026-08-28T04:09:44.971339+00:00", "kind": "readme", "missing": false, "url": "https://github.com/automerge/automerge"}, {"content_hash": "ae13d22873ecb255061963af6e56f0b595e35bac206ed5273784f0fef6cec5c8", "fetched_at": "2026-08-29T08:06:10.434686+00:00", "kind": "homepage", "missing": false, "url": "https://automerge.org"}, {"content_hash": "4fa572533c42669560ac27471f6bed8e8edf7f91d4eeac69db8f9a81d91a4611", "fetched_at": "2026-08-29T08:06:10.438105+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/hello"}, {"content_hash": "d09aab162ad9a93d2cdb946eb182cc080677ef5c57caea2c090b2854eebdfc3d", "fetched_at": "2026-08-29T08:06:10.440255+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/tutorial/react"}, {"content_hash": "9125f1dec69b5becbe4349ce1ce7077b6c23268ce0efc44789267d0d2b2fd75d", "fetched_at": "2026-08-29T08:06:10.442580+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/library-initialization"}, {"content_hash": "2ceb8be35fa6381152a918cc3d9fe546bf18c8aef98208708c1a33ed2e02403b", "fetched_at": "2026-08-29T08:06:10.445326+00:00", "kind": "site_page", "missing": false, "url": "https://automerge.org/docs/reference/repositories"}, {"content_hash": "e9362c2858bc73c067fcac48bffb930d54b6c3ad98c641987e685abca0b1782d", "fetched_at": "2026-08-29T08:06:10.447213+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/automerge-classic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 97}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2442, "days_push": 10, "days_rel": 21, "gap_med": 24.0, "n_releases_24m": 17}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}