Skip to main content


ExpressoTS is a lightweight framework for building scalable, readable and maintainable server-side applications in TypeScript. The framework provides a level of abstraction on top of a common HTTP server framework Express.js, exposing their API's directly to the developer. This provides freedom and brings to the developer a tool that is well known and easy to use.


ExpressoTS is a developer-friendly framework designed to streamline the process of building server-side applications. It aims to simplify the development process by providing a clear and concise structure.

With ExpressoTS, developers can focus on what really matters - writing code. The framework takes care of the repetitive and time-consuming aspects of development, allowing developers to work more efficiently.

One of the key features of ExpressoTS is its flexible and extensible architecture. The framework provides a robust Dependency Injection system that enables developers to extend its functionality by creating and adding providers with their specific binding scope such as Transient, Scoped, Singleton. This allows developers to integrate new features throughout the application without having to worry about the complexities of integration and coupling.

Whether you're building a simple API or a complex enterprise application, ExpressoTS can help you deliver your project on time and on budget. With a comprehensive set of tools and features, ExpressoTS makes it easy to build high-quality, scalable, and maintainable server-side applications.

Installing the CLI

Before creating a project make sure you have ExpressoTS CLI installed globally on your machine.

npm i -g @expressots/cli

Creating a New Project

To create a project using the CLI, run the following commands.

expressots new <project-name>

The CLI will prompt you with a few questions and then create a new project directory with the name you provide, along with the @expressots/core package and a starter project structure. Or you can create projects without the CLI questions by passing the template name (opinionated or non-opinionated) and the package manager (npm, yarn or pnpm) as arguments.

expressots new <project-name> -t <template-name> -p <package-manager>

Project Types or Templates

ExpressoTS offers two starter project templates: opinionated and non-opinionated.

  • Use the non-opinionated starter project template when you need flexibility on your project structure.
  • Choose the opinionated starter project template for more complex projects with a complete starting point.

Accessing Your Project

After creating your project you can access it by running the following command:

cd <your-project-name>

Running in Development Mode

npm run dev

Generating a Production Build

npm run build

Running in Production Mode

npm run prod

Support the Project

ExpressoTS is an MIT-licensed open source project. It's an independent project with ongoing development made possible thanks to your support. If you'd like to help, please consider: