Skip to main content

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.