Kata logo

Kata

The opinionated Hono framework for Cloudflare's full stack.

Modules, a request-scoped DI container, transactions, queues, and a live devtools graph — without much weight on top of Hono.

Type-safe modules

Group related routes and services. Declare cross-module deps with `requires`. Boot validation fails fast if anything is wired wrong.

Request-scoped container

Lazy DI per request. No global singletons. `c.var.resolve(key)` is fully typed via the Registry.

Validation at the boundary

Zod schemas via `validate({ body, query, param })`. Clients keep Hono RPC inference end-to-end.

Domain errors → HTTP

`throw new PostNotFoundError(id)` becomes a structured JSON response via errorMapper.

Transactions across modules

`withTransaction(fn)` gives you a sub-container where every repository binds to the same transaction.

Cloudflare Queues, first-class

Modules declare consumers. createApp declares producers. Same Worker, or split across apps/api + apps/worker.

Live devtools

`npx katajs-devtools` opens an interactive React UI: graph canvas, drawer, routes table, queue view, Cmd+K.

CLI scaffolders

create-katajs ships single-API and --monorepo shapes. `katajs add module|service|route|queue` mutates without hand-editing.

Devtools — live module graph
Kata devtools showing the showcase app's module graph with consumer + producer awareness
pnpm create katajs my-app