{"adoption": {"forks": 413, "observed_at": "2026-08-28T04:10:20.940017+00:00", "stars": 8404}, "canonical_url": "https://ross.abutalabs.com/products/rematch", "card": {"archived": true, "artifact_type": "library", "description": "The Redux Framework", "domain": ["frontend", "web-development", "developer-tools"], "enriched": true, "function": ["state-management"], "health_score": 10, "homepage": "https://rematchjs.org", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["rematch/rematch"], "name": "rematch/rematch", "platform": ["browser", "cross-platform"], "pushed_at": "2023-09-27T10:20:18+00:00", "repo": "rematch/rematch", "stars": 8404, "tags": ["redux", "react", "vue", "angular", "react-native", "typescript", "immer", "boilerplate-reduction", "nodejs"], "topics": ["redux", "rematch", "react", "vue", "angular", "javascript", "typescript", "react-native", "immer", "react-redux", "state-management", "redux-best-practices", "redux-made-easy", "hacktoberfest"], "urls": [], "use_cases": ["manage global state in a React app without Redux boilerplate", "simplify Redux setup with built-in side-effect handling", "use Redux best practices with TypeScript type safety", "share state management across React, Vue, and Angular projects", "persist application state with redux-persist", "write immutable state updates with immer"], "what_it_is": "Rematch is a lightweight wrapper around Redux that eliminates boilerplate like action types, action creators, switch statements, and thunks while enforcing Redux best practices. It works with React, Vue, Angular, and React Native, and is extensible via plugins for persistence, immer, and selectors.", "when_to_avoid": ["you prefer modern alternatives like Zustand, Jotai, or Redux Toolkit", "your project already uses Redux Toolkit with minimal boilerplate", "you need a framework-agnostic store with no Redux dependency", "you require very frequent releases or active maintenance"], "when_to_choose": ["you want Redux's ecosystem and devtools without action types and switch statements", "you need a tiny (~1.4kb) state management layer with TypeScript support", "you want built-in async side effects and plugin extensibility", "you're starting a new React or React Native project and want simple Redux"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rematch", "repo": "rematch/rematch", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "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:10:20.940017+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.940017+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.742191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4886b8ba8a5855b8e6ac65cb3cd4cb283aa28ed07e938f754000634c15c3b39", "fetched_at": "2026-08-28T04:10:20.940017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rematch/rematch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3259, "days_push": 1071, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}