{"adoption": {"forks": 37, "observed_at": "2026-08-28T04:05:46.944809+00:00", "stars": 1872}, "canonical_url": "https://ross.abutalabs.com/products/roguejs", "card": {"archived": true, "artifact_type": "framework", "description": "The \"nearly invisible\" way to server-render React applications", "domain": ["web-development", "frontend", "backend"], "enriched": true, "function": ["ssr", "web-framework", "routing"], "health_score": 10, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["alidcast/rogue.js"], "name": "alidcast/rogue.js", "platform": [], "pushed_at": "2019-01-05T20:42:35+00:00", "repo": "alidcast/rogue.js", "stars": 1872, "tags": ["react", "react-router", "apollo-graphql", "server-side-rendering", "zero-config", "parcel", "nodejs", "web-server"], "topics": ["server-side-rendering", "react", "react-router-v4", "apollo", "css-in-js"], "urls": [], "use_cases": ["server-render a react app without next.js pages directory", "ssr react with react router v4", "server-side rendering with apollo graphql", "zero configuration react ssr setup", "organize react ssr code freely without route conventions", "build server-rendered react app with parcel"], "what_it_is": "Rogue is a server-side rendering framework for React applications that requires no special directory structure or routes file, working with your existing App.js component. It leverages React Router for dynamic routing and Apollo GraphQL for data querying, with a zero-config CLI built on Parcel.", "when_to_avoid": ["you need a maintained framework - the project has not been updated since early 2019", "you want a mature ecosystem like Next.js or Remix", "you don't use React Router or Apollo in your stack"], "when_to_choose": ["you want SSR for a React app using React Router and Apollo without Next.js conventions", "you prefer organizing your React code without a special pages directory", "you want a zero-config SSR setup built on Parcel"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/roguejs", "repo": "alidcast/rogue.js", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "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:05:46.944809+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.944809+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:14:56.703110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aea874585d52c7ea4fe0da6fc1a4beace0c58b91fdf00bb5dc35cc85e84a38a9", "fetched_at": "2026-08-28T04:05:46.944809+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alidcast/rogue.js"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2992, "days_push": 2797, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}