Stats
Actions
Tags
Help us improve
Share bugs, ideas, or general feedback.
From aura-frog
Security and workflow hooks: blocks destructive bash (rm -rf, shutdown), scouts tools, warns on security-critical writes/edits, logs commands, tracks metrics/rate-limits/phase-checkpoints across 9 events. Uses bash/node, touches files.
9 events · 33 hooks
npx claudepluginhub nguyenthienthanh/aura-frog --plugin aura-frogSafety signals detected in this hook configuration
Where this hook configuration is defined
Defined in hooks/hooks.json
Event handlers and matchers — expand Raw Configuration for the full JSON
node "${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs" 2>&1if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/session-metrics.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/rate-limit-check.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs" --pre-compact 2>&1Bash|Read|Write|Edit|Glob|Grepnode "${CLAUDE_PLUGIN_ROOT}/hooks/scout-block.cjs"Bashif echo "$CLAUDE_TOOL_INPUT" | grep -qE '(rm -rf /|mkfs|dd if=|:(){|fork|shutdown|reboot|halt)'; then echo '⚠️ Blocked: Potentially destructive command detected' >&2; exit 2; finode "${CLAUDE_PLUGIN_ROOT}/hooks/commit-attribution.cjs"Write|Editif [ ! -f .claude/project-contexts/*/project-config.yaml ]; then echo '💡 Reminder: Run project:init to create project context before generating code' >&2; finode "${CLAUDE_PLUGIN_ROOT}/hooks/security-critical-warn.cjs"node "${CLAUDE_PLUGIN_ROOT}/hooks/phase-checkpoint.cjs" 2>&1Bashif [ -d .claude/logs/workflows ]; then echo "[$(date '+%Y-%m-%d %H:%M:%S')] Bash: $CLAUDE_TOOL_INPUT" >> .claude/logs/workflows/commands.log; fiif [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/smart-learn.cjs" 2>&1Readif [ -n "$CLAUDE_FILE_PATHS" ] && [ -f "$CLAUDE_FILE_PATHS" ]; then FILE_LINES=$(wc -l < "$CLAUDE_FILE_PATHS" 2>/dev/null || echo 0); if [ "$FILE_LINES" -gt 500 ]; then echo "📄 Large file ($FILE_LINES lines). Consider using response-analyzer skill for chunked reading." >&2; fi; fiWrite|Editif [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/feedback-capture.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/lint-autofix.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/security-scan.cjs"if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/auto-test-runner.cjs"if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/smart-learn.cjs" 2>&1Bash|Read|Write|Edit|Glob|Grep|Tasknode "${CLAUDE_PLUGIN_ROOT}/hooks/token-tracker.cjs"if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/firebase-cleanup.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/workflow-edit-learn.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs" --resume 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/update-check.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/changelog-notify.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/test-pattern-extractor.cjs" 2>&1*node "${CLAUDE_PLUGIN_ROOT}/hooks/teammate-idle.cjs"*node "${CLAUDE_PLUGIN_ROOT}/hooks/subagent-init.cjs"*node "${CLAUDE_PLUGIN_ROOT}/hooks/task-completed.cjs"node "${CLAUDE_PLUGIN_ROOT}/hooks/thinking-boost.cjs"node "${CLAUDE_PLUGIN_ROOT}/hooks/prompt-reminder.cjs"if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node "${CLAUDE_PLUGIN_ROOT}/hooks/auto-learn.cjs" 2>&1node "${CLAUDE_PLUGIN_ROOT}/hooks/scope-drift.cjs"Share bugs, ideas, or general feedback.