# Overview

{% hint style="info" %}
This documentation is still a work in progress, expect missing pages and information.
{% endhint %}

<div align="left"><figure><img src="https://2336160172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjmkHdY7knLuXJlYSN4hh%2Fuploads%2Fwnv0j64wsraMQctwfMUs%2Fmultijetlogo.svg?alt=media&#x26;token=387d328d-9fb8-4146-8b83-aed955b9f488" alt="multijet logo"><figcaption></figcaption></figure></div>

## What is multijet?

**Multijet** is a highly opinionated framework for building large **microservice** based **monorepos** in Typescript.

The core concept of multijet is the **microservices/libs** structure:

* Each microservice is a separate Node.js project usually based on the `Fastify` web framework.
* The packages included in the `libs/` folder also are separate Node.js projects that can be installed and used either by a microservice or by another lib.

Thanks to `turborepo` and `esbuild`, multijet can build and bundle all your microservices and their dependencies in a matter of milliseconds.

## Features

* Extremely fast builds
* OpenAPI-first design
* Modular and flexible
* Multiple deploy methods
* Easily configurable
* Single file bundled Microservices

Even if Multijet gives highly opinionated default settings, it is very **flexible** thanks to its **tech stack** nature (rather than being a "closed" framework). You can do pretty much anything by just tweaking the main [configuration files](https://quinck.gitbook.io/multijet/configuration/project-configuration).

Here are a just a few example of what other things you can do easily:

* Build a frontend and backend monorepo with shared libraries
* Make a monolithic backend instead of a microservice based
* Build a consistent, nicely structured, non-web Node.js software or CLI
* Literally anything that involves having a structured project with extremely fast build times and nice to use tooling :tada:
