Bun-native
Built directly on Bun’s native router and Bun.serve. No middleware layers pretending HTTP is something else.
bun add lugasA small, Bun-native TypeScript framework for building fast, wire-honest APIs with zero production dependencies. Routes stay ordinary HTTP — native Request, explicit statuses, real fetch underneath — while routes, validation, guards, responses, and the client stay aligned through one application type.
Bun-native
Built directly on Bun’s native router and Bun.serve. No middleware layers pretending HTTP is something else.
End-to-end typed
Server and client stay aligned: route parameters, validation outputs, guard enrichment, and wire-honest response types — no code generation, no runtime Proxy.
Zero runtime deps
Nothing to audit, nothing to break underneath you. The package ships source .ts, a typed client, and test helpers.
import { defineApp, json, route } from "lugas";
const app = defineApp({ routes: { "/hello": { GET: route({ handler: () => json(200, { message: "Hello from Lugas" }), }), }, },});
export default app;That is the whole server. Run it with bun run server.ts, call it with any HTTP client — or with Lugas’ typed client, which knows /hello returns { message: string }.
Read the Getting Started guide →
Apache-2.0 license · npm · Roadmap · GitHub