{"id":14156641,"url":"https://github.com/mkosir/trpc-api-boilerplate","last_synced_at":"2025-08-13T02:31:59.465Z","repository":{"id":173590001,"uuid":"650971968","full_name":"mkosir/trpc-api-boilerplate","owner":"mkosir","description":"⚒️ Minimal tRPC API boilerplate for projects with separate BE-FE repositories. Easily publish fully typesafe APIs that any frontend can consume.","archived":false,"fork":false,"pushed_at":"2025-07-02T08:28:03.000Z","size":1173,"stargazers_count":125,"open_issues_count":0,"forks_count":23,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-02T09:31:32.959Z","etag":null,"topics":["trpc","trpc-api","trpc-server","typescript"],"latest_commit_sha":null,"homepage":"https://trpc-api-boilerplate.onrender.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkosir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-08T07:58:57.000Z","updated_at":"2025-07-02T08:27:09.000Z","dependencies_parsed_at":"2023-12-09T18:25:12.641Z","dependency_job_id":"f72474cf-34d0-4be3-862f-4db2d25b2375","html_url":"https://github.com/mkosir/trpc-api-boilerplate","commit_stats":null,"previous_names":["mkosir/trpc-api-boilerplate"],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/mkosir/trpc-api-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkosir%2Ftrpc-api-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkosir%2Ftrpc-api-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkosir%2Ftrpc-api-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkosir%2Ftrpc-api-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkosir","download_url":"https://codeload.github.com/mkosir/trpc-api-boilerplate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkosir%2Ftrpc-api-boilerplate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270167203,"owners_count":24538733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["trpc","trpc-api","trpc-server","typescript"],"created_at":"2024-08-17T08:07:30.084Z","updated_at":"2025-08-13T02:31:59.393Z","avatar_url":"https://github.com/mkosir.png","language":"TypeScript","funding_links":[],"categories":["typescript"],"sub_categories":[],"readme":"# tRPC API Boilerplate ![Heisenberg](https://raw.githubusercontent.com/mkosir/trpc-fe-boilerplate-vite/main/misc/heisenberg_75.png)\n\n[![CI][ci-badge]][ci-url]\n\nMinimal [tRPC](https://trpc.io/) API boilerplate for projects with separate backend and frontend repositories. Easily publish fully typesafe APIs that any frontend can consume.\n\nMonorepos are great, but sometimes the architecture requires separating the backend and frontend into distinct repositories.\n\n### Why use this?\n\nThis boilerplate is ideal when you want to separate:\n\n- **Domain/business logic** – expose only what needs to be exposed through the API.\n- **Developer responsibilities** – for larger teams/companies.\n- **CI/CD pipelines** – manage PRs, issues, and deployments independently.\n\n## Running\n\n_Easily set up a local development environment_\n\n- Fork \u0026 clone the repo\n- Run `npm install`\n- Make changes to the tRPC API\n- Push - a new [package](https://www.npmjs.com/package/trpc-api-boilerplate) is released 📦 [![npm version][npm-badge]][npm-url]\n- In your frontend app, install it `npm install trpc-api-boilerplate`\n\n## Example Repos\n\nExample frontend app repositories:\n\n- [tRPC Frontend Boilerplate](https://github.com/mkosir/trpc-fe-boilerplate-vite) - Vite\n- [tRPC Frontend Boilerplate](https://github.com/mkosir/trpc-fe-boilerplate-next) - Next.js\n\n### Avoid publishing the package?\n\nIf for whatever reason publishing a package is not an option:\n\n- privacy concerns\n- faster development iterations - skip CI\n- ...\n\nUse the repository to share types by running `npm run trpc-api-export` and push code changes.  \nIn your [frontend app](https://github.com/mkosir/trpc-fe-boilerplate-vite/blob/main/package.json#L7), consume types by running `npm run trpc-api-import`.\n\n\u003c!-- Badges --\u003e\n\n[ci-badge]: https://github.com/mkosir/trpc-api-boilerplate/actions/workflows/main.yml/badge.svg\n[ci-url]: https://github.com/mkosir/trpc-api-boilerplate/actions/workflows/main.yml\n[npm-url]: https://www.npmjs.com/package/trpc-api-boilerplate\n[npm-badge]: https://img.shields.io/npm/v/trpc-api-boilerplate.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkosir%2Ftrpc-api-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkosir%2Ftrpc-api-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkosir%2Ftrpc-api-boilerplate/lists"}