[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"workflow-asset-69cad459":3,"seo:featured-workflow:69cad459-4ee7-11f1-9bc6-00163e2b0d79:es":82,"workflow-related-asset-69cad459-69cad459-4ee7-11f1-9bc6-00163e2b0d79":83},{"id":4,"uuid":5,"slug":6,"title":7,"description":8,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":12,"parent_id":12,"parent_uuid":13,"lang_type":14,"steps":15,"tags":22,"has_voted":28,"visibility":18,"share_token":13,"is_featured":12,"content_hash":29,"asset_kind":30,"target_tools":31,"install_mode":35,"entrypoint":19,"risk_profile":36,"dependencies":39,"verification":44,"agent_metadata":47,"agent_fit":59,"trust":70,"provenance":79,"created_at":81,"updated_at":81},3651,"69cad459-4ee7-11f1-9bc6-00163e2b0d79","asset-69cad459","Twirp — Simple Protobuf RPC Framework by Twitch","A lightweight RPC framework that generates Go servers and clients from Protobuf definitions, using plain HTTP\u002F1.1 with JSON or Protobuf encoding.","8a911193-3180-11f1-9bc6-00163e2b0d79","AI Open Source","https:\u002F\u002Ftokrepo.com\u002Fapple-touch-icon.png",0,"","en",[16],{"id":17,"step_order":18,"title":19,"description":13,"prompt_template":20,"variables":13,"depends_on":21,"expected_output":13},4224,1,"Twirp Overview","# Twirp — Simple Protobuf RPC Framework by Twitch\n\n## Quick Use\n```bash\ngo install github.com\u002Ftwitchtv\u002Ftwirp\u002Fprotoc-gen-twirp@latest\n# Generate server and client from a .proto file\nprotoc --go_out=. --twirp_out=. service.proto\n```\n\n## Introduction\nTwirp is an RPC framework created by Twitch that generates Go servers and clients from Protobuf service definitions. Unlike gRPC, Twirp uses standard HTTP\u002F1.1 and works with any HTTP infrastructure without requiring HTTP\u002F2 or special proxies. It supports both Protobuf binary and JSON encoding on the same endpoints.\n\n## What Twirp Does\n- Generates type-safe Go server interfaces and client implementations from .proto files\n- Serves RPCs over standard HTTP\u002F1.1 POST requests with routing based on URL paths\n- Supports both Protobuf binary and JSON content types on every endpoint automatically\n- Provides hooks and interceptors for middleware like logging, auth, and metrics\n- Works with any HTTP reverse proxy, load balancer, or CDN without special configuration\n\n## Architecture Overview\nTwirp generates a Go interface matching each Protobuf service. The server implementation wraps this interface in an http.Handler that routes requests by URL path (\u002Ftwirp\u002Fpackage.Service\u002FMethod). Content negotiation selects Protobuf or JSON based on the Content-Type header. The client is a simple HTTP client that serializes requests and deserializes responses. Errors use a structured format with codes that map to HTTP status codes.\n\n## Self-Hosting & Configuration\n- Install the protoc-gen-twirp plugin and use it alongside protoc and protoc-gen-go\n- Implement the generated interface and mount the handler on your HTTP server or mux\n- Configure interceptors for cross-cutting concerns like authentication and request logging\n- Use the generated client with any http.Client, including custom transports for retries or tracing\n- Deploy behind standard load balancers like Nginx, HAProxy, or cloud ALBs without changes\n\n## Key Features\n- No HTTP\u002F2 or gRPC proxy dependency, working with plain HTTP\u002F1.1 infrastructure\n- Dual Protobuf and JSON support on every endpoint makes debugging easy with curl\n- Structured error model with typed error codes, metadata, and HTTP status mapping\n- Minimal code generation with no runtime reflection or service registration boilerplate\n- Small library footprint with no external dependencies beyond the Go standard library\n\n## Comparison with Similar Tools\n- **gRPC-Go** — full-featured RPC with streaming and HTTP\u002F2, but requires HTTP\u002F2-aware infrastructure\n- **ConnectRPC** — modern gRPC-compatible framework that also supports HTTP\u002F1.1, with broader language support\n- **net\u002Fhttp + JSON** — no code generation overhead, but loses type safety and requires manual serialization\n- **Buf Connect** — similar goals to Twirp with additional features like streaming and browser support\n\n## FAQ\n**Q: Does Twirp support streaming RPCs?**\nA: No. Twirp only supports unary request-response RPCs. If you need streaming, consider gRPC or ConnectRPC.\n\n**Q: Can I use Twirp with languages other than Go?**\nA: The official generator targets Go, but community generators exist for Python, Ruby, TypeScript, and others.\n\n**Q: Why choose Twirp over gRPC?**\nA: Twirp is simpler to deploy because it uses HTTP\u002F1.1 and works with any existing HTTP infrastructure. It is a good choice when you do not need streaming or bidirectional communication.\n\n**Q: How does error handling work?**\nA: Twirp defines a set of error codes (not_found, internal, permission_denied, etc.) that map to HTTP status codes. Errors include a code, message, and optional metadata map.\n\n## Sources\n- https:\u002F\u002Fgithub.com\u002Ftwitchtv\u002Ftwirp\n- https:\u002F\u002Ftwitchtv.github.io\u002Ftwirp\u002F","0",[23],{"id":24,"name":25,"slug":26,"icon":27},12,"Configs","config","⚙️",false,"2312eab429cdf23585b8153ca5c7e30c0dcc82ceac4563ffc27632d92bfdaa11","skill",[32,33,34],"claude_code","codex","gemini_cli","single",{"executes_code":28,"modifies_global_config":28,"requires_secrets":37,"uses_absolute_paths":28,"network_access":38},[],true,{"npm":40,"pip":41,"brew":42,"system":43},[],[],[],[],{"commands":45,"expected_files":46},[],[19],{"asset_kind":30,"target_tools":48,"install_mode":35,"entrypoint":19,"risk_profile":49,"dependencies":51,"content_hash":29,"verification":56,"inferred":38},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":50,"uses_absolute_paths":28,"network_access":38},[],{"npm":52,"pip":53,"brew":54,"system":55},[],[],[],[],{"commands":57,"expected_files":58},[],[19],{"target":33,"score":60,"status":61,"policy":62,"why":63,"asset_kind":30,"install_mode":35},64,"needs_confirmation","confirm",[64,65,66,67,68,69],"target_tools includes codex","asset_kind skill","install_mode single","policy confirm","risk_profile.network_access is true","trust established",{"author_trust_level":71,"verified_publisher":28,"asset_signed_hash":29,"signature_status":72,"install_count":12,"report_count":12,"dangerous_capability_badges":73,"review_status":75,"signals":76},"established","hash_only",[74],"network_access","unreviewed",[77,78],"author has published assets","content hash available",{"owner_uuid":9,"owner_name":10,"source_url":80,"content_hash":29,"visibility":18,"created_at":81,"updated_at":81},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fasset-69cad459","2026-05-14 00:18:44",null,[84,144,191,237],{"id":85,"uuid":86,"slug":87,"title":88,"description":89,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":90,"parent_id":12,"parent_uuid":13,"lang_type":14,"steps":91,"tags":92,"has_voted":28,"visibility":18,"share_token":13,"is_featured":12,"content_hash":94,"asset_kind":30,"target_tools":95,"install_mode":35,"entrypoint":96,"risk_profile":97,"dependencies":99,"verification":104,"agent_metadata":107,"agent_fit":119,"trust":127,"provenance":132,"created_at":134,"updated_at":135,"__relatedScore":136,"__relatedReasons":137,"__sharedTags":142},2351,"4203ec52-43a5-11f1-9bc6-00163e2b0d79","apache-thrift-cross-language-rpc-serialization-framework-4203ec52","Apache Thrift — Cross-Language RPC and Serialization Framework","Apache Thrift is a software framework for building scalable cross-language services. It combines a code generation engine with an interface definition language to create efficient RPC clients and servers in C++, Java, Python, Go, and 20+ other languages.",131,[],[93],{"id":24,"name":25,"slug":26,"icon":27},"4dfb37c14ce535f2e7d8eff6621830e8b8bb8976a841690b1ae7b440b2a47ad7",[32,33,34],"Apache Thrift",{"executes_code":28,"modifies_global_config":28,"requires_secrets":98,"uses_absolute_paths":28,"network_access":28},[],{"npm":100,"pip":101,"brew":102,"system":103},[],[],[],[],{"commands":105,"expected_files":106},[],[96],{"asset_kind":30,"target_tools":108,"install_mode":35,"entrypoint":96,"risk_profile":109,"dependencies":111,"content_hash":94,"verification":116},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":110,"uses_absolute_paths":28,"network_access":28},[],{"npm":112,"pip":113,"brew":114,"system":115},[],[],[],[],{"commands":117,"expected_files":118},[],[96],{"target":33,"score":120,"status":121,"policy":122,"why":123,"asset_kind":30,"install_mode":35},98,"native","allow",[64,65,66,124,125,126,69],"markdown-only","policy allow","safe markdown-only Codex install",{"author_trust_level":71,"verified_publisher":28,"asset_signed_hash":94,"signature_status":72,"install_count":12,"report_count":12,"dangerous_capability_badges":128,"review_status":75,"signals":129},[],[130,77,78,131],"asset has usage views","no dangerous capability badges",{"owner_uuid":9,"owner_name":10,"source_url":133,"content_hash":94,"visibility":18,"created_at":134,"updated_at":135},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fapache-thrift-cross-language-rpc-serialization-framework-4203ec52","2026-04-29 16:27:28","2026-05-13 19:45:57",112.18086089680878,[138,139,140,141],"topic-match","same-kind","same-target","same-author",[26,143],"configs",{"id":145,"uuid":146,"slug":147,"title":148,"description":149,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":150,"parent_id":12,"parent_uuid":13,"lang_type":14,"steps":151,"tags":152,"has_voted":28,"visibility":18,"share_token":13,"is_featured":12,"content_hash":154,"asset_kind":30,"target_tools":155,"install_mode":35,"entrypoint":156,"risk_profile":157,"dependencies":159,"verification":164,"agent_metadata":167,"agent_fit":179,"trust":181,"provenance":184,"created_at":186,"updated_at":187,"__relatedScore":188,"__relatedReasons":189,"__sharedTags":190},1216,"10945b86-373d-11f1-9bc6-00163e2b0d79","grpc-go-high-performance-rpc-framework-go-10945b86","gRPC-Go — High-Performance RPC Framework for Go","gRPC-Go is the Go implementation of gRPC, a high-performance, open-source RPC framework. It uses Protocol Buffers for serialization and HTTP\u002F2 for transport, enabling efficient communication between microservices with strongly-typed contracts.",103,[],[153],{"id":24,"name":25,"slug":26,"icon":27},"96a212724349417d4893220c03705fb16670f85cfc45a146702a65bf21314a7a",[32,33,34],"SKILL.md",{"executes_code":28,"modifies_global_config":28,"requires_secrets":158,"uses_absolute_paths":28,"network_access":28},[],{"npm":160,"pip":161,"brew":162,"system":163},[],[],[],[],{"commands":165,"expected_files":166},[],[13],{"asset_kind":30,"target_tools":168,"install_mode":35,"entrypoint":156,"risk_profile":169,"dependencies":171,"content_hash":154,"verification":176},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":170,"uses_absolute_paths":28,"network_access":28},[],{"npm":172,"pip":173,"brew":174,"system":175},[],[],[],[],{"commands":177,"expected_files":178},[],[13],{"target":33,"score":120,"status":121,"policy":122,"why":180,"asset_kind":30,"install_mode":35},[64,65,66,124,125,126,69],{"author_trust_level":71,"verified_publisher":28,"asset_signed_hash":154,"signature_status":72,"install_count":12,"report_count":12,"dangerous_capability_badges":182,"review_status":75,"signals":183},[],[130,77,78,131],{"owner_uuid":9,"owner_name":10,"source_url":185,"content_hash":154,"visibility":18,"created_at":186,"updated_at":187},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fgrpc-go-high-performance-rpc-framework-go-10945b86","2026-04-13 21:31:23","2026-05-14 04:54:44",109.02555000894817,[138,139,140,141],[26,143],{"id":192,"uuid":193,"slug":194,"title":195,"description":196,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":197,"parent_id":12,"parent_uuid":13,"lang_type":14,"steps":198,"tags":199,"has_voted":28,"visibility":18,"share_token":13,"is_featured":12,"content_hash":201,"asset_kind":30,"target_tools":202,"install_mode":35,"entrypoint":156,"risk_profile":203,"dependencies":205,"verification":210,"agent_metadata":213,"agent_fit":225,"trust":227,"provenance":230,"created_at":232,"updated_at":233,"__relatedScore":234,"__relatedReasons":235,"__sharedTags":236},1081,"65c0d201-3630-11f1-9bc6-00163e2b0d79","gin-high-performance-http-web-framework-go-65c0d201","Gin — High-Performance HTTP Web Framework for Go","Gin is a high-performance HTTP web framework written in Go. Provides a Martini-like API but with significantly better performance — up to 40 times faster thanks to httprouter. The most popular Go web framework for REST APIs and microservices.",144,[],[200],{"id":24,"name":25,"slug":26,"icon":27},"95c5fe90e3be6a576e5cae1719b229c239e0579c3d43639b1d54400ff6d32b38",[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":204,"uses_absolute_paths":28,"network_access":38},[],{"npm":206,"pip":207,"brew":208,"system":209},[],[],[],[],{"commands":211,"expected_files":212},[],[13],{"asset_kind":30,"target_tools":214,"install_mode":35,"entrypoint":156,"risk_profile":215,"dependencies":217,"content_hash":201,"verification":222},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":216,"uses_absolute_paths":28,"network_access":38},[],{"npm":218,"pip":219,"brew":220,"system":221},[],[],[],[],{"commands":223,"expected_files":224},[],[13],{"target":33,"score":60,"status":61,"policy":62,"why":226,"asset_kind":30,"install_mode":35},[64,65,66,67,68,69],{"author_trust_level":71,"verified_publisher":28,"asset_signed_hash":201,"signature_status":72,"install_count":12,"report_count":12,"dangerous_capability_badges":228,"review_status":75,"signals":229},[74],[130,77,78],{"owner_uuid":9,"owner_name":10,"source_url":231,"content_hash":201,"visibility":18,"created_at":232,"updated_at":233},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fgin-high-performance-http-web-framework-go-65c0d201","2026-04-12 13:28:11","2026-05-14 06:01:52",89.24205200335246,[138,139,140,141],[26,143],{"id":238,"uuid":239,"slug":240,"title":241,"description":242,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":243,"parent_id":12,"parent_uuid":13,"lang_type":14,"steps":244,"tags":245,"has_voted":28,"visibility":18,"share_token":13,"is_featured":12,"content_hash":247,"asset_kind":30,"target_tools":248,"install_mode":35,"entrypoint":249,"risk_profile":250,"dependencies":252,"verification":257,"agent_metadata":260,"agent_fit":272,"trust":274,"provenance":277,"created_at":279,"updated_at":280,"__relatedScore":281,"__relatedReasons":282,"__sharedTags":283},2317,"1b352d40-433f-11f1-9bc6-00163e2b0d79","netty-async-event-driven-network-application-framework-1b352d40","Netty — Async Event-Driven Network Application Framework","An asynchronous event-driven network application framework for building high-performance protocol servers and clients on the JVM.",126,[],[246],{"id":24,"name":25,"slug":26,"icon":27},"8d7b81dc89bd36affeb1049d7f80d4d6a69229a4852209105d4baedd07255730",[32,33,34],"Netty Overview",{"executes_code":28,"modifies_global_config":28,"requires_secrets":251,"uses_absolute_paths":28,"network_access":28},[],{"npm":253,"pip":254,"brew":255,"system":256},[],[],[],[],{"commands":258,"expected_files":259},[],[249],{"asset_kind":30,"target_tools":261,"install_mode":35,"entrypoint":249,"risk_profile":262,"dependencies":264,"content_hash":247,"verification":269},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":263,"uses_absolute_paths":28,"network_access":28},[],{"npm":265,"pip":266,"brew":267,"system":268},[],[],[],[],{"commands":270,"expected_files":271},[],[249],{"target":33,"score":120,"status":121,"policy":122,"why":273,"asset_kind":30,"install_mode":35},[64,65,66,124,125,126,69],{"author_trust_level":71,"verified_publisher":28,"asset_signed_hash":247,"signature_status":72,"install_count":12,"report_count":12,"dangerous_capability_badges":275,"review_status":75,"signals":276},[],[130,77,78,131],{"owner_uuid":9,"owner_name":10,"source_url":278,"content_hash":247,"visibility":18,"created_at":279,"updated_at":280},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fnetty-async-event-driven-network-application-framework-1b352d40","2026-04-29 04:16:14","2026-05-13 21:33:50",89.15570558143393,[138,139,140,141],[26,143]]