zowe / imperative

Imperative CLI Framework
Eclipse Public License 2.0
24 stars 27 forks source link

Imperative CLI Framework

codecov OpenSSF Best Practices

This package has moved to the Zowe CLI Monorepo

Imperative CLI Framework is a command processing system that lets you quickly build customized command-line interfaces. Focus on adding functionality for your users rather than creating CLI infrastructure. We provide you with all the tools to get started building your own CLI plug-ins.

Software Requirements

Note: Broadcom Inc. does not maintain the prerequisite software that Imperative CLI Framework requires. You are responsible for updating Node.js and other prerequisites on your computer. We recommend that you update Node.js regularly to the latest Long Term Support (LTS) version.

Install Imperative as a Dependency

Issue the following commands to install Imperative CLI Framework as a dependency.

Note: If you want to install the bleeding edge version of Imperative, you can append --@zowe:registry=https://zowe.jfrog.io/zowe/api/npm/npm-release/ to the install command to get it from a staging registry. It is not recommended to use this registry for production dependencies.

Build and Install Imperative CLI Framework from Source

To build and install the Imperative CLI Framework, follow these steps:

  1. Clone the zowe/imperative project to your PC.
  2. From the command line, issue cd [relative path]/imperative
  3. Issue npm install
  4. Issue npm run build
  5. Issue npm run test

To build the entire project (including test stand-alone CLIs): npm run build

To build only imperative source: npm run build:packages

Run Tests

Command Description
npm run test Run all automated tests (unit & integration)
npm test:unit Run unit tests
npm test:integration Run integration tests
npm test:system Run system tests (requires IPv6 connection)

Note: To build and install the test CLIs used by the integration tests:

  1. node scripts/sampleCliTool.js build
  2. node scripts/sampleCliTool.js install

Sample Applications

We provide a sample plug-in that you can use to get started developing your own plug-ins. See the Zowe CLI Sample Plug-in.

Documentation

We provide documentation that describes how to define commands, work with user profiles, and more! For more information, see the Imperative CLI Framework wiki.

Contribute

For information about how you can contribute code to Imperative CLI Framework, see CONTRIBUTING.

Submit an Issue

To report a bug or request an enhancement, please submit an issue.

Versioning

Imperative CLI Framework uses Semantic Versioning (SemVer) for versioning. For more information, see the Semantic Versioning website.

Licensing Imperative CLI Framework

For Imperative CLI Framework licensing rules, requirements, and guidelines, see LICENSE.