{"adoption": {"forks": 615, "observed_at": "2026-08-28T04:10:23.848804+00:00", "stars": 8619}, "canonical_url": "https://ross.abutalabs.com/products/flecs", "card": {"archived": false, "artifact_type": "framework", "description": "A fast entity component system (ECS) for C & C++", "domain": ["simulation"], "enriched": true, "function": ["game-engine", "simulation", "serialization", "concurrency"], "health_score": 99, "homepage": "https://www.flecs.dev", "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["SanderMertens/flecs"], "name": "SanderMertens/flecs", "platform": ["cross-platform", "cpp", "c", "wasm"], "pushed_at": "2026-08-26T00:08:34+00:00", "repo": "SanderMertens/flecs", "stars": 8619, "tags": ["ecs", "entity-component-system", "data-oriented-design", "c99", "cpp17", "no-dependencies", "archetype-storage", "entity-relationships", "prefabs", "multithreading", "game-development", "gamedev"], "topics": ["ecs", "c99", "cpp11", "cpp14", "cpp17", "data-oriented", "data-oriented-design", "entity-component-system", "entity-framework", "flecs", "game-development", "game-engine", "game-engine-framework", "gamedev", "modern-cpp", "no-dependencies", "portable", "production-ready"], "urls": [], "use_cases": ["build a game engine with an entity component system architecture", "simulate millions of entities efficiently", "manage entity relationships and hierarchies in a game", "run game logic in parallel across CPU cores", "serialize game state to JSON with reflection", "write data-oriented gameplay systems with queries"], "what_it_is": "Flecs is a fast, lightweight Entity Component System (ECS) framework for C99 and C++17 that enables building games and simulations with millions of entities. It features an archetype/SoA storage, entity relationships, prefabs, hierarchies, a query language, and a lockless multithreaded scheduler.", "when_to_avoid": ["you need a full game engine with rendering, audio, and physics built in", "your project is small enough that an ECS adds unnecessary complexity", "you require a garbage-collected language binding as your primary workflow", "you need an ECS with a large plugin ecosystem beyond the core framework"], "when_to_choose": ["you need a production-ready, zero-dependency ECS for C or C++", "you want high-performance archetype-based storage for large entity counts", "you need entity relationships, prefabs, or hierarchies in an ECS", "you want to run systems in parallel on multiple cores", "you target multiple platforms including the browser via emscripten"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/flecs", "repo": "SanderMertens/flecs", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "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:23.848804+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.848804+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:25:52.935633+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1badc794c3f55e939892159f8b518c6050571a623fbcb0e1916a1b0257654d6", "fetched_at": "2026-08-28T04:10:23.848804+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SanderMertens/flecs"}, {"content_hash": "83e88a898dc8c21101a2981cfa8d2685cd9dc1e620134aa20708a829ea1da75f", "fetched_at": "2026-08-29T08:26:11.780246+00:00", "kind": "homepage", "missing": false, "url": "https://www.flecs.dev"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 78}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2929, "days_push": 8, "days_rel": 66, "gap_med": 62.5, "n_releases_24m": 11}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}