This repository introduces utilities that extract the command tree from the CLI and its installed plug-ins, store the relevant command groups for third party conformant plug-ins in a legal-approved way (without exposing proprietary code), and generate web help with those plug-ins included on demand.
To contribute your plug-in's web help, follow the steps below for installing and using the project.
- 
Clone this repository from GitHub: git clone https://github.com/zowe/zowe-cli-web-help-generator.git cd zowe-cli-web-help-generator
- 
Install project dependencies: npm install --prod Note: If you plan to modify the scripts in this repo, omit the --prodflag to also install dev dependencies.
- 
Install the plug-in you want to contribute into Zowe CLI, if it is not already installed. If you do not have a globally installed Zowe CLI available, run: npx zowe plugins install <plugin name or path here> 
To add your conformant plug-in's commands, perform the following steps:
Note: All steps should be performed in the root of this project.
- 
Ensure the plug-in you want to contribute to the web help is installed in Zowe CLI. If it is not already installed, see Step 3 in the Installing section. 
- 
Define command groups that your plug-in contributes. - Copy the template file zowe.template.jsonto a new file namedzowe.json. This file will be ignored by git.
- Customize this file to include the full names of command group(s) of your plug-in(s), like the following:
{ "commandGroups": ["zowe-cli-sample"] }
 Note: No @zowe scoped plug-ins should be included in this repository, and the above is merely for demonstration purposes. 
- Copy the template file 
- 
(Optional) Include your copyright notice, which will show as a comment in the generated output. Create a file named .copyrightand add your copyright notice there. This file will be ignored by git. If no copyright is supplied, the following default copyright will be added:Copyright Contributors to the Zowe Project.
- 
Use the web help generator to extract help from your plug-in's command definitions. Run the following command: npm run contribute This will retrieve the CLI command tree from Zowe CLI and all installed plug-ins, and extract the above command group(s) to .jsoncfiles in the "commandGroups" directory.
- 
Commit new files back to the GitHub repository. - Commit the newly created .jsoncfiles to git. Ensure the commit is signed off (it must include a "Signed-off-by" line).git commit -s -m "Add <plugin name> plug-in"
- Create a pull request in this repository that contributes the new files so that your plug-in will be included in web help for the next Zowe release.
 
- Commit the newly created 
To preview web help with your plug-in included locally, perform the following steps:
- 
Ensure the latest CLI and plug-ins are installed to generate up-to-date help. Install the latest version of Zowe CLI, and all @zowe scoped plug-ins (CICS, DB2, FTP, and MQ for Zowe v2) if they are not already installed. If you do not have a globally installed Zowe CLI available, the CLI can also be accessed in this repository by running npx zowe.
- 
Build web help that includes all plug-ins contributed to this repository. In the root of this project, run: npm run build This will generate the CLI command tree from the CLI and @zowe packages, merge all of the command groups in the defined folders, and generate the web help in the "generatedWebHelp" directory. 
- 
Open the file "generatedWebHelp/index.html" in your browser to view the generated web help.