{"adoption": {"forks": 1801, "observed_at": "2026-08-28T04:11:48.200049+00:00", "stars": 28207}, "canonical_url": "https://ross.abutalabs.com/products/mobx", "card": {"archived": false, "artifact_type": "library", "description": "Simple, scalable state management.", "domain": ["frontend", "web-development"], "enriched": true, "function": ["state-management", "frontend-framework"], "health_score": 99, "homepage": "http://mobx.js.org", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["mobxjs/mobx"], "name": "mobxjs/mobx", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-24T02:12:16+00:00", "repo": "mobxjs/mobx", "stars": 28207, "tags": ["reactive-programming", "observable-state", "react", "typescript", "javascript", "nodejs"], "topics": ["mobx", "reactive-programming", "react", "typescript", "javascript"], "urls": [], "use_cases": ["manage application state in a react app", "reactive state management with observables", "automatically update ui when data changes", "scalable state management for large frontend apps", "typescript state management library", "derive computed values from application state"], "what_it_is": "MobX is a battle-tested state management library for JavaScript and TypeScript applications built on transparent reactive programming with observables. It automatically tracks state dependencies and efficiently updates derived values and UI components when state changes.", "when_to_avoid": ["your team prefers unidirectional data flow with strict immutability (e.g., Redux conventions)", "you need a tiny single-file state solution for a very small app", "you want a framework-agnostic signal library with a smaller API surface", "implicit magic-style dependency tracking is undesirable in your codebase"], "when_to_choose": ["you want minimal-boilerplate, transparent reactivity instead of explicit reducers", "your app has complex derived/computed state that must stay in sync", "you use React (or plain JS/TS) and want fine-grained, efficient updates", "you prefer mutable-style state updates over immutable patterns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mobx", "repo": "mobxjs/mobx", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "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:11:48.200049+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:48.200049+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:54:25.712238+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b79e1f0d7d2201015cfae3d6b44b1ae648e9c8e8e6842fe44d685c2bcd537eaf", "fetched_at": "2026-08-28T04:11:48.200049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobxjs/mobx"}, {"content_hash": "a4094ba145fbaddc105145d805a08be2c651e742d9095ee1275f7096d7703f8e", "fetched_at": "2026-08-29T07:51:17.931661+00:00", "kind": "homepage", "missing": false, "url": "http://mobx.js.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "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": 4190, "days_push": 10, "days_rel": 14, "gap_med": 0.5, "n_releases_24m": 29}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}