mirror of
https://github.com/affaan-m/ECC.git
synced 2026-10-20 06:51:44 +02:00
2.0 KiB
2.0 KiB
description
| description |
|---|
| Get help with the hookify system |
Display comprehensive hookify documentation.
Hook System Overview
Hookify creates rule files that integrate with Claude Code's hook system to prevent unwanted behaviors. ECC's built-in runtime loads these rules automatically while plugin hooks are enabled; installing a separate Hookify plugin is not required.
Event Types
bash: triggers on Bash tool use and matches command patternsfile: triggers on Write/Edit tool use and matches file pathsstop: triggers after each Claude responseprompt: triggers on user message submission and matches input patternsall: triggers on all events
Rule File Format
Files are stored as .claude/hookify.{name}.local.md:
---
name: descriptive-name
enabled: true
event: bash|file|stop|prompt|all
action: block|warn
pattern: "regex pattern to match"
---
Message to display when rule triggers.
Supports multiple lines.
Commands
/hookify [description]creates new rules and auto-analyzes the conversation when no description is given/hookify-listlists configured rules/hookify-configuretoggles rules on or off
Pattern Tips
- use regex syntax
- for
bash, match against the full command string - for
file, match against the file path - test patterns before deploying
- avoid nested quantifiers such as
(a+)+; the runtime rejects unsafe regexes - every regex evaluation also has a 25 ms hard timeout
- malformed or oversized rules fail open with a diagnostic so one bad local rule cannot disable all hooks
- Git-tracked local rules require explicit
ECC_HOOKIFY_ALLOW_TRACKED=1approval
Action Behavior
warnadds the rule message to Claude's context and allows processing to continueblockdenies matching shell/file actions before executionblockon prompt, post-tool, or stop events uses that event's structured block decision- stop rules are skipped when
stop_hook_activeis already true to prevent loops