Write Go functions, call them from TypeScript with full autocomplete. No IDL required. Standard HTTP/JSON.
You've kept Go structs and TypeScript types in sync by hand. Or used OpenAPI codegen that's slow and generates ugly types. Or wished tRPC worked with Go backends.
Your Go structs become your TypeScript types. Automatically. No drift.
No protobuf. No OpenAPI yaml. No IDL. Just write Go functions with struct parameters. tygor reads your code and generates TypeScript types with Zod schemas for runtime validation.
Validate tags like validate:"min=3" become z.string().min(3). All the good stuff included.
The Vite plugin hot-reloads your Go server. Change a Go file, save, see the update instantly.
Go build errors appear in your browser. No terminal watching required.
Go build errors and RPC failures show up in the Vite error overlay. Full stack traces with file paths and line numbers. Same UX you get for frontend errors, but for your backend.
During rebuilds, requests automatically route to the last working server. Your frontend doesn't break every time you save.
No custom wire protocols. No proprietary serialization. Just HTTP with JSON bodies. Debug with curl. Inspect in DevTools. Simple, auditable, boring.
Your API works with any HTTP client. The tygor client is optional convenience.
| tygor | tRPC | OpenAPI | gRPC/Connect | |
|---|---|---|---|---|
| Backend | Go | TypeScript | Any | Any |
| Schema | Code-first | Code-first | Spec-first | Spec-first |
Already have a Go API? tygor works incrementally. Add it to one endpoint, see if you like it.