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


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


Sachin Raja

Julius Marminge

Alex / KATT

Active contributors

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


Nick Lucas

Kamil OgΓ³rek

Flo

Special shout-outs


Chris Bautista

Theo Browne
Ahmed%20Elsakaan
Ahmed Elsakaan

James Berry

Sponsors

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

Also, if your company using tRPC and want to support long-term maintenance of tRPC, have a look at the sponsorship tiers or get in touch to discuss potential partnerships.

πŸ₯‡ Gold Sponsors

Tola
Tola

πŸ₯ˆ Silver Sponsors

Jason%20Docton
Jason Docton

πŸ₯‰ Bronze Sponsors

Echobind
Echobind
Dr.%20B
Dr. B
Flylance
Flylance

😻 Smaller Backers

Ahoy%20Labs
Ahoy Labs
Brooke
Brooke
Max%20Greenwald
Max Greenwald
Tom%20Ballinger
Tom Ballinger
Faraz%20Patankar
Faraz Patankar
Adam%20Slaker
Adam Slaker
Dmitry%20Maykov
Dmitry Maykov
Chris%20Bradley
Chris Bradley
Ahmed%20Elsakaan
Ahmed Elsakaan
Francis%20Provost
Francis Provost
A%20Local%20Cart
A Local Cart
Hampus%20Kraft
Hampus Kraft
Illarion%20Koperski
Illarion Koperski
SchlagerKhan
SchlagerKhan
Jared%20Wyce
Jared Wyce
fanvue
fanvue
Wyatt%20Schulte
Wyatt Schulte
Andrew%20Brown
Andrew Brown
Ascent%20Factory
Ascent Factory
HeroDevs
HeroDevs
Jonas%20Strassel
Jonas Strassel
SalihOsmankovic
SalihOsmankovic
Jordy
Jordy
Daniel%20Burger
Daniel Burger
Scale%20Leap
Scale Leap
Drew%20Powers
Drew Powers
Armand%20SALLE
Armand SALLE
Drizzle%20Team
Drizzle Team
Liran%20Goldman
Liran Goldman

All contributors ✨

tRPC is developed by KATT, originally based on a proof-of-concept by colinhacks.

A table of avatars from the project's contributors


Powered by Vercel