{"adoption": {"forks": 45, "observed_at": "2026-08-28T04:03:21.632160+00:00", "stars": 1046}, "canonical_url": "https://ross.abutalabs.com/products/miniplex", "card": {"archived": false, "artifact_type": "library", "description": "A 👩‍💻 developer-friendly entity management system for 🕹 games and similarly demanding applications, based on 🛠 ECS architecture.", "domain": ["programming-languages"], "enriched": true, "function": ["state-management", "game-engine"], "health_score": 66, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hmans/miniplex"], "name": "hmans/miniplex", "platform": ["browser", "cross-platform"], "pushed_at": "2026-04-05T11:12:40+00:00", "repo": "hmans/miniplex", "stars": 1046, "tags": ["ecs", "entity-component-system", "react", "game-architecture", "developer-experience", "game-development", "typescript", "nodejs"], "topics": ["ecs", "entity-component-system", "game-development", "state-management", "typescript", "react"], "urls": [], "use_cases": ["manage game entities and components with an ECS architecture", "build a game loop with decoupled state and logic", "structure state for a browser-based game in TypeScript", "use ECS entities inside React components", "replace ad-hoc game state management with a component-based system", "build simulations with many entities and efficient queries"], "what_it_is": "Miniplex is a developer-friendly entity management system implementing the ECS (Entity Component System) architecture for games and other demanding applications. It is written in TypeScript and includes React integration for building game UIs and interactive applications.", "when_to_avoid": ["you need a full game engine with rendering, physics, and asset pipelines built in", "your project is not in TypeScript/JavaScript", "you need battle-tested ECS performance at massive entity counts with archetype-level optimizations"], "when_to_choose": ["you are building a game or simulation in TypeScript and want an ergonomic ECS", "you want React bindings for rendering ECS-driven state", "you value a small, developer-friendly API over a heavyweight engine"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/miniplex", "repo": "hmans/miniplex", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "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:03:21.632160+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.632160+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:01:57.173249+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af0c08d6f291aa75c55d4ad3ec19fd4b728edcf43a39c80d566f661b3b311c44", "fetched_at": "2026-08-28T04:03:21.632160+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmans/miniplex"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 75, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1665, "days_push": 150, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}