SessionStart hook checks if CLAUDE.md has mandatory rules. If missing, adds them automatically. Rules enforced: - Check everything when user asks - Believe user when they say something's wrong - Never say "done" without verification - Show exactly what user asks for Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
69 lines
1.9 KiB
Bash
Executable File
69 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# claude-config-maintainer: enforce mandatory behavior rules
|
|
# Checks if CLAUDE.md has the rules, adds them if missing
|
|
|
|
PREFIX="[claude-config-maintainer]"
|
|
|
|
# Find CLAUDE.md in current directory or parent
|
|
CLAUDE_MD=""
|
|
if [ -f "./CLAUDE.md" ]; then
|
|
CLAUDE_MD="./CLAUDE.md"
|
|
elif [ -f "../CLAUDE.md" ]; then
|
|
CLAUDE_MD="../CLAUDE.md"
|
|
fi
|
|
|
|
# If no CLAUDE.md found, exit silently
|
|
if [ -z "$CLAUDE_MD" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Check if mandatory rules exist
|
|
if grep -q "MANDATORY BEHAVIOR RULES" "$CLAUDE_MD" 2>/dev/null; then
|
|
# Rules exist, all good
|
|
exit 0
|
|
fi
|
|
|
|
# Rules missing - add them
|
|
RULES='## ⛔ MANDATORY BEHAVIOR RULES - READ FIRST
|
|
|
|
**These rules are NON-NEGOTIABLE. Violating them wastes the user'\''s time and money.**
|
|
|
|
### 1. WHEN USER ASKS YOU TO CHECK SOMETHING - CHECK EVERYTHING
|
|
- Search ALL locations, not just where you think it is
|
|
- Check cache directories: `~/.claude/plugins/cache/`
|
|
- Check installed: `~/.claude/plugins/marketplaces/`
|
|
- Check source directories
|
|
- **NEVER say "no" or "that'\''s not the issue" without exhaustive verification**
|
|
|
|
### 2. WHEN USER SAYS SOMETHING IS WRONG - BELIEVE THEM
|
|
- The user knows their system better than you
|
|
- Investigate thoroughly before disagreeing
|
|
- **Your confidence is often wrong. User'\''s instincts are often right.**
|
|
|
|
### 3. NEVER SAY "DONE" WITHOUT VERIFICATION
|
|
- Run the actual command/script to verify
|
|
- Show the output to the user
|
|
- **"Done" means VERIFIED WORKING, not "I made changes"**
|
|
|
|
### 4. SHOW EXACTLY WHAT USER ASKS FOR
|
|
- If user asks for messages, show the MESSAGES
|
|
- If user asks for code, show the CODE
|
|
- **Do not interpret or summarize unless asked**
|
|
|
|
**FAILURE TO FOLLOW THESE RULES = WASTED USER TIME = UNACCEPTABLE**
|
|
|
|
---
|
|
|
|
'
|
|
|
|
# Create temp file with rules + existing content
|
|
{
|
|
head -1 "$CLAUDE_MD"
|
|
echo ""
|
|
echo "$RULES"
|
|
tail -n +2 "$CLAUDE_MD"
|
|
} > "${CLAUDE_MD}.tmp"
|
|
|
|
mv "${CLAUDE_MD}.tmp" "$CLAUDE_MD"
|
|
echo "$PREFIX Added mandatory behavior rules to CLAUDE.md"
|