{"adoption": {"forks": 154, "observed_at": "2026-08-28T04:03:14.806157+00:00", "stars": 1018}, "canonical_url": "https://ross.abutalabs.com/products/site_prism", "card": {"archived": false, "artifact_type": "library", "description": "A Page Object Model DSL for Capybara", "domain": ["testing", "web-development", "developer-tools"], "enriched": true, "function": ["testing", "e2e-testing"], "health_score": 20, "homepage": null, "language": null, "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["natritmeyer/site_prism"], "name": "natritmeyer/site_prism", "platform": ["ruby"], "pushed_at": "2019-06-13T11:32:29+00:00", "repo": "natritmeyer/site_prism", "stars": 1018, "tags": ["page-object-model", "capybara", "dsl", "acceptance-testing", "ruby", "web-server"], "topics": [], "urls": [], "use_cases": ["model web pages as page objects for Capybara tests", "write maintainable acceptance tests for Ruby web apps", "define page elements and sections declaratively", "reduce duplication in end-to-end test suites", "migrate legacy page object code to the new site_prism repo"], "what_it_is": "SitePrism is a Ruby DSL for implementing the Page Object Model pattern on top of Capybara, letting testers define pages and elements declaratively for acceptance tests. This original repository has moved to the site-prism/site_prism organization and is being wound down in favor of the new location.", "when_to_avoid": ["you are starting a new project - use the moved site-prism/site_prism repository instead", "you are not using Ruby or Capybara", "you need a general-purpose browser automation tool rather than a page object layer"], "when_to_choose": ["you are writing Capybara-based acceptance tests in Ruby and want a page object DSL", "you are maintaining an existing SitePrism 3.x test suite"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/site_prism", "repo": "natritmeyer/site_prism", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "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:14.806157+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.806157+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:09:29.759659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19360c9db83b7fe762167ee9a6de8d7338a9fcb756706bd9ff952ad57bcec903", "fetched_at": "2026-08-28T04:03:14.806157+00:00", "kind": "readme", "missing": false, "url": "https://github.com/natritmeyer/site_prism"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 5368, "days_push": 2638, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}