@asyncapi/modelina-cli v5.3.0
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
- Table of contents
- Installation
- Download latest release
- Install it
- Download latest release
- Install it
- Download
- Install
- Download
- Install
- Usage
- Commands
Installation
Here are all the ways you can install and run the Modelina CLI.
MacOS
brew install modelinaInstall it through dedicated .pkg file as a MacOS Application
# Download latest release
curl -OL https://github.com/asyncapi/modelina/releases/latest/download/modelina.x64.pkg
# Install it
sudo installer -pkg modelina.pkg -target /Install it through dedicated .pkg file as a MacOS Application for arm64
# Download latest release
curl -OL https://github.com/asyncapi/modelina/releases/latest/download/modelina.arm64.pkg
# Install it
sudo installer -pkg modelina.pkg -target /Windows
choco install modelinaManually download and run modelina.x64.exe
Manually download and run the executable modelina.x86.exe
Linux
# Download
curl -OL https://github.com/asyncapi/modelina/releases/latest/download/modelina.deb
# Install
sudo apt install ./modelina.deb# Download
curl -OL https://github.com/asyncapi/modelina/releases/latest/download/modelina.tar.gz
# Install
tar -xzf modelina.tar.gzRemember to symlink the binaries ln -s <absolute-path>/bin/modelina /user/local/bin/modelina to access the CLI anywhere.
Others
npm install -g @asyncapi/modelina-cliUsage
$ npm install -g @asyncapi/modelina-cli
$ modelina COMMAND
running command...
$ modelina (--version)
@asyncapi/modelina-cli/5.3.0 linux-x64 node-v18.20.8
$ modelina --help [COMMAND]
USAGE
$ modelina COMMAND
...Commands
modelina autocomplete [SHELL]modelina configmodelina config contextmodelina config context add CONTEXT-NAME SPEC-FILE-PATHmodelina config context currentmodelina config context edit CONTEXT-NAME NEW-SPEC-FILE-PATHmodelina config context init [CONTEXT-FILE-PATH]modelina config context listmodelina config context remove CONTEXT-NAMEmodelina config context use CONTEXT-NAMEmodelina generate LANGUAGE FILEmodelina help [COMMAND]modelina pluginsmodelina plugins add PLUGINmodelina plugins:inspect PLUGIN...modelina plugins install PLUGINmodelina plugins link PATHmodelina plugins remove [PLUGIN]modelina plugins resetmodelina plugins uninstall [PLUGIN]modelina plugins unlink [PLUGIN]modelina plugins updatemodelina version
modelina autocomplete [SHELL]
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-cacheSee code: @oclif/plugin-autocomplete
modelina config
CLI config settings
USAGE
$ modelina config
DESCRIPTION
CLI config settingsSee code: src/commands/config/index.ts
modelina config context
Manage short aliases for full paths to inputs
USAGE
$ modelina config context
DESCRIPTION
Manage short aliases for full paths to inputsSee code: src/commands/config/context/index.ts
modelina config context add CONTEXT-NAME SPEC-FILE-PATH
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 storeSee code: src/commands/config/context/add.ts
modelina config context current
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 usedSee code: src/commands/config/context/current.ts
modelina config context edit CONTEXT-NAME NEW-SPEC-FILE-PATH
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 storeSee code: src/commands/config/context/edit.ts
modelina config context init [CONTEXT-FILE-PATH]
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 contextSee code: src/commands/config/context/init.ts
modelina config context list
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 storeSee code: src/commands/config/context/list.ts
modelina config context remove CONTEXT-NAME
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 storeSee code: src/commands/config/context/remove.ts
modelina config context use CONTEXT-NAME
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 currentSee code: src/commands/config/context/use.ts
modelina generate LANGUAGE FILE
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 modelsSee code: src/commands/generate.ts
modelina help [COMMAND]
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
modelina plugins
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 pluginsSee code: @oclif/plugin-plugins
modelina plugins add PLUGIN
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/somepluginmodelina plugins:inspect PLUGIN...
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 mypluginSee code: @oclif/plugin-plugins
modelina plugins install PLUGIN
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/somepluginSee code: @oclif/plugin-plugins
modelina plugins link PATH
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 mypluginSee code: @oclif/plugin-plugins
modelina plugins remove [PLUGIN]
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 mypluginmodelina plugins reset
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
modelina plugins uninstall [PLUGIN]
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 mypluginSee code: @oclif/plugin-plugins
modelina plugins unlink [PLUGIN]
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 mypluginmodelina plugins update
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
modelina version
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
9 months ago
6 months ago
7 months ago
7 months ago
9 months ago
7 months ago
8 months ago
9 months ago
7 months ago
7 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
10 months ago
10 months ago
8 months ago
8 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
