# nkzw-tech/fate

fate is a modern data client for React.

Repository: https://github.com/nkzw-tech/fate
Canonical: https://ross.abutalabs.com/products/nkzw-tech-fate
Homepage: http://fate.technology
Language: TypeScript
License: MIT
License Family: permissive
Topics: async, data, react
Last push: 2026-08-29T02:53:32+00:00

## Health v2 (maintenance only)
Score: 80/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 100, release rhythm 88, longevity 22
- inputs: {"age_days": 316, "days_push": 4, "days_rel": 82, "gap_med": 4.0, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1070, forks 19 (observed 2026-09-01T02:14:05.337672+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: library
- maturity: experimental
- function: http-client, caching, state-management, middleware
- domain: frontend, web-development, apis, developer-tools
- platform: browser
- tags: react, data-fetching, relay-inspired, normalized-cache, suspense, type-safe, vue, trpc, graphql, optimistic-updates, vite-plugin, nodejs

## Member repositories
- nkzw-tech/fate (main) score 80

## Provenance
- Observed fields: from GitHub, fetched 2026-09-01T02:14:05.337672+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:54:35.890157+00:00, confidence not recorded.
  - readme: https://github.com/nkzw-tech/fate (fetched 2026-09-01T02:14:05.337672+00:00, sha 8413e0c06706)
  - homepage: http://fate.technology (fetched 2026-08-29T12:56:41.296717+00:00, sha 7b676252a8d9)
  - site_page: http://fate.technology/guide/getting-started (fetched 2026-08-29T12:56:41.305849+00:00, sha 9051ee27bfc1)
  - site_page: http://fate.technology/guide/actions (fetched 2026-08-29T12:56:41.309486+00:00, sha cca4f08a6c90)
  - site_page: http://fate.technology/api (fetched 2026-08-29T12:56:41.307812+00:00, sha cd12230060c5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
