OSS Tanbou

tRPC — carry TypeScript types from server procedures to the client

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
40,630
Primary language
TypeScript
License
MIT
Repository last updated
Sep 17, 2026

Overview

tRPC is a TypeScript RPC framework that infers client input, output, and error types from server-side routers and procedures. It keeps frontend and backend types aligned without a separate schema-generation or code-generation step.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Infer client types from routers and procedures

Server procedures define validation and behavior while their type information flows to clients for completion and static checking.

Sources: [2][3]

Connect React and multiple HTTP server adapters

The ecosystem includes React Query integration plus adapters for Next.js, Express, Fastify, Fetch API, and other server environments.

Sources: [2][4]

Useful for TypeScript frontend and backend codebases managed together

It fits teams that want API changes to surface as TypeScript errors across a full-stack application before runtime.

Sources: [2]

Plan a separate contract boundary for public polyglot APIs

tRPC centers on shared TypeScript types. APIs consumed by third parties or non-TypeScript clients may still need a language-neutral contract such as OpenAPI.

Sources: [3]

Official sources

  1. [1]trpc/trpc repository(2026-09-21)
  2. [2]tRPC README(2026-09-21)
  3. [3]tRPC documentation(2026-09-21)
  4. [4]@trpc/server package(2026-09-21)
  5. [5]tRPC MIT license(2026-09-21)
Supplemental curator note

tRPC does not start from a language-neutral API contract such as OpenAPI; it propagates TypeScript server types to clients. That is powerful when frontend and backend live in a closely managed TypeScript environment, while public APIs and polyglot clients may need a separate contract strategy. The current `@trpc/server` package is 11.19.0.

Try it in 3 steps

  1. 1

    Create the official Next.js example project

    Use the README Next.js + Prisma starter to get a project with routers, a client, and shared tRPC types.

    npx create-next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter
  2. 2

    Start the development server

    Open the application and verify that a server procedure is connected to the typed client.

    cd trpc-prisma-starter && npm run dev
  3. 3

    Add one procedure and inspect type propagation

    Change an input or output type and verify that completion and type errors update immediately on the client.

    Add a router procedure → call it from the client
Check the official README

Growth

Growth trends · Last 30 days

40,630 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
33
Open PRs
56

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • typescript
  • api
  • nextjs
  • prisma
  • next
  • react
Stars
40,630
Forks
1,680
Watchers
106
Open issues
145
Contributors
460
Primary language
TypeScript
License
MIT
Repository last updated
Sep 17, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.