{"adoption": {"forks": 98, "observed_at": "2026-08-28T04:05:23.765703+00:00", "stars": 1695}, "canonical_url": "https://ross.abutalabs.com/products/redwoodjs-sdk", "card": {"archived": false, "artifact_type": "framework", "description": "A simple framework for humans Server-first React, running on the Cloudflare platform. Simple to build. Easy to maintain.", "domain": ["web-development", "frontend", "backend", "developer-tools"], "enriched": true, "function": ["web-framework", "ssr", "routing", "middleware", "websocket", "templating"], "health_score": 100, "homepage": "https://rwsdk.com", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["redwoodjs/sdk"], "name": "redwoodjs/sdk", "platform": ["cloud"], "pushed_at": "2026-08-26T14:05:30+00:00", "repo": "redwoodjs/sdk", "stars": 1695, "tags": ["react-server-components", "cloudflare-workers", "vite-plugin", "server-first", "realtime", "durable-objects", "edge-computing", "nodejs", "web-server", "typescript"], "topics": ["cloudflare", "react", "react-server-components", "realtime", "typescript"], "urls": [], "use_cases": ["build a full-stack React app deployed to Cloudflare Workers", "use React Server Components with server functions", "add realtime synced state across clients without WebSockets", "create a type-safe server router with middleware", "scaffold a Vite-based React project for the edge", "build server-rendered React pages with streaming responses"], "what_it_is": "RedwoodSDK is a server-first React framework built as a Vite plugin for the Cloudflare platform, enabling React Server Components, server functions, and a type-safe standards-based router. It includes realtime primitives via Durable Objects and integrates with Cloudflare services like D1, R2, and Queues.", "when_to_avoid": ["you target Node.js servers or other clouds like Vercel or AWS", "you need a mature ecosystem with extensive plugins and community packages", "you want file-based routing conventions out of the box", "your team depends on Next.js-specific features"], "when_to_choose": ["you deploy exclusively to Cloudflare Workers/workerd", "you want server-first React with RSC and minimal abstraction", "you need realtime state sync built on Durable Objects", "you prefer web standards over framework magic"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/redwoodjs-sdk", "repo": "redwoodjs/sdk", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "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:23.765703+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.765703+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:57.244950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8791bc8f37496c2afee5896544518fbbb3737a6a6c53ac8570bcdd348fb55bec", "fetched_at": "2026-08-28T04:05:23.765703+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redwoodjs/sdk"}, {"content_hash": "7803fead439034590955b49b13ad4a9361f8044623b1343c6601cbb5cd3b80a3", "fetched_at": "2026-08-29T11:13:16.002659+00:00", "kind": "homepage", "missing": false, "url": "https://rwsdk.com"}, {"content_hash": "77613436f02028fe13d6de3c51ef7e20bc04f1826400848980bab958bdc7699a", "fetched_at": "2026-08-29T11:13:16.015174+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com/getting-started/quick-start"}, {"content_hash": "b84876581900fc9f51a74983c50ab92115022c82cab7573fe6e18ee8308d0fc7", "fetched_at": "2026-08-29T11:13:16.011614+00:00", "kind": "site_page", "missing": false, "url": "https://docs.rwsdk.com"}, {"content_hash": "308a476ec2c029ca416d418ec0c454abc66a3b5355eb6e9f8c7d807ff3ca9e21", "fetched_at": "2026-08-29T11:13:16.013507+00:00", "kind": "site_page", "missing": false, "url": "https://rwsdk.com/realtime"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 46, "rhythm": 85}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 653, "days_push": 7, "days_rel": 20, "gap_med": 0, "n_releases_24m": 264}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}