Use when working on a Hono backend or reviewing Hono API structure, especially in repos where Hono owns the transport layer and shared packages hold business logic. Covers route modules, middleware, request validation, runtime adapters, and Hono-specific pitfalls like OpenAPI/version mismatches.
Use this skill when the task is about the Hono API layer itself: routes, middleware, request/response boundaries, runtime behavior, or API documentation. In this repo, Hono should stay in apps/api; packages/* should stay pure business logic and must not depend on Context, route wiring, or transport details.
apps/api: Hono app, route registration, auth/session checks, tenant headers, request parsing, response shaping, OpenAPI docs.packages/*: business rules, DB access, notifications, geofence logic, reusable schemas/types that are transport-agnostic.apps/api/src/index.tsRequest/Response-style behavior and avoid Node-only patterns unless the runtime truly requires them.For this repo, default to this structure:
apps/api/src/index.tsapps/api/src/routes/*.tsapps/api/src/middleware/*.tspackages/scheduling-timekeeping, packages/geofence, packages/auth, packages/notifications, packages/databaseDo not move Hono request handling into packages. Packages should accept plain inputs and return plain data or throw domain errors.
Use @hono/zod-openapi only with care.
createRoute must be compatible with the installed @hono/zod-openapi and zod versions./openapi.json fails, check version compatibility before debugging every route by hand.In this repo specifically, read references/hono-notes.md before changing OpenAPI behavior.