{"enrichment":{"faq":[{"a":"hono-idioms teaches you to build type-safe HTTP APIs using Hono's routing system. Start with basic routes (app.get, app.post) and progress to composable sub-routers via app.route(). Use path parameters with type inference, organize handlers with middleware chains, and leverage TypeScript's type system throughout. Hono infers types from your handler signatures automatically\u2014no code generation needed.","q":"What are the core hono routing patterns for type-safe HTTP APIs?"},{"a":"hono-idioms shows how to build typed RPC clients by defining your server routes with strict types, then deriving client types directly from those definitions. Use Hono's type exports to create a client that mirrors your server's shape. This approach eliminates code generation overhead while maintaining full type safety across the network boundary.","q":"How do you implement end-to-end type-safe RPC without code generation?"},{"a":"hono-idioms covers middleware composition by chaining handlers with app.use() and organizing them in order. Each middleware can set context variables via c.set() and read them with c.get(), passing typed data down the chain. Compose custom middleware with createMiddleware(), apply request validation using zValidator with Zod schemas, and handle errors with HTTPException for consistent responses.","q":"How to use hono with typescript for middleware composition?"},{"a":"hono-idioms teaches streaming responses and Server-Sent Events by using c.streaming() to send data over time. Return a ReadableStream or async generator to emit tokens or events incrementally. This pattern works across Hono's multi-runtime support (Node.js, Deno, Cloudflare Workers, etc.), letting you build real-time features without runtime-specific code.","q":"What does hono streaming SSE implementation look like?"},{"a":"hono-idioms highlights common mistakes: forgetting middleware order (validation before handlers), mixing sync and async without proper error boundaries, mutating context incorrectly, and ignoring type inference. Follow idiomatic practices: order middleware logically, use c.set/c.get for typed context, validate early, throw HTTPException for errors, and let TypeScript catch type mismatches before runtime.","q":"What hono handler anti-patterns should you avoid?"},{"a":"hono-idioms shows building composable sub-routers by creating separate router instances for each feature (e.g., users, posts) and mounting them with app.route('/prefix', router). Each sub-router has its own middleware and handlers. Use basePath for API versioning, organize by domain, and keep middleware scoped to relevant routes. This scales cleanly across large applications.","q":"How do you organize multi-feature Hono applications with sub-routers?"}],"shadow_tags":["web-framework","request-routing","middleware-pipeline","type-safety","api-design","streaming-responses","validation-schema","error-handling","portable-runtime","rpc-patterns"],"summary_rewrite":"Learn idiomatic Hono patterns for building type-safe HTTP APIs across any runtime. This skill covers router composition, middleware ordering, request validation with Zod, error handling, and end-to-end typed RPC clients\u2014all without code generation."},"files":[{"bytes":10417,"path":".agents/skills/hono-idioms/SKILL.md","sha256":"a837d0eb348855a9e73b80cfc28a656bf1e1b02a2474a4448c7528bdb280a483","url":"https://skillfed.io/files/irahardianto/awesome-agv/hono-idioms/6a70b2d7/SKILL.md"}],"id":"irahardianto/awesome-agv/hono-idioms","links":{"html":"https://skillfed.io/irahardianto/awesome-agv/hono-idioms","md":"https://skillfed.io/irahardianto/awesome-agv/hono-idioms.md","repo":"https://github.com/irahardianto/awesome-agv"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":48,"language":"JavaScript","last_updated":"2026-07-17","license":"MIT","name":"hono-idioms","publisher":"irahardianto","stars":150},"relations":{"similar":[{"id":"freestyle-voice/freestyle/hono"},{"id":"yusukebe/hono-skill/hono"},{"id":"secondsky/claude-skills/hono-routing"},{"id":"bobmatnyc/claude-mpm-skills/hono-testing"},{"id":"secondsky/claude-skills/bun-hono-integration"},{"id":"Mindrally/skills/hono-typescript"},{"id":"bobmatnyc/claude-mpm-skills/hono-middleware"},{"id":"oakoss/agent-skills/hono"},{"id":"bobmatnyc/claude-mpm-skills/hono-core"},{"id":"jezweb/claude-skills/hono-api-scaffolder"}]},"slug":{"owner":"irahardianto","repo":"awesome-agv","skill":"hono-idioms"},"version":"6a70b2d7"}
