A TypeScript library to create platform-agnostic applications.
Warning
The project is still in active development. Although already used in pilot projects, it's not suitable for all production scenarios yet.
Being developed by only one person, it may keep going for years or stop at any time.
In the meantime, it's still a "research project" that needs improvement. Thus, it will be subject to BREAKING CHANGES as long as the version is not 1.0.0.
All that said, the end goal is really to have a production-grade library to help everyone build quality projects faster.
Links
Getting Started
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.
👨💻 Contribute
If you think you can help in any way, feel free to contact me (cf. author in package.json). I'd love to chat.