/trpc

๐Ÿง™โ€โ™€๏ธ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.

Primary LanguageTypeScriptMIT LicenseMIT

tRPC

tRPC

Move fast and break nothing.
End-to-end typesafe APIs made easy.

codecov weekly downloads MIT License Discord
Twitter

Demo

The client above is not importing any code from the server, only its type declarations.


Note

You are looking at the next-branch of tRPC which is the current work in progress representing version 11.

  • The functionality is stable and can be used in production, but we may do small breaking API-changes between patches until we reach 11.0.0
  • The packages are published with the next-tag on npm
  • For the list of changes made, see https://trpc.io/docs/v11/migrate-from-v10-to-v11

Intro

tRPC allows you to easily build & consume fully typesafe APIs without schemas or code generation.

Features

  • โœ…  Well-tested and production ready.
  • ๐Ÿง™โ€โ™‚๏ธ  Full static typesafety & autocompletion on the client, for inputs, outputs, and errors.
  • ๐ŸŽ  Snappy DX - No code generation, run-time bloat, or build pipeline.
  • ๐Ÿƒ  Light - tRPC has zero deps and a tiny client-side footprint.
  • ๐Ÿป  Easy to add to your existing brownfield project.
  • ๐Ÿ”‹  Batteries included - React.js/Next.js/Express.js/Fastify adapters. (But tRPC is not tied to React, and there are many community adapters for other libraries)
  • ๐Ÿฅƒ  Subscriptions support.
  • โšก๏ธ  Request batching - requests made at the same time can be automatically combined into one
  • ๐Ÿ‘€  Quite a few examples in the ./examples-folder

Quickstart

There are a few examples that you can use for playing out with tRPC or bootstrapping your new project. For example, if you want a Next.js app, you can use the full-stack Next.js example:

Quick start with a full-stack Next.js example:

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

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

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

# bun
bunx create-next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter

๐Ÿ‘‰ See full documentation on tRPC.io. ๐Ÿ‘ˆ

Star History

Star History Chart

Core Team

Do you want to contribute? First, read the Contributing Guidelines before opening an issue or PR so you understand the branching strategy and local development environment. If you need any more guidance or want to ask more questions, feel free to write to us on Discord!


Alex / KATT
๐Ÿ‘‹ Hi, I'm Alex and I am the creator of tRPC, don't hesitate to contact me on Twitter or email if you are curious about tRPC in any way.

Project leads

The people who lead the API-design decisions and have the most active role in the development


Julius Marminge

Alex / KATT

Active contributors

People who actively help out improving the codebase by making PRs and reviewing code


Nick Lucas

Flo

Sachin Raja

Special shout-outs


Chris Bautista

Theo Browne
Ahmed%20Elsakaan
Ahmed Elsakaan

James Berry

Kamil Ogรณrek

Sponsors

If you enjoy working with tRPC and want to support us, consider giving a token appreciation by GitHub Sponsors!

๐Ÿฅ‡ Gold Sponsors

Retool
Retool

๐Ÿฅˆ Silver Sponsors

Cal.com,%20Inc.
Cal.com, Inc.
KeenEthics
KeenEthics

๐Ÿฅ‰ Bronze Sponsors

Dr.%20B
Dr. B
Flylance
Flylance

๐Ÿ˜ป Smaller Backers

Ahoy%20Labs
Ahoy Labs
Unkey
Unkey
Tom%20Ballinger
Tom Ballinger
Brooke
Brooke
Max%20Greenwald
Max Greenwald
Dmitry%20Maykov
Dmitry Maykov
Chris%20Bradley
Chris Bradley
Proxidize
Proxidize
Illarion%20Koperski
Illarion Koperski
SchlagerKhan
SchlagerKhan
Jared%20Wyce
Jared Wyce
fanvue
fanvue
Andrew%20Brown
Andrew Brown
Ascent%20Factory
Ascent Factory
Drew%20Powers
Drew Powers
rickk
rickk
Jaron%20Heard
Jaron Heard
Jonas%20Strassel
Jonas Strassel
Drizzle%20Team
Drizzle Team
Spencer%20McKenney
Spencer McKenney
Stefan%20Wallin
Stefan Wallin
Maicon%20Carraro
Maicon Carraro
Andrei%20Karushev
Andrei Karushev
supastarter
supastarter
%E5%85%8B%E9%87%8C%E3%81%AE%E5%B0%8F%E8%B7%9F%E7%8F%AD
ๅ…‹้‡Œใฎๅฐ่ทŸ็ญ
Liminity%20AB
Liminity AB
Val%20Town
Val Town
Banks%20Nussman
Banks Nussman
Gadi%20Cohen
Gadi Cohen
mikan3rd
mikan3rd
kitakitsune
kitakitsune

All contributors โœจ

A table of avatars from the project's contributors


Powered by Vercel