@red-hat-developer-hub/cli
v1.11.1
Published
CLI for developing Backstage plugins and apps
Downloads
12,018
Readme
@red-hat-developer-hub/cli
This repository hosts the source code for the rhdh-cli utility, a new command-line interface designed to streamline the development, packaging, and distribution of dynamic plugins for Red Hat Developer Hub (RHDH).
This new CLI aims to offer more flexibility and ease of use compared to the previous @janus-idp/cli.
[!TIP] Command Migration
If you were previously using @janus-idp/cli, here are the corresponding new commands in rhdh-cli:
| Old Command | New Command | | ---------------------------------------------------- | ----------------------------------------------- | |
npx @janus-idp/cli package export-dynamic-plugin|npx @red-hat-developer-hub/cli plugin export| |npx @janus-idp/cli package package-dynamic-plugins|npx @red-hat-developer-hub/cli plugin package|
plugin package requirements
The plugin package command stages each dist-dynamic plugin with npm pack and tar (via a short bash script). The following must be available on your PATH:
- bash — runs the pack/extract script
- npm (7 or newer) —
npm pack --pack-destinationrequires npm 7+ - tar — extracts the packed tarball into the staging directory
On Windows, use Git Bash or WSL so these tools are available.
When you build an OCI image with --tag (instead of exporting to a directory with --export-to), a container build tool must also be on PATH. podman is the default; you can select docker or buildah with --container-tool (for example --container-tool docker). Directory-only exports with --export-to do not need a container tool.
Development
Contributing
Build and Run Locally
To build the project locally:
yarn install
yarn buildYou can run the CLI locally by pointing to the bin/rhdh-cli file:
./bin/rhdh-clior when executing from the project root you can also use:
npx @red-hat-developer-hub/cliVersioning Strategy
The versioning for rhdh-cli is designed to be straightforward and align directly with the main Red Hat Developer Hub (RHDH) product, ensuring a clear compatibility path for developers.
Our versioning scheme follows the pattern of $MAJOR.$MINOR.$PATCH (e.g., 1.8.0).
Major and Minor Version ($MAJOR.$MINOR): This part of the version is synchronized with the corresponding RHDH release. For example, if you are working with RHDH
1.8.z, you should use a version ofrhdh-clifrom the1.8.zseries. This direct alignment removes ambiguity and the need to maintain a separate compatibility matrix.Patch Version ($PATCH): The patch version is incremented for new releases of the CLI that contain bug fixes or minor, non-breaking feature enhancements specific to the CLI. The patch version of
rhdh-cliis not lock-stepped with RHDH's patch releases. For instance,rhdh-cliversions1.8.0and1.8.1are both intended for use with any RHDH1.8.zinstallation. We always recommend using the latest available patch release for your RHDH version.
Publishing to NPM
Publishing is done using Publish Package to NPM workflow.
Make sure not to release MINOR or MAJOR version that are not aligned with the corresponding RHDH release.
This workflow is not currently triggered automatically. It needs to be run manually from the Actions tab in the GitHub repository.
Reporting Issues
If you encounter any bugs or have feature requests, please report them through our Jira Project Red Hat Developer Hub (RHIDP)
