$npx -y skills add redhat-developer/rhdh-skill --skill rhdh-localTest RHDH plugins locally using the rhdh-local-setup customization system. Covers enabling/disabling plugins, switching modes, running end-to-end plugin tests, starting/stopping RHDH (up/down), health checks, troubleshooting errors (504, startup failures), and backup/restore of c
| 1 | <essential_principles> |
| 2 | |
| 3 | <principle name="copy_sync_first"> |
| 4 | All configuration edits go in `rhdh-customizations/`, never in `rhdh-local/` directly. |
| 5 | After every edit, run `rhdh local apply` to sync copies. This is the fundamental invariant. |
| 6 | </principle> |
| 7 | |
| 8 | <principle name="use_scripts"> |
| 9 | Use `rhdh local up` / `rhdh local down` — never `podman compose restart/up/down` directly when Lightspeed or Orchestrator are enabled. These commands manage the local compose lifecycle directly through Python; do not bypass them with direct compose commands when shared-network services are enabled. |
| 10 | See `references/troubleshooting.md` for network namespace details. |
| 11 | </principle> |
| 12 | |
| 13 | <principle name="data_sources"> |
| 14 | Plugin package definitions come from `rhdh-plugin-export-overlays` on GitHub. |
| 15 | Always fetch the OCI reference from `spec.dynamicArtifact` in the package metadata — do NOT construct OCI URLs manually. |
| 16 | </principle> |
| 17 | |
| 18 | </essential_principles> |
| 19 | |
| 20 | <intake> |
| 21 | ## Step 1: Identify What You Want to Do |
| 22 | |
| 23 | What would you like to do with your local RHDH instance? |
| 24 | |
| 25 | 1. **Enable a plugin** — Add a plugin from the export-overlays catalog to your local RHDH |
| 26 | 2. **Disable a plugin** — Disable or remove a plugin from your local RHDH |
| 27 | 3. **Switch mode** — Switch between Customized (your config) and Pristine (RHDH defaults) |
| 28 | 4. **Test a plugin** — Run end-to-end verification after enabling a plugin |
| 29 | 5. **Check status** — See which plugins are currently enabled |
| 30 | |
| 31 | **Wait for response before proceeding.** |
| 32 | </intake> |
| 33 | |
| 34 | <routing> |
| 35 | | Response | Workflow | |
| 36 | |----------|----------| |
| 37 | | 1, "enable", "add plugin", "install plugin" | `workflows/enable-plugin.md` | |
| 38 | | 2, "disable", "remove plugin", "turn off plugin" | `workflows/disable-plugin.md` | |
| 39 | | 3, "switch", "pristine", "customized", "mode" | `workflows/switch-mode.md` | |
| 40 | | 4, "test", "verify", "check plugin" | `workflows/test-plugin.md` | |
| 41 | | 5, "status", "list plugins", "show plugins" | Read `rhdh-customizations/configs/dynamic-plugins/dynamic-plugins.override.yaml` and list entries | |
| 42 | | "start", "up", "start rhdh" | Run `rhdh local up` (add `--lightspeed`, `--orchestrator`, or `--both` as needed) | |
| 43 | | "stop", "down", "stop rhdh" | Run `rhdh local down` | |
| 44 | | "health", "check health", "is rhdh running" | Run `rhdh local health` | |
| 45 | | "backup", "save config", "archive" | Run `rhdh local backup` | |
| 46 | | "restore", "restore backup" | Run `rhdh local restore <archive>` (dry-run by default) | |
| 47 | | "env", "environment variables", "env vars", ".env" | Read `references/env-reference.md` | |
| 48 | | "troubleshoot", "debug", "504", "error", "not working" | Read `references/troubleshooting.md` | |
| 49 | </routing> |
| 50 | |
| 51 | <reference_index> |
| 52 | **Customization system (copy-sync, file mapping, edit rules):** `references/customization-system.md` |
| 53 | **Environment variables (.env reference):** `references/env-reference.md` |
| 54 | **Troubleshooting & comparative testing:** `references/troubleshooting.md` |
| 55 | **Container lifecycle, startup scripts, network namespace:** `references/troubleshooting.md` — restart patterns, 504 debugging, network namespace rules |
| 56 | **Dynamic plugin YAML format, OCI references:** `../overlay/references/rhdh-local.md` section `<dynamic_plugins_config>` (if unavailable, see `rhdh-plugin-export-overlays` repo README for YAML format) |
| 57 | </reference_index> |
| 58 | |
| 59 | <skills_index> |
| 60 | |
| 61 | | Skill | Purpose | Path | |
| 62 | |-------|---------|------| |
| 63 | | overlay | Onboard/update plugins in rhdh-plugin-export-overlays | `../overlay/SKILL.md` | |
| 64 | | rhdh | Orchestrator — routes to all skills, runs CLI checks | `../rhdh/SKILL.md` | |
| 65 | |
| 66 | </skills_index> |