Files
gh-yasun1-claude-code-plugi…/hooks/user-prompt-submit.sh
2025-11-30 09:07:35 +08:00

48 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# User prompt submit hook: Logs and validates user prompts
PROMPT="$1"
# Create log directory if it doesn't exist
LOG_DIR=".claude-plugin/logs"
mkdir -p "$LOG_DIR"
# Log the prompt
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
LOG_FILE="$LOG_DIR/prompt-history.log"
echo "[$TIMESTAMP] $PROMPT" >> "$LOG_FILE"
# Check for potentially dangerous commands
if echo "$PROMPT" | grep -Eqi "(rm -rf /|format|delete all|drop database)"; then
echo "⚠️ WARNING: Detected potentially destructive command!"
echo " Please review carefully before proceeding."
echo ""
fi
# Check for git force operations
if echo "$PROMPT" | grep -Eqi "(git push.*--force|git reset --hard|git clean -fdx)"; then
echo "⚠️ WARNING: Detected potentially destructive git operation!"
echo " Make sure you understand the consequences."
echo ""
fi
# Check for production-related keywords
if echo "$PROMPT" | grep -Eqi "(production|prod|live environment)"; then
echo "⚠️ CAUTION: Production environment mentioned"
echo " Double-check all operations on production systems."
echo ""
fi
# Provide helpful tips for common patterns
if echo "$PROMPT" | grep -qi "create.*test"; then
echo "💡 Tip: Consider using TDD - write tests first!"
echo ""
fi
if echo "$PROMPT" | grep -qi "refactor"; then
echo "💡 Tip: Make sure tests pass before and after refactoring"
echo ""
fi
exit 0