- post-update.sh now clears plugin cache automatically - verify-hooks.sh checks ALL locations for prompt hooks - Prevents cached old hooks from overriding fixed hooks Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.3 KiB
Bash
Executable File
45 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Verify all hooks are command type (not prompt)
|
|
# Run this after any plugin update
|
|
|
|
echo "=== HOOK VERIFICATION ==="
|
|
echo ""
|
|
|
|
FAILED=0
|
|
|
|
# Check ALL hooks.json files in .claude directory
|
|
for f in $(find ~/.claude -name "hooks.json" 2>/dev/null); do
|
|
if grep -q '"type": "prompt"' "$f" || grep -q '"type":"prompt"' "$f"; then
|
|
echo "❌ PROMPT HOOK FOUND: $f"
|
|
FAILED=1
|
|
fi
|
|
done
|
|
|
|
# Check cache specifically
|
|
if [ -d ~/.claude/plugins/cache/leo-claude-mktplace ]; then
|
|
echo "❌ CACHE EXISTS: ~/.claude/plugins/cache/leo-claude-mktplace"
|
|
echo " Run: rm -rf ~/.claude/plugins/cache/leo-claude-mktplace/"
|
|
FAILED=1
|
|
fi
|
|
|
|
# Verify installed hooks are command type
|
|
for plugin in doc-guardian code-sentinel projman pr-review project-hygiene; do
|
|
HOOK_FILE=~/.claude/plugins/marketplaces/leo-claude-mktplace/plugins/$plugin/hooks/hooks.json
|
|
if [ -f "$HOOK_FILE" ]; then
|
|
if grep -q '"type": "command"' "$HOOK_FILE" || grep -q '"type":"command"' "$HOOK_FILE"; then
|
|
echo "✓ $plugin: command type"
|
|
else
|
|
echo "❌ $plugin: NOT command type"
|
|
FAILED=1
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
if [ $FAILED -eq 0 ]; then
|
|
echo "✓ All hooks verified OK"
|
|
else
|
|
echo "❌ ISSUES FOUND - fix before using"
|
|
exit 1
|
|
fi
|