NOTICE: If you are only working exclusively with AsyncAPI documents, using the AsyncAPI CLI is the preferred way to interact with Modelina as it has the exact same features.
- Table of contents
- Installation
- Download latest release
- Install it
- Download latest release
- Install it
- Download
- Install
- Download
- Install
- Usage
- Commands
Here are all the ways you can install and run the Modelina CLI.
Brew
|
MacOS x64
Install it through dedicated
|
MacOS arm64
Install it through dedicated
|
Chocolatey
|
Windows x64
Manually download and run |
Windows x32
Manually download and run the executable |
Debian
|
Others
Remember to symlink the binaries |
NPM
npm install -g @asyncapi/modelina-cli |
$ npm install -g @asyncapi/modelina-cli
$ modelina COMMAND
running command...
$ modelina (--version)
@asyncapi/modelina-cli/4.0.0-next.65 linux-x64 node-v18.20.5
$ modelina --help [COMMAND]
USAGE
$ modelina COMMAND
...
modelina autocomplete [SHELL]
modelina config
modelina config context
modelina config context add CONTEXT-NAME SPEC-FILE-PATH
modelina config context current
modelina config context edit CONTEXT-NAME NEW-SPEC-FILE-PATH
modelina config context init [CONTEXT-FILE-PATH]
modelina config context list
modelina config context remove CONTEXT-NAME
modelina config context use CONTEXT-NAME
modelina generate LANGUAGE FILE
modelina help [COMMAND]
modelina plugins
modelina plugins add PLUGIN
modelina plugins:inspect PLUGIN...
modelina plugins install PLUGIN
modelina plugins link PATH
modelina plugins remove [PLUGIN]
modelina plugins reset
modelina plugins uninstall [PLUGIN]
modelina plugins unlink [PLUGIN]
modelina plugins update
modelina version
Display autocomplete installation instructions.
USAGE
$ modelina autocomplete [SHELL] [-r]
ARGUMENTS
SHELL (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ modelina autocomplete
$ modelina autocomplete bash
$ modelina autocomplete zsh
$ modelina autocomplete powershell
$ modelina autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
CLI config settings
USAGE
$ modelina config
DESCRIPTION
CLI config settings
See code: src/commands/config/index.ts
Manage short aliases for full paths to inputs
USAGE
$ modelina config context
DESCRIPTION
Manage short aliases for full paths to inputs
See code: src/commands/config/context/index.ts
Add a context to the store
USAGE
$ modelina config context add CONTEXT-NAME SPEC-FILE-PATH [-h] [-s]
ARGUMENTS
CONTEXT-NAME context name
SPEC-FILE-PATH file path of the spec file
FLAGS
-h, --help Show CLI help.
-s, --set-current Set context being added as the current context
DESCRIPTION
Add a context to the store
See code: src/commands/config/context/add.ts
Shows the current context that is being used
USAGE
$ modelina config context current [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Shows the current context that is being used
See code: src/commands/config/context/current.ts
Edit a context in the store
USAGE
$ modelina config context edit CONTEXT-NAME NEW-SPEC-FILE-PATH [-h]
ARGUMENTS
CONTEXT-NAME context name
NEW-SPEC-FILE-PATH file path of the spec file
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Edit a context in the store
See code: src/commands/config/context/edit.ts
Initialize context
USAGE
$ modelina config context init [CONTEXT-FILE-PATH] [-h]
ARGUMENTS
CONTEXT-FILE-PATH Specify directory in which context file should be created:
- current directory : modelina config context init . (default)
- root of current repository : modelina config context init ./
- user's home directory : modelina config context init ~
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Initialize context
See code: src/commands/config/context/init.ts
List all the stored contexts in the store
USAGE
$ modelina config context list [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
List all the stored contexts in the store
See code: src/commands/config/context/list.ts
Delete a context from the store
USAGE
$ modelina config context remove CONTEXT-NAME [-h]
ARGUMENTS
CONTEXT-NAME Name of the context to delete
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Delete a context from the store
See code: src/commands/config/context/remove.ts
Set a context as current
USAGE
$ modelina config context use CONTEXT-NAME [-h]
ARGUMENTS
CONTEXT-NAME name of the saved context
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Set a context as current
See code: src/commands/config/context/use.ts
Generates typed models
USAGE
$ modelina generate LANGUAGE FILE [-h] [-o <value>] [--packageName <value>] [--namespace <value>]
[--tsModelType class|interface] [--tsEnumType enum|union] [--tsModuleSystem ESM|CJS] [--tsIncludeComments]
[--tsExportType default|named] [--tsJsonBinPack] [--tsMarshalling] [--tsExampleInstance] [--tsRawPropertyNames]
[--csharpAutoImplement] [--csharpNewtonsoft] [--csharpArrayType Array|List] [--csharpHashcode] [--csharpEqual]
[--csharpSystemJson] [--goIncludeComments] [--goIncludeTags] [--javaIncludeComments] [--javaJackson]
[--javaConstraints] [--javaArrayType Array|List] [--pyDantic]
ARGUMENTS
LANGUAGE (typescript|csharp|golang|java|javascript|dart|python|rust|kotlin|php|cplusplus|scala) The language you want
the typed models generated for.
FILE Path or URL to the AsyncAPI document, or context-name
FLAGS
-h, --help Show CLI help.
-o, --output=<value> The output directory where the models should be written to. Omitting this flag will
write the models to `stdout`.
--csharpArrayType=<option> [default: Array] C# specific, define which type of array needs to be generated.
<options: Array|List>
--csharpAutoImplement C# specific, define whether to generate auto-implemented properties or not.
--csharpEqual C# specific, generate the models with the Equal method overwritten
--csharpHashcode C# specific, generate the models with the GetHashCode method overwritten
--csharpNewtonsoft C# specific, generate the models with newtonsoft serialization support
--csharpSystemJson C# specific, generate the models with System.Text.Json serialization support
--goIncludeComments Golang specific, if enabled add comments while generating models.
--goIncludeTags Golang specific, if enabled add tags while generating models.
--javaArrayType=<option> [default: Array] Java specific, define which type of array needs to be generated.
<options: Array|List>
--javaConstraints Java specific, generate the models with constraints
--javaIncludeComments Java specific, if enabled add comments while generating models.
--javaJackson Java specific, generate the models with Jackson serialization support
--namespace=<value> C#, C++ and PHP specific, define the namespace to use for the generated models. This
is required when language is `csharp`,`c++` or `php`.
--packageName=<value> Go, Java and Kotlin specific, define the package to use for the generated models. This
is required when language is `go`, `java` or `kotlin`.
--pyDantic Python specific, generate the Pydantic models.
--tsEnumType=<option> [default: enum] TypeScript specific, define which type of enums needs to be generated.
<options: enum|union>
--tsExampleInstance Typescript specific, generate example of the model.
--tsExportType=<option> [default: default] TypeScript specific, define which type of export needs to be
generated.
<options: default|named>
--tsIncludeComments TypeScript specific, if enabled add comments while generating models.
--tsJsonBinPack TypeScript specific, define basic support for serializing to and from binary with
jsonbinpack.
--tsMarshalling TypeScript specific, generate the models with marshalling functions.
--tsModelType=<option> [default: class] TypeScript specific, define which type of model needs to be
generated.
<options: class|interface>
--tsModuleSystem=<option> [default: ESM] TypeScript specific, define the module system to be used.
<options: ESM|CJS>
--tsRawPropertyNames Typescript specific, generate the models using raw property names.
DESCRIPTION
Generates typed models
See code: src/commands/generate.ts
Display help for modelina.
USAGE
$ modelina help [COMMAND...] [-n]
ARGUMENTS
COMMAND... Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for modelina.
See code: @oclif/plugin-help
List installed plugins.
USAGE
$ modelina plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ modelina plugins
See code: @oclif/plugin-plugins
Installs a plugin into modelina.
USAGE
$ modelina plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
-h, --help Show CLI help.
-s, --silent Silences npm output.
-v, --verbose Show verbose npm output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into modelina.
Uses bundled npm executable to install plugins into /home/runner/.local/share/@asyncapi/modelina-cli
Installation of a user-installed plugin will override a core plugin.
Use the MODELINA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
Use the MODELINA_NPM_REGISTRY environment variable to set the npm registry.
ALIASES
$ modelina plugins add
EXAMPLES
Install a plugin from npm registry.
$ modelina plugins add myplugin
Install a plugin from a github url.
$ modelina plugins add https://github.com/someuser/someplugin
Install a plugin from a github slug.
$ modelina plugins add someuser/someplugin
Displays installation properties of a plugin.
USAGE
$ modelina plugins inspect PLUGIN...
ARGUMENTS
PLUGIN... [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ modelina plugins inspect myplugin
See code: @oclif/plugin-plugins
Installs a plugin into modelina.
USAGE
$ modelina plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
-h, --help Show CLI help.
-s, --silent Silences npm output.
-v, --verbose Show verbose npm output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into modelina.
Uses bundled npm executable to install plugins into /home/runner/.local/share/@asyncapi/modelina-cli
Installation of a user-installed plugin will override a core plugin.
Use the MODELINA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
Use the MODELINA_NPM_REGISTRY environment variable to set the npm registry.
ALIASES
$ modelina plugins add
EXAMPLES
Install a plugin from npm registry.
$ modelina plugins install myplugin
Install a plugin from a github url.
$ modelina plugins install https://github.com/someuser/someplugin
Install a plugin from a github slug.
$ modelina plugins install someuser/someplugin
See code: @oclif/plugin-plugins
Links a plugin into the CLI for development.
USAGE
$ modelina plugins link PATH [-h] [--install] [-v]
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
--[no-]install Install dependencies after linking the plugin.
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ modelina plugins link myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ modelina plugins remove [PLUGIN...] [-h] [-v]
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ modelina plugins unlink
$ modelina plugins remove
EXAMPLES
$ modelina plugins remove myplugin
Remove all user-installed and linked plugins.
USAGE
$ modelina plugins reset [--hard] [--reinstall]
FLAGS
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
--reinstall Reinstall all plugins after uninstalling.
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ modelina plugins uninstall [PLUGIN...] [-h] [-v]
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ modelina plugins unlink
$ modelina plugins remove
EXAMPLES
$ modelina plugins uninstall myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ modelina plugins unlink [PLUGIN...] [-h] [-v]
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ modelina plugins unlink
$ modelina plugins remove
EXAMPLES
$ modelina plugins unlink myplugin
Update installed plugins.
USAGE
$ modelina plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins
USAGE
$ modelina version [--json] [--verbose]
FLAGS
--verbose Show additional information about the CLI.
GLOBAL FLAGS
--json Format output as json.
FLAG DESCRIPTIONS
--verbose Show additional information about the CLI.
Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
See code: @oclif/plugin-version