Nutritious Pomegranate Muffins

    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0-dev17 • Public • Published

    I Message Queue CLI (imq-cli)

    Build Status codebeat badge Coverage Status David David Known Vulnerabilities License

    ATTENTION: This package is unstable and still in development. Some of the features may not work or may work with problems.


    IMQ-CLI makes work with imq-rpc simpler. Frees you from writing boilerplate.


    As simple as:

    npm i -g imq-cli


    IMQ-CLI first of all provides a way to manage your IMQ-RPC based services and clients based on desired configuration.

    IMQ Command Line Interface
    Version: 1.0.0-dev2
    Usage: imq <command>
      imq client       Manage IMQ client
      imq completions  Generates completions script for your shell
      imq config       Manage IMQ CLI settings
      imq service      Manage IMQ service
      --version  Show version number                                       [boolean]
      --help     Show help                                                 [boolean]

    Service Management

    The main essence of this command-line tool is to provide simple way of creating services based on boilerplate templates.

    Currently it supports a single template default, which provides a way to create a service, targeted to be developed under GitHub version control system, integrated with TravisCI and docker builds. By simply running a single command it will create a ready-to-run service and all you will need is to write it's implementation.

    It is recommended to run imq config init right after installation of this command-line tool and before running imq service create commands.

    imq service create [name] [path]
    Creates new service package with the given service name under given path.
      --version               Show version number                          [boolean]
      --help                  Show help                                    [boolean]
      -a, --author            Service author full name (person or organization)
      -e, --email             Service author's contact email
      -g, --use-git           Turns on automatic git repo creation         [boolean]
      -u, --github-namespace  GitHub namespace (usually user name or organization
      --no-install            Do not install npm packages automatically on service
                              creation                                     [boolean]
      -V, --service-version   Initial service version             [default: "1.0.0"]
      -H, --homepage          Homepage URL for service, if required
      -B, --bugs-url          Bugs url for service, if required
      -l, --license           License for created service, should be either license
                              name in SPDX format or path to a custom license file
      -t, --template          Template used to create service (should be either
                              template name, git url or file system directory)
      -d, --description       Service description
      -n, --node-versions     Node version tags to use for builds, separated by
                              comma if multiple. First one will be used for docker
                              build, if dockerize option enabled.
      -D, --dockerize         Enable service dockerization with CI builds  [boolean]
      -L, --node-docker-tag   Node docker tag to use as base docker image for docker
      -N, --docker-namespace  Docker hub namespace
      -T, --github-token      GitHub auth token
      -p, --private           Service repository will be private at GitHub [boolean]
      --name                  Service name to create with
      --path                  Path to directory where service will be generated to

    Client Management

    Generating Clients:

    To generate a client related service should be started, otherwise generation will fail.

    This command will expect service name as mandatory option.


    imq client generate <name> [path]
    Generates IMQ-RPC client for a specified service
      --version        Show version number                                 [boolean]
      --help           Show help                                           [boolean]
      -o, --overwrite  Overwrite existing client without prompt            [boolean]
      --path           Directory where client file should be placed   [default: "."]

    Managing IMQ-CLI Configuration

    IMQ-CLI can be used with a pre-configured options to shorten commands usage. Global base configurations options usually stored in ~/.imq/config.json file. This file can be managed manually, but it is recommended to use special command:

    imq config init

    which will guide you through configuration process.

    There are also useful commands to retrieve and set specific configuration values, stored in a configuration file:

    imq config get

    will print all upset configuration options in option = value format.

    imq config get [option_name]

    will print a single requested option value.

    imq config set [option_name] [new_value]

    will set requested option to a given new value.

    IMQ-CLI Completions For Your Shell

    IMQ-CLI supports completions for your shell. It provide a way to generate completions script and add it to your shell configuration, as far as allows to remove previously added completion script just running the corresponding commands:

    imq completions on
    imq completions off

    Currently it supports both zsh and bash shells.




    npm i imq-cli


    DownloadsWeekly Downloads






    Unpacked Size

    481 kB

    Total Files


    Last publish


    • serhiy.greench
    • mikhus