diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad09a59..38fbf5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,3 +42,27 @@ jobs: - name: Perform dependency check run: npm run knip + + - name: Verify plugin.json copies are in sync + run: | + set -eu + COPIES=( + ".github/plugin/plugin.json" + ) + failed=0 + for root in plugins/*/plugin.json; do + dir=$(dirname "$root") + for rel in "${COPIES[@]}"; do + copy="$dir/$rel" + if [ ! -f "$copy" ]; then + echo "::error file=$copy::missing copy of $root" + failed=1 + continue + fi + if ! diff -u "$root" "$copy"; then + echo "::error file=$copy::differs from $root" + failed=1 + fi + done + done + exit $failed diff --git a/plugins/ui5-typescript-conversion/.claude-plugin/plugin.json b/plugins/ui5-typescript-conversion/.github/plugin/plugin.json similarity index 93% rename from plugins/ui5-typescript-conversion/.claude-plugin/plugin.json rename to plugins/ui5-typescript-conversion/.github/plugin/plugin.json index 0dbf5f3..44ef34d 100644 --- a/plugins/ui5-typescript-conversion/.claude-plugin/plugin.json +++ b/plugins/ui5-typescript-conversion/.github/plugin/plugin.json @@ -13,9 +13,9 @@ "ui5", "sapui5", "openui5", - "claude", "plugin", "typescript", "conversion" - ] + ], + "skills": ["./skills/"] } diff --git a/plugins/ui5-typescript-conversion/skills/SKILL.md b/plugins/ui5-typescript-conversion/skills/ui5-typescript-conversion/SKILL.md similarity index 100% rename from plugins/ui5-typescript-conversion/skills/SKILL.md rename to plugins/ui5-typescript-conversion/skills/ui5-typescript-conversion/SKILL.md diff --git a/plugins/ui5-typescript-conversion/skills/references/test_conversion.md b/plugins/ui5-typescript-conversion/skills/ui5-typescript-conversion/references/test_conversion.md similarity index 100% rename from plugins/ui5-typescript-conversion/skills/references/test_conversion.md rename to plugins/ui5-typescript-conversion/skills/ui5-typescript-conversion/references/test_conversion.md diff --git a/plugins/ui5/.claude-plugin/plugin.json b/plugins/ui5/.github/plugin/plugin.json similarity index 82% rename from plugins/ui5/.claude-plugin/plugin.json rename to plugins/ui5/.github/plugin/plugin.json index 57cb535..0eacb94 100644 --- a/plugins/ui5/.claude-plugin/plugin.json +++ b/plugins/ui5/.github/plugin/plugin.json @@ -13,11 +13,11 @@ "ui5", "sapui5", "openui5", - "claude", "plugin", "linter", - "api documentation", - "development guidelines", - "best practices" - ] + "api-documentation", + "development-guidelines", + "best-practices" + ], + "skills": ["./skills/"] } diff --git a/plugins/ui5/.mcp.json b/plugins/ui5/.mcp.json index 1a1ac45..0a5d497 100644 --- a/plugins/ui5/.mcp.json +++ b/plugins/ui5/.mcp.json @@ -1,6 +1,8 @@ { - "ui5-mcp-server": { - "command": "npx", - "args": ["-y", "@ui5/mcp-server"] + "mcpServers": { + "ui5-mcp-server": { + "command": "npx", + "args": ["-y", "@ui5/mcp-server"] + } } } diff --git a/plugins/ui5/plugin.json b/plugins/ui5/plugin.json index 79f7dc9..0eacb94 100644 --- a/plugins/ui5/plugin.json +++ b/plugins/ui5/plugin.json @@ -15,12 +15,9 @@ "openui5", "plugin", "linter", - "api documentation", - "development guidelines", - "best practices" + "api-documentation", + "development-guidelines", + "best-practices" ], - "skills": [ - "./skills/ui5-best-practices", - "./skills/ui5-best-practices-integration-cards" - ] + "skills": ["./skills/"] }