Skip to content

Commit 6b22312

Browse files
committed
ci: πŸ—οΈ add GitHub Actions CI and update README
Add lint (ruff) and test (pytest) CI pipeline. Update README to reflect current project structure, all 7 skills, missing slash commands, and correct upstream repository for published plugin installation.
1 parent 16eb41f commit 6b22312

4 files changed

Lines changed: 99 additions & 10 deletions

File tree

β€Ž.github/workflows/ci.ymlβ€Ž

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
jobs:
9+
lint:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- uses: astral-sh/setup-uv@v4
15+
with:
16+
enable-cache: true
17+
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.11"
21+
22+
- run: uv sync --extra dev
23+
24+
- run: uv run ruff check .
25+
26+
- run: uv run ruff format --check .
27+
28+
test:
29+
needs: lint
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v4
33+
34+
- uses: astral-sh/setup-uv@v4
35+
with:
36+
enable-cache: true
37+
38+
- uses: actions/setup-python@v5
39+
with:
40+
python-version: "3.11"
41+
42+
- run: uv sync --extra dev
43+
44+
- run: uv run pytest -v

β€ŽREADME.mdβ€Ž

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ claude plugin install --scope project rhdh
1414
### From Published Plugin
1515

1616
```bash
17-
claude plugin marketplace add durandom/rhdh-skill
17+
claude plugin marketplace add redhat-developer/rhdh-skill
1818
claude plugin install --scope project rhdh
1919
```
2020

@@ -32,14 +32,19 @@ If `needs_setup: true`, follow the setup instructions to configure required repo
3232

3333
## Architecture
3434

35-
The skill is split into two focused components:
35+
The plugin consists of an orchestrator skill that routes to specialized workflow skills:
3636

3737
| Skill | Purpose | Contents |
3838
|-------|---------|----------|
3939
| `rhdh` | Orchestrator | Python CLI + routing logic |
40-
| `overlay` | Workflows | Markdown-only workflow definitions |
40+
| `overlay` | Overlay workflows | Onboard, update, fix, triage plugins |
41+
| `create-backend-plugin` | Backend plugins | Bootstrap new backend dynamic plugins |
42+
| `create-frontend-plugin` | Frontend plugins | Bootstrap new frontend dynamic plugins |
43+
| `export-and-package` | Packaging | Export plugins as OCI/tgz/npm |
44+
| `generate-frontend-wiring` | Frontend wiring | Mount points, routes, entity tabs |
45+
| `rhdh-local` | Local testing | Enable/disable/test plugins locally |
4146

42-
This separation allows the orchestrator to be portable (stdlib-only Python) while keeping workflow documentation easy to maintain.
47+
The orchestrator is portable (stdlib-only Python) while workflow skills are markdown-only for easy maintenance.
4348

4449
## The RHDH CLI
4550

@@ -78,7 +83,9 @@ This redirects `worklog.jsonl` and `TODO.md` to the specified directory.
7883
./skills/rhdh/scripts/rhdh # Status / orientation
7984
./skills/rhdh/scripts/rhdh doctor # Full environment check
8085
./skills/rhdh/scripts/rhdh config init # Create config with auto-detection
86+
./skills/rhdh/scripts/rhdh setup # Environment setup commands
8187
./skills/rhdh/scripts/rhdh workspace list # List plugin workspaces
88+
./skills/rhdh/scripts/rhdh local # Local RHDH customization operations
8289

8390
# Activity tracking
8491
./skills/rhdh/scripts/rhdh log add "Started onboard" --tag onboard
@@ -89,27 +96,37 @@ This redirects `worklog.jsonl` and `TODO.md` to the specified directory.
8996

9097
| Command | Description |
9198
|---------|-------------|
92-
| `/rhdh` | Show status and route to appropriate workflow |
99+
| `/rhdh` | Show status and route to appropriate workflow (skill) |
93100
| `/onboard-plugin` | Add a new plugin to Extensions Catalog |
94101
| `/update-plugin` | Bump plugin to newer upstream version |
95102
| `/fix-plugin-build` | Debug CI/publish failures |
103+
| `/plugin-status` | Check plugin health and compatibility status |
96104
| `/triage-overlay-prs` | Prioritize open PRs (Core Team) |
97105
| `/analyze-overlay-pr` | Analyze specific PR (Core Team) |
106+
| `/session-log` | Document session accomplishments to logs |
98107

99108
## Project Structure
100109

101110
```
102111
rhdh-skill/
112+
β”œβ”€β”€ .claude-plugin/ # Plugin manifest + marketplace listing
113+
β”œβ”€β”€ commands/ # Slash command definitions
103114
β”œβ”€β”€ skills/
104115
β”‚ β”œβ”€β”€ rhdh/ # Orchestrator skill
105116
β”‚ β”‚ β”œβ”€β”€ rhdh/ # Python CLI package (stdlib only)
106117
β”‚ β”‚ β”œβ”€β”€ scripts/rhdh # Entry point
107-
β”‚ β”‚ β”œβ”€β”€ references/ # GitHub, JIRA tool guides
118+
β”‚ β”‚ β”œβ”€β”€ references/ # GitHub, JIRA, version refs
108119
β”‚ β”‚ └── SKILL.md # Routing logic
109-
β”‚ └── overlay/ # Workflow skill (markdown only)
110-
β”‚ β”œβ”€β”€ workflows/ # onboard, update, fix, triage
111-
β”‚ β”œβ”€β”€ references/ # Overlay-specific docs
112-
β”‚ └── SKILL.md # Workflow definitions
120+
β”‚ β”œβ”€β”€ overlay/ # Overlay workflow skill
121+
β”‚ β”‚ β”œβ”€β”€ workflows/ # onboard, update, fix, triage
122+
β”‚ β”‚ β”œβ”€β”€ templates/ # Workspace file templates
123+
β”‚ β”‚ β”œβ”€β”€ references/ # Overlay-specific docs
124+
β”‚ β”‚ └── SKILL.md # Workflow definitions
125+
β”‚ β”œβ”€β”€ create-backend-plugin/
126+
β”‚ β”œβ”€β”€ create-frontend-plugin/
127+
β”‚ β”œβ”€β”€ export-and-package/
128+
β”‚ β”œβ”€β”€ generate-frontend-wiring/
129+
β”‚ └── rhdh-local/ # Local RHDH testing
113130
β”œβ”€β”€ tests/ # pytest test suite
114131
└── pyproject.toml # Dev dependencies
115132
```

β€Žpyproject.tomlβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ include = ["rhdh*"]
1616
dev = [
1717
"pytest>=7.0",
1818
"pyyaml>=6.0", # Only for SKILL.md structure tests
19+
"ruff>=0.4.0",
1920
]
2021

2122
[project.scripts]

β€Žuv.lockβ€Ž

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
Β (0)