@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 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
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
8 months ago
5 months ago
6 months ago
6 months ago
8 months ago
6 months ago
6 months ago
8 months ago
6 months ago
6 months ago
9 months ago
9 months ago
9 months ago
7 months ago
9 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
9 months ago
9 months ago
7 months ago
7 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
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
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
