{"id":26464108,"url":"https://github.com/TuneLab/truss","last_synced_at":"2025-03-19T08:01:17.168Z","repository":{"id":10542935,"uuid":"61059364","full_name":"metaverse/truss","owner":"metaverse","description":"Truss helps you build go-kit microservices without having to worry about writing or maintaining boilerplate code.","archived":false,"fork":false,"pushed_at":"2024-05-01T15:04:19.000Z","size":16620,"stargazers_count":737,"open_issues_count":48,"forks_count":144,"subscribers_count":34,"default_branch":"master","last_synced_at":"2024-11-14T14:47:17.816Z","etag":null,"topics":["cli","code-generation","go-kit","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metaverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-06-13T18:18:25.000Z","updated_at":"2024-10-16T19:05:19.000Z","dependencies_parsed_at":"2024-06-18T12:36:15.621Z","dependency_job_id":"1641fca0-f729-4631-8f9c-e1f0a24cfff1","html_url":"https://github.com/metaverse/truss","commit_stats":{"total_commits":510,"total_committers":27,"mean_commits":18.88888888888889,"dds":0.5254901960784314,"last_synced_commit":"a2b01cac16e8269252100449a56601f1277c19ed"},"previous_names":["tunelab/truss","tuneinc/truss","tunelab/go-truss"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaverse%2Ftruss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaverse%2Ftruss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaverse%2Ftruss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaverse%2Ftruss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metaverse","download_url":"https://codeload.github.com/metaverse/truss/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244385808,"owners_count":20444150,"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","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":["cli","code-generation","go-kit","golang"],"created_at":"2025-03-19T08:00:55.662Z","updated_at":"2025-03-19T08:01:17.153Z","avatar_url":"https://github.com/metaverse.png","language":"Go","readme":"# Truss ![Build Status](https://github.com/metaverse/truss/workflows/Go/badge.svg?branch=master)\n\nTruss handles the painful parts of services, freeing you to focus on the\nbusiness logic.\n\n![Everything all the time forever](http://i.imgur.com/FtvVeBG.jpg)\n\n## Install\n\nCurrently, there is no binary distribution of Truss, you must install from\nsource.\n\nTo install this software, you must:\n\n1. Install protoc 3 or newer. The easiest way is to\ndownload a release from [github](https://github.com/google/protobuf/releases)\nand add to `$PATH`.\nOtherwise [install from source.](https://github.com/google/protobuf)\n1. Install Truss with\n\n\t```\n\tgo get -u -d github.com/metaverse/truss\n\tcd $GOPATH/src/github.com/metaverse/truss\n\tmake dependencies\n\tmake\n\t```\n\tOn Windows, do the following instead:\n\t```\n\tgo get -u -d github.com/metaverse/truss\n\tcd %GOPATH%/src/github.com/metaverse/truss\n\twininstall.bat\n\t```\n\n## Usage\n\nUsing Truss is easy. You define your service with [gRPC](http://www.grpc.io/)\nand [protoc buffers](https://developers.google.com/protocol-buffers/docs/proto3),\nand Truss uses that definition to create an entire service. You can even\nadd [http annotations](\nhttps://github.com/googleapis/googleapis/blob/928a151b2f871b4239b7707e1bb59258df3fe10a/google/api/http.proto#L36)\nfor HTTP 1.1/JSON transport!\n\nThen you open the `handlers/handlers.go`,\nadd you business logic, and you're good to go.\n\nHere is an example service definition: [Echo Service](./_example/echo.proto)\n\nTry Truss for yourself on Echo Service to see the service that is generated:\n\n```\ntruss _example/echo.proto\n```\n\nSee [USAGE.md](./USAGE.md) and [TUTORIAL.md](./TUTORIAL.md) for more details.\n\n## Developing\n\nSee [DEVELOPING.md](./DEVELOPING.md) for details.\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTuneLab%2Ftruss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTuneLab%2Ftruss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTuneLab%2Ftruss/lists"}