tRPC

Typescript Remote Procedure Call
It's a way of building APIs where you define functions (called "procedures") on your server, and then you can "call" those functions directly from your client-side code, as if they were local functions.

TRPC a different architecture / design pattern to build a server. Like REST or GraphQL. Your tRPC server would follow the Remote Procedure Call (RPC) architecture.

main benefit is end to end type safety, no code generations or schemas, better dev experience (autocomplete, compile time errors..).
with REST or GraphQL you have to define schemas on the backend and generate client-side types for them.

TRPC is an easy way to write your TS server functions and call them on the client without having to write a schema.

it's not a CLI tool or code editor extension. It's a framework/library

tRPC mainly works on a monorepo. A monorepo is not mandatory but you will lose some of the benefits of using tRPC if you don't use it since you will lose guarantees that your client and server works together.

Either you do monorepo or you do some other ways of sharing types from the server like having an npm package for the server, or a script that generates all types and you paste that file into the client.

keep in mind that monorepo is not the same as monolith software architecture