← All tools

@asyncapi/modelina-cli

Popularity 65 Updated Development & Build

CLI to work with Modelina

npmauto-collected

Installation

npm
npm install -g @asyncapi/modelina-cli

Install with npm.

[](https://www.npmjs.com/package/@asyncapi/modelina) [](https://github.com/asyncapi/modelina/blob/master/LICENSE) [](https://github.com/asyncapi/modelina/commits/master) [](https://github.com/asyncapi/modelina/discussions) [](https://www.modelina.org) [](https://www.modelina.org/playground) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -- [](#contributors-) <!-- ALL-CONTRIBUTORS-BADGE:END --

Your one-stop tool for generating accurate and well-tested models for representing the message payloads. Use it as a tool in your development workflow, or a library in larger integrations, entirely in your control.

---

  • Installing Modelina
  • Features
  • Requirements
  • Documentation
  • Examples
  • Versioning and maintenance
  • Development
  • Contributing
  • Contributors

Installing Modelina

Install Modelina directly as a dependency to your project:

npm install @asyncapi/modelina

Or if you want to run Modelina, use the CLI.

modelina generate <language> ./asyncapi.json

<h2 align="center"What Does Modelina Do?</h2

<p align="center"Modelina puts YOU in control of your data models, here is how...</p

<table <tr <td<bModelina lets you generate data models from many types of <a href="#inputs"inputs</a</b</td <td

const asyncapi = ...
const jsonschema = ...
const openapi = ... 
const metamodel = ... 
...
const models = await generator.generate(
  asyncapi | jsonschema | openapi | metamodel
);

</td </tr <tr <td<bUse the same inputs across a range of different <a href="#outputs"generators</a</b</td <td

const generator = new TypeScriptGenerator();
const generator = new CsharpGenerator();
const generator = new JavaGenerator();
const generator = new RustGenerator();
...
const models = await generator.generate(input);

</td </tr <tr <td<bEasily let you interact with the generated models.</b

  • Want to show the generated models on a website? Sure!
  • Want to generate the models into files? Sure!
  • Want to combine all the models into one single file? Sure!