diff --git a/plugins/ms-ai-architect/tests/validate-plugin.sh b/plugins/ms-ai-architect/tests/validate-plugin.sh index d6ad764..334f77f 100755 --- a/plugins/ms-ai-architect/tests/validate-plugin.sh +++ b/plugins/ms-ai-architect/tests/validate-plugin.sh @@ -149,9 +149,10 @@ for cmd_file in "$PLUGIN_ROOT"/commands/*.md; do warn "$basename_file: missing allowed-tools (recommended)" fi - # Validate name matches filename pattern + # Validate name matches filename pattern (allows both "command" and "plugin:command") name_value="$(echo "$frontmatter" | grep "^name:" | sed 's/^name: *//' | tr -d '[:space:]')" - if [ -n "$name_value" ] && [ "$name_value" = "$basename_noext" ]; then + name_suffix="${name_value##*:}" + if [ -n "$name_value" ] && { [ "$name_value" = "$basename_noext" ] || [ "$name_suffix" = "$basename_noext" ]; }; then pass "$basename_file: name matches filename" elif [ -n "$name_value" ]; then fail "$basename_file: name '$name_value' does not match filename '$basename_noext'" @@ -261,7 +262,7 @@ else fi done - # Check auto_discover: true + # Check auto_discover: optional field (not required in ktg-plugin-marketplace format) if grep -q '"auto_discover"' "$plugin_json"; then auto_val="$(grep '"auto_discover"' "$plugin_json" | grep -o 'true\|false')" if [ "$auto_val" = "true" ]; then @@ -270,7 +271,7 @@ else fail "plugin.json: auto_discover is not true (got: $auto_val)" fi else - fail "plugin.json: missing auto_discover" + pass "plugin.json: auto_discover not present (auto-discovery via hooks.json)" fi fi