/trpc

🧙‍♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.

Primary LanguageTypeScriptMIT LicenseMIT

🚀 You are looking at a pre-release of tRPC v10!

You might be looking for the main-branch which is the stable v9-version.

See our migration guide for a summary of what is changing or take a look at the v10 docs website. There is also the next-prisma-starter project to try out a real project using this version.


tRPC

tRPC

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

codecov MIT License Discord
Twitter 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

👉 See full documentation on tRPC.io. 👈

Star History

tRPC is rapidly gaining momentum!

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 has the most active role in the development


Sachin Raja

Alex / KATT

Active contributors

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


James Berry

Julius Marminge
Ahmed%20Elsakaan
Ahmed Elsakaan

Special shout-outs


bautistaaa

Theo Browne

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

Render
Render
Cal.com,%20Inc.
Cal.com, Inc.

🥈 Silver Sponsors

Jason%20Docton
Jason Docton
Ping.gg
Ping.gg
Prisma
Prisma

🥉 Bronze Sponsors

Newfront
Newfront
Dr.%20B
Dr. B
Ryan
Ryan
Snaplet
Snaplet
Flylance
Flylance
Echobind
Echobind

😻 Individuals

Ethan%20Clark
Ethan Clark
nihinihi01
nihinihi01
Sam%20Holmes
Sam Holmes
Max%20Greenwald
Max Greenwald
Memory-Lane-Games
Memory-Lane-Games
Beier%20(Bill)
Beier (Bill)
Timothy%20Cole
Timothy Cole
Lucas%20Viana
Lucas Viana
Faraz%20Patankar
Faraz Patankar
Theo%20Browne
Theo Browne
PatrickJS
PatrickJS
Ron%20Mizrahi
Ron Mizrahi
Hampus%20Kraft
Hampus Kraft
Illarion%20Koperski
Illarion Koperski
Daniel%20Yogel
Daniel Yogel
Micha%C5%82%20Kowieski
Michał Kowieski
J%C3%B6kull%20S%C3%B3lberg%20Au%C3%B0unsson
Jökull Sólberg Auðunsson
aslaker
aslaker
SchlagerKhan
SchlagerKhan
Jan%20Zimmek
Jan Zimmek
Christian
Christian
Luis%20Matheus
Luis Matheus
Dmitry%20Maykov
Dmitry Maykov
Jared%20Wyce
Jared Wyce
Chris%20Bradley
Chris Bradley
Mateo%20Carriqu%C3%AD
Mateo Carriquí
Ahmed%20Elsakaan
Ahmed Elsakaan
Svend%20Aage%20Roperos%20Nielsen
Svend Aage Roperos Nielsen
Isaac%20Way
Isaac Way
Lori%20Karikari
Lori Karikari
Francis%20Provost
Francis Provost
Ivan%20Buncic
Ivan Buncic
Martin
Martin
Fanvue
Fanvue
Omar%20L%C3%B3pez
Omar López
Malcolm%20Still
Malcolm Still
Thomas%20Ballinger
Thomas Ballinger
Lars%20Karbo
Lars Karbo
Zac%20Ong
Zac Ong
Jirka%20Svoboda
Jirka Svoboda
Simon%20Flack
Simon Flack
Andrew%20Brown
Andrew Brown
Wyatt%20Schulte
Wyatt Schulte
Daniel%20Madrid
Daniel Madrid

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