{"adoption": {"forks": 138, "observed_at": "2026-08-28T04:06:37.032355+00:00", "stars": 2319}, "canonical_url": "https://ross.abutalabs.com/products/production_rails", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Best practices for running Rails in production", "domain": ["web-development", "backend", "developer-tools", "awesome-lists", "tutorials"], "enriched": true, "function": ["documentation", "developer-tools", "monitoring", "logging", "security", "caching", "error-handling"], "health_score": 65, "homepage": null, "language": null, "license": "CC-BY-4.0", "license_family": "other", "maturity": "active", "member_repos": ["ankane/production_rails"], "name": "ankane/production_rails", "platform": ["ruby", "self-hosted"], "pushed_at": "2026-03-31T20:38:05+00:00", "repo": "ankane/production_rails", "stars": 2319, "tags": ["rails", "ruby-on-rails", "best-practices", "production", "guide", "checklist", "devops", "web-server"], "topics": [], "urls": [], "use_cases": ["learn how to run rails in production", "rails production checklist", "best practices for deploying ruby on rails apps", "how to set up logging and error reporting in rails", "safe database migration practices for rails", "rails performance and caching recommendations", "setting up background jobs and email in a rails app"], "what_it_is": "A curated guide of best practices for running Ruby on Rails applications in production, covering security, logging, error reporting, migrations, background jobs, email, and performance. It is a documentation-style resource with recommendations and links to supporting gems rather than runnable software.", "when_to_avoid": ["you need runnable code or a library to install rather than a guide", "you use a framework other than Rails", "you need exhaustive, up-to-the-minute coverage of every gem option"], "when_to_choose": ["you are preparing a Rails app for production deployment", "you want an opinionated checklist of production concerns for Rails", "you are onboarding a team to Rails operational best practices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/production_rails", "repo": "ankane/production_rails", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "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:06:37.032355+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.032355+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:50.875059+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0321401f94c6271858939fce24b5e9953f1a7d7fcb7916ee67e4d5b20d9fcc68", "fetched_at": "2026-08-28T04:06:37.032355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ankane/production_rails"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 75, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4384, "days_push": 155, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}