|
10 | 10 |
|
11 | 11 | ``` |
12 | 12 | rhdh-skill/ |
| 13 | +├── commands/ # Slash commands for Claude Code |
13 | 14 | ├── skills/ |
14 | | -│ ├── rhdh/ # Orchestrator skill (Python CLI + routing) |
15 | | -│ │ ├── rhdh/ # Python CLI package (stdlib only) |
16 | | -│ │ ├── scripts/ # Entry point (./scripts/rhdh) |
17 | | -│ │ ├── references/ # General tool references (GitHub, JIRA) |
18 | | -│ │ └── SKILL.md # Routes to overlay skill |
19 | | -│ └── overlay/ # Overlay skill (markdown only) |
20 | | -│ ├── workflows/ # Plugin workflows (onboard, update, fix) |
21 | | -│ ├── references/ # Overlay-specific references |
22 | | -│ └── SKILL.md # Overlay workflow routing |
23 | | -├── tests/ # pytest test suite (dev only) |
24 | | -└── pyproject.toml # Dev dependencies (pytest) |
| 15 | +│ ├── rhdh/ # Orchestrator skill (Python CLI + routing) |
| 16 | +│ │ ├── rhdh/ # Python CLI package (stdlib only) |
| 17 | +│ │ ├── scripts/ # Entry point (./scripts/rhdh) |
| 18 | +│ │ ├── references/ # Tool refs (GitHub, JIRA, repos, versions) |
| 19 | +│ │ └── SKILL.md # Main intake + routing to sub-skills |
| 20 | +│ ├── overlay/ # Overlay skill (markdown only) |
| 21 | +│ │ ├── workflows/ # Plugin workflows (onboard, update, fix, triage) |
| 22 | +│ │ ├── references/ # Overlay-specific refs (CI, labels, metadata) |
| 23 | +│ │ ├── templates/ # Workspace file templates |
| 24 | +│ │ └── SKILL.md # Overlay workflow routing |
| 25 | +│ ├── rhdh-local/ # Local testing skill (Python CLI + workflows) |
| 26 | +│ │ ├── rhdh_local/ # Python CLI package (compose, health, sync) |
| 27 | +│ │ ├── scripts/ # Entry point (./scripts/rhdh-local) |
| 28 | +│ │ ├── workflows/ # Local workflows (enable, disable, test, switch) |
| 29 | +│ │ ├── references/ # Customization, env, troubleshooting refs |
| 30 | +│ │ └── SKILL.md # Local testing intake |
| 31 | +│ ├── create-backend-plugin/ # Bootstrap backend dynamic plugins |
| 32 | +│ ├── create-frontend-plugin/ # Bootstrap frontend dynamic plugins |
| 33 | +│ ├── export-and-package/ # Export & package as OCI/tgz/npm |
| 34 | +│ └── generate-frontend-wiring/ # Configure mount points, routes, tabs |
| 35 | +├── .claude-plugin/ # Plugin manifest + marketplace listing |
| 36 | +├── .planning/ # Planning docs for future features |
| 37 | +├── tests/ # pytest test suite (dev only) |
| 38 | +└── pyproject.toml # Dev dependencies (pytest, ruff) |
25 | 39 | ``` |
26 | 40 |
|
27 | | -## CLI |
| 41 | +## CLIs |
28 | 42 |
|
29 | | -The CLI is stdlib-only and runs with any Python 3.9+: |
| 43 | +Two stdlib-only Python CLIs (Python 3.9+), auto-detecting output format (**TTY** → human-readable, **Piped** → JSON): |
| 44 | + |
| 45 | +### `rhdh` — Orchestrator CLI |
| 46 | + |
| 47 | +```bash |
| 48 | +./skills/rhdh/scripts/rhdh # Status (orientation) |
| 49 | +./skills/rhdh/scripts/rhdh doctor # Full environment check |
| 50 | +./skills/rhdh/scripts/rhdh config init # Create config with auto-detection |
| 51 | +./skills/rhdh/scripts/rhdh config show # Show resolved paths |
| 52 | +./skills/rhdh/scripts/rhdh config set <k> <v> # Set config value |
| 53 | +./skills/rhdh/scripts/rhdh setup submodule list # List available repos |
| 54 | +./skills/rhdh/scripts/rhdh setup submodule add --all # Add all required repos |
| 55 | +./skills/rhdh/scripts/rhdh workspace list # List plugin workspaces |
| 56 | +./skills/rhdh/scripts/rhdh workspace status <name> |
| 57 | +./skills/rhdh/scripts/rhdh log add "msg" --tag x # Activity worklog |
| 58 | +./skills/rhdh/scripts/rhdh log show / search |
| 59 | +./skills/rhdh/scripts/rhdh todo add / list / done / note / show |
| 60 | +./skills/rhdh/scripts/rhdh local up / down / status / apply / health # Delegates to rhdh-local |
| 61 | +``` |
| 62 | + |
| 63 | +### `rhdh-local` — Local Testing CLI |
30 | 64 |
|
31 | 65 | ```bash |
32 | | -./skills/rhdh/scripts/rhdh # Status check |
33 | | -./skills/rhdh/scripts/rhdh doctor # Full environment check |
34 | | -./skills/rhdh/scripts/rhdh --json # Force JSON output |
| 66 | +./skills/rhdh-local/scripts/rhdh-local # Standalone local testing CLI |
35 | 67 | ``` |
36 | 68 |
|
37 | | -Auto-detects output format: **TTY** → human-readable, **Piped** → JSON. |
| 69 | +Both CLIs follow [agentic CLI design patterns](https://github.com/durandom/dotfiles/blob/main/skills/recipes/references/agentic-cli.md) (`/recipes agentic-cli`). |
38 | 70 |
|
39 | 71 | ## Key Patterns |
40 | 72 |
|
41 | 73 | - `OutputFormatter` handles JSON/human rendering — commands build data dicts |
42 | | -- Workflows live in `skills/overlay/workflows/` — doctor points agents there for setup |
| 74 | +- Workflows live in `skills/overlay/workflows/` and `skills/rhdh-local/workflows/` |
43 | 75 | - Config discovery: env vars → project config → user config → auto-detection |
| 76 | +- `commands/` dir provides slash commands that Claude Code auto-discovers |
| 77 | +- `rhdh` CLI delegates `local` subcommands to `rhdh_local.cli` module |
44 | 78 |
|
45 | 79 | ## Versioning |
46 | 80 |
|
|
0 commit comments