{"adoption": {"forks": 195, "observed_at": "2026-08-28T04:04:59.248728+00:00", "stars": 1530}, "canonical_url": "https://ross.abutalabs.com/products/merit", "card": {"archived": false, "artifact_type": "library", "description": "Reputation engine for Rails apps", "domain": ["web-development", "backend", "developer-tools"], "enriched": true, "function": ["middleware", "developer-tools"], "health_score": 57, "homepage": null, "language": "Ruby", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["tute/merit"], "name": "tute/merit", "platform": ["ruby"], "pushed_at": "2025-08-19T19:34:03+00:00", "repo": "tute/merit", "stars": 1530, "tags": ["rails", "gamification", "badges", "points", "rankings", "reputation", "web-server"], "topics": [], "urls": [], "use_cases": ["add badges to users in a rails app", "award points for user actions like posting comments", "build a leaderboard with rankings", "gamify a community forum", "grant badges automatically when conditions are met", "revoke temporary badges when conditions no longer hold"], "what_it_is": "Merit is a Ruby gem that adds reputation behavior to Rails applications through badges, points, and rankings. It lets developers define rules that automatically grant or revoke reputation based on controller actions and model conditions.", "when_to_avoid": ["you are not using Ruby on Rails", "you need a standalone reputation microservice or non-Ruby stack", "you only need simple counters that an ORM callback could handle"], "when_to_choose": ["you have a Rails app and want gamification features like badges, points, and leaderboards", "you want rule-based, declarative reputation logic tied to controller actions", "you need badges with levels and temporary/permanent semantics"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/merit", "repo": "tute/merit", "role": "main", "score": 40}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "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:04:59.248728+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.248728+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:26.256973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cdfa4b213dee94e982b94f9dc7b89dfe0f7944020cd45be38d64400a779fb353", "fetched_at": "2026-08-28T04:04:59.248728+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tute/merit"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 37, "longevity": 100, "rhythm": 9}, "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": 5395, "days_push": 379, "days_rel": 394, "gap_med": null, "n_releases_24m": 1}, "score": 40, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}