Skip to content

Repository files navigation

Katal

License: MITnpm versionBun

A lightweight, TypeScript-first web framework for Bun.

Features

  • Controller-per-route HTTP architecture
  • Global and named middleware (before / after hooks)
  • JWT authentication + policy-based authorization (can:*)
  • Request validation with nested schema support
  • Built-in rate limiting (pluggable stores)
  • OpenAPI 3.1 generation from route metadata
  • Request observability (correlation IDs, trace headers, timing)
  • Cache abstraction with pluggable stores
  • Queue core with retries, delay, and scheduling
  • Event bus (on, once, emit, emitSync)
  • Health checks (/health, /health/ready, /health/live)
  • Plugin and service provider support
  • Test helpers (AppFactory, RequestClient, fake auth/time)

Installation

bun add katal

Quick Start

import{Application,Controller}from"katal";importtype{RequestContext}from"katal";constapp=newApplication({port: 3000});constrouter=app.getRouter();classHealthControllerextendsController{asynchandle(_ctx: RequestContext){returnthis.success({status: "ok"});}}router.get("/health",HealthController);awaitapp.listen();

Documentation

Examples

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.

License

This project is licensed under the MIT License. See LICENSE.

About

A Laravel-inspired web framework for Bun with TypeScript. Build modern web applications with decorators, controllers, middleware, validation, and authentication.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages