libmodulor
libmodulor is a TypeScript library to create platform-agnostic applications.
Welcome to libmodulor.
If you are interested in building applications differently, you have landed to the right place.
Inspired by the concept of the Modulor in building architecture, the main idea is to put back the Human at the center of application design and development.
That is why the smallest unit of work in libmodulor is the UseCase (UC) and not controllers, views, models, events or whatever.
As software engineers, we have gotten too bogged down in too many technical details.
Although these are important to build great and performant applications, we kind of lost our minds and entered an endless vortex of complexity.
To get started, start by reading the Philosophy behind the library.
After checking out the other Concepts, get straight into it, head first, by playing with the Examples and reading the different Guides and References.
Chafik.
At a glance
As described in the Architecture concept, libmodulor follows a 4-layer architecture with UseCase, App, Product, and Target.
Here is how to easily create all of them, in a brand new project :
# Create a project
npx libmodulor CreateProject --projectName my-super-project
cd my-super-project
# Create an app
pnpm libmodulor CreateApp --appName Banking
# Create a use case
pnpm libmodulor CreateUC --appName Banking --ucName CreateAccount
# Create a product
pnpm libmodulor CreateProduct --productName CustomerPortal
# Create a target
pnpm libmodulor CreateTarget --productName CustomerPortal --targetName node-express-server
pnpm libmodulor CreateTarget --productName CustomerPortal --targetName node-hono-server
pnpm libmodulor CreateTarget --productName CustomerPortal --targetName node-core-cli
pnpm libmodulor CreateTarget --productName CustomerPortal --targetName node-mcp-server
For more params, checkout the help section : pnpm libmodulor --help.
And for more details on the code, follow the ad-hoc guides in the documentation.