Serverless Monolith
Monolithic development experience for serverless applications
Serverless Monolith is a framework that enables you to develop serverless applications with the same experience as a traditional monolith, offering easy debugging, local AWS service emulation, and complete TypeScript support.
Why Serverless Monolith?
Developing serverless applications often means dealing with:
- Complex local setup for testing
- Difficulty debugging across multiple functions
- Slow feedback loops with cloud deployments
- Managing multiple microservices locally
Serverless Monolith solves these problems by providing a unified development environment that feels like working with a monolith while maintaining all the benefits of serverless architecture.
Packages
The framework consists of three main packages:
@serverless-monolith/core
The core framework providing:
- Local HTTP server simulating API Gateway
- SQS emulator for queue processing
- Automatic module discovery
- Execution logging and debugging
@serverless-monolith/proxy
A proxy server for managing multiple cores:
- Route requests to multiple backends
- Load balancing
- Path-based routing with transformations
@serverless-monolith/lighthouse
Terminal UI (TUI) for development management:
- Interactive dashboards
- Process management (start/stop/restart)
- Bruno request execution
- Real-time logs and metrics
Quick Example
import { MonolithServer } from '@serverless-monolith/core';
const server = MonolithServer.create({
discovery: {
modulesDir: 'src/modules',
},
});
await server.start();
// Server running on http://localhost:4005
Getting Started
Ready to dive in? Check out our Installation Guide to get started in minutes.