-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Rizky Zulkarnaen edited this page Sep 10, 2026
·
5 revisions
Lugas is a Bun-native TypeScript web framework: Bun's native router stays authoritative, public APIs are small, explicit, object-based, and statically searchable, and both compile-time and runtime facts are honest systems.
- Repository: https://github.com/ther12k/lugas
- Runtime: Bun 1.4.x only
- License & governance: see Governance
| Capability | Status |
|---|---|
| Bun-native server, typed routes, modules | Available |
| Standard Schema validation (Zod, Valibot, any v1 validator) | Available |
| Ordered guards with typed context enrichment | Available |
Wire-honest responses (json/text/problem/empty) |
Available |
| RFC 9457 Problem Details + redacted 500s | Available |
End-to-end typed client (lugas/client, browser-safe) |
Available |
Prebuilt browser artifact (lugas/client/browser) |
Available |
Static route manifest + inspection CLI (lugas-manifest-v1) |
Available |
Opt-in public asset serving (Linux dirs, all-platform files) |
Available |
| Body budgets (app default + per-route, server ceiling) | Available |
| Service lifecycle (init / drain-ordered shutdown) | Available |
First-party CORS (defineApp({ cors })) |
Available (in attested candidate) |
Server-Sent Events (sse() helper) |
Available (in attested candidate) |
Structured logging (defineApp({ logging })) |
Available (in attested candidate) |
OpenAPI 3.1 + Scalar reference UI (defineApp({ openapi })) |
Available (in attested candidate) |
Drizzle ORM adapter (lugas/drizzle, application-owned instance) |
Available in 0.1.0-beta.3 (M9-001) |
lugas@0.1.0-beta.2 is published under npm beta (it carries the four M8 batteries and the npm README logo fix); latest still points at 0.1.0-beta.1 pending an owner dist-tag action. lugas@0.1.0-beta.3 is published under npm beta (source f3c72e6; carries Drizzle). latest points at 0.1.0-beta.2.
The docs site now carries seven per-topic guides — routing, validation, guards, responses & errors, services & lifecycle, the typed client, and testing — mirrored from docs/*.md on main.
- Getting Started — install, hello world, validation, guards, client, testing, CLI
- CORS — opt-in, fail-closed cross-origin policy
-
Server-Sent Events — streaming
sse()helper with deterministic cleanup - Structured Logging — sink contract, access logs, request IDs
- OpenAPI and Scalar — generated OpenAPI 3.1 + reference UI
- Drizzle — application-owned Drizzle instance as a service
-
Service Lifecycle —
service(), drain-ordered shutdown, deadline invariant - Assets and Body Limits — public asset serving, body budgets
- Compatibility and Roadmap — verified matrix, planned batteries
- Governance — ADRs, owner decision records, evidence reports
LugasJS Wiki
Server facilities
- CORS
- Server-Sent Events
- Structured Logging
- OpenAPI and Scalar
- Drizzle
- Service Lifecycle
- Assets and Body Limits
Reference
Repository