Type Safe
End-to-end type safety with decorators. Pass data around without ever losing your types.
Type Safe
End-to-end type safety with decorators. Pass data around without ever losing your types.
Zero Config
Stop configuring build tools. Shokupan just works, letting you focus on your product.
Debug Dashboard
Visualize your routes and debug requests with a beautiful built-in dashboard.
Snappy Performance
Built on Bun for instant startup times and low-latency responses.
Auto OpenAPI
Generate OpenAPI specs automatically from your routes
Rich Plugin System
CORS, Sessions, Auth, Validation, Rate Limiting, and more out of the box
Flexible Routing
Express-style routes or decorator-based controllers - your choice
Express Compatible
Works with Express middleware patterns you already know
Built-in Telemetry
OpenTelemetry instrumentation out of the box
OAuth2 Support
GitHub, Google, Microsoft, Apple, Auth0, Okta ready to go
Multi-validator Support
Zod, Ajv, TypeBox, Valibot - use what you prefer
Beautiful Docs
Beautiful OpenAPI documentation with Scalar
Easy Migration
import { Shokupan } from 'shokupan';
const app = new Shokupan({ port: 3000, development: true});
app.get('/', (ctx) => { return { message: 'Hello, World!' };});
app.listen();That’s it! Your server is running at http://localhost:3000 🎉
Shokupan (食パン - Japanese for “white bread”) provides the foundation for your web applications - simple, reliable, and essential. It combines:
Installation
Install Shokupan and set up your first project
Core Concepts
Learn about routing, controllers, and middleware
Plugins
Explore the plugin system for adding features
Migration