{"adoption": {"forks": 19, "observed_at": "2026-09-01T02:14:05.337672+00:00", "stars": 1070}, "canonical_url": "https://ross.abutalabs.com/products/nkzw-tech-fate", "card": {"archived": false, "artifact_type": "library", "description": "fate is a modern data client for React.", "domain": ["frontend", "web-development", "apis", "developer-tools"], "enriched": true, "function": ["http-client", "caching", "state-management", "middleware"], "health_score": 99, "homepage": "http://fate.technology", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["nkzw-tech/fate"], "name": "nkzw-tech/fate", "platform": ["browser"], "pushed_at": "2026-08-29T02:53:32+00:00", "repo": "nkzw-tech/fate", "stars": 1070, "tags": ["react", "data-fetching", "relay-inspired", "normalized-cache", "suspense", "type-safe", "vue", "trpc", "graphql", "optimistic-updates", "vite-plugin", "nodejs"], "topics": ["async", "data", "react"], "urls": [], "use_cases": ["fetch data in react with suspense", "co-locate data requirements with react components", "avoid request waterfalls by composing data into one request", "normalized client-side cache for react app data", "optimistic updates with automatic rollback on failure", "cursor-based pagination and infinite scrolling in react", "type-safe data fetching without graphql dsl", "live updating views via server-sent events"], "what_it_is": "fate is a modern, type-safe data client for React (with a Vue client also available) inspired by Relay and GraphQL. It combines co-located view composition, a normalized cache, data masking, optimistic updates, and Async React features like Suspense and Actions into a single data-fetching layer.", "when_to_avoid": ["You need a battle-tested, production-ready library today - fate is explicitly in alpha and not production ready", "You are not using React 19.2+ (or Vue) and modern Async React features", "You prefer a minimal fetch wrapper or an established solution like React Query, SWR, or Apollo", "Your project cannot adopt the fate server, Vite plugin, or one of its supported transports"], "when_to_choose": ["You are building a React 19+ app and want Relay-style co-located data views without adopting GraphQL or a compiler/DSL", "You need a normalized cache with data masking to prevent overfetching and component coupling", "You want built-in optimistic updates, pagination, and Suspense-based async rendering", "You use tRPC, Drizzle, Prisma, or a custom fate server and want type-safe end-to-end data fetching"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nkzw-tech-fate", "repo": "nkzw-tech/fate", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.337672+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:54:35.890157+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8413e0c06706eebbcb938d32b377152d308dc820f2fc4fbeab42d88868f8f936", "fetched_at": "2026-09-01T02:14:05.337672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nkzw-tech/fate"}, {"content_hash": "7b676252a8d95679b896425e68c4b02f4cbf467e98c78e9b75fa41e21360d7f1", "fetched_at": "2026-08-29T12:56:41.296717+00:00", "kind": "homepage", "missing": false, "url": "http://fate.technology"}, {"content_hash": "9051ee27bfc179697ec5144ff8b44ed9274342816e143b27ff5f045616285b42", "fetched_at": "2026-08-29T12:56:41.305849+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/getting-started"}, {"content_hash": "cca4f08a6c9041c35bf12d7066b93b54ae823ad93dc7af8f37c0c53d3f602ba0", "fetched_at": "2026-08-29T12:56:41.309486+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/guide/actions"}, {"content_hash": "cd12230060c576470a5c84cbfc341c231f6eaf8b3310537262ec1ed754d4a152", "fetched_at": "2026-08-29T12:56:41.307812+00:00", "kind": "site_page", "missing": false, "url": "http://fate.technology/api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 22, "rhythm": 88}, "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": 316, "days_push": 4, "days_rel": 82, "gap_med": 4.0, "n_releases_24m": 9}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}