mcpField
R
rhdh-local

rhdh-local

github.com/redhat-developerCloud & DevOps1996 installsUpdated 1d ago
Repository

About rhdh-local

A skill for operating a local RHDH environment and reporting evidence to a calling workflow. Its standalone CLI handles plugin operations, lifecycle, health checks, backups, and test reporting.

Key features

  1. 01Standalone CLI for local operations
  2. 02Plugin enable and disable workflows
  3. 03Environment mode switching
  4. 04Health checks and backups
  5. 05Plugin installation, startup, and UI testing
  6. 06Evidence-based result reporting

Use cases

  1. 01Enable or disable a local plugin
  2. 02Apply customizations and restart RHDH
  3. 03Check service health or restore a backup
  4. 04Verify plugin installation, startup, and UI

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/redhat-developer/rhdh-skills --skill rhdh-local

After installing, type/rhdh-localin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
customization-system.md
dynamic-plugin-testing.md
env-reference.md
troubleshooting.md
rhdh_local/
__init__.py
backup.py
cli.py
compose.py
health.py
settings.py
support.py
sync.py
scripts/
fetch-plugin-metadata.py
NOTICE
rhdh-local
workflows/
disable-plugin.md
enable-plugin.md
switch-mode.md
test-plugin.md

Details

From the project README

RHDH Local

Own local execution and return evidence to the calling workflow. All commands use this skill's standalone CLI; another skill does not need to be installed.

Capability gate

  1. Run uv run scripts/rhdh-local --help.
  2. Locate rhdh-local-setup through RHDH_LOCAL_SETUP_DIR or by walking from the current directory. Run uv run scripts/rhdh-local --json status.
  3. If the setup is absent, state the required environment variable or checkout layout and stop only the runtime branch.
  4. Never read secrets from .env into conversation context. Ask only for missing variable names and let the container runtime consume their values.

Route by outcome

OutcomeLoad and follow
Read a plugin version or artifact at an overlay branch or tagRun python3 scripts/fetch-plugin-metadata.py <plugin-name> --branch <branch-or-tag> --json; default ref is main and runtime setup is not required
Enable a catalog or PR artifactworkflows/enable-plugin.md
Disable a pluginworkflows/disable-plugin.md
Switch pristine/customized modeworkflows/switch-mode.md
Verify a plugin end to endworkflows/test-plugin.md and references/dynamic-plugin-testing.md
Inspect status or enabled packagesRun uv run scripts/rhdh-local --json status or uv run scripts/rhdh-local --json plugins list
Apply customizationsRun uv run scripts/rhdh-local --json apply
Start or stopRun uv run scripts/rhdh-local --json up [flags] or uv run scripts/rhdh-local --json down
Check healthRun uv run scripts/rhdh-local --json health
Back up or restoreRun uv run scripts/rhdh-local --json backup or uv run scripts/rhdh-local restore <archive>; restore is a dry run until --force
Troubleshoot startup, networking, or 504sreferences/troubleshooting.md
Configure environment variablesreferences/env-reference.md

Invariants

  • Edit only source files under rhdh-customizations/. Run apply after every edit so copies under rhdh-local/ stay synchronized.
  • Use this CLI's up and down commands when Lightspeed or Orchestrator is enabled; they own the compose lifecycle and shared networks.
  • Obtain package references from spec.dynamicArtifact or from the reference the caller supplied. Never construct OCI references from naming conventions.
  • Preserve the includes: block in dynamic plugin overrides. Put backend packages before their frontend packages.
  • A plugin test succeeds only with recorded installation, boot, health, and UI results relevant to the request. Distinguish an expected credential error from a load failure.

What a caller supplies

A caller invokes this skill by name and states, in conversation:

  • each package reference to enable, with its plugin config or none
  • the environment variables the plugin needs, by name only
  • the catalog test entities the plugin renders against
  • which checks to run: installation, startup, health, UI
  • whether to clean up afterwards

Use those references verbatim. Ask for a missing one rather than reconstructing it from a naming convention.

What this skill reports

Report to the caller in conversation. Do not write into another skill's directory.

  • the subject tested, and the mode it ran in: customized or pristine
  • one line per requested check — installation, startup, health, UI — each passed, failed, or skipped with the reason it was skipped
  • the packages actually enabled, with their exact references
  • the log excerpts that back each result
  • cleanup state: completed, retained, or not requested

Completion

Complete when the report names every source customization file changed, every CLI command run, the health and UI evidence observed, the cleanup state, and one outcome for every check the caller requested.

Comments

Markdown supported