commands/hookify-help.md
Rama main · réplica de lectura del repositorio original.
---
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 patterns
- `file`: triggers on Write/Edit tool use and matches file paths
- `stop`: triggers after each Claude response
- `prompt`: triggers on user message submission and matches input patterns
- `all`: triggers on all events
### Rule File Format
Files are stored as `.claude/hookify.{name}.local.md`:
```yaml
---
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-list` lists configured rules
- `/hookify-configure` toggles 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=1` approval
### Action Behavior
- `warn` adds the rule message to Claude's context and allows processing to continue
- `block` denies matching shell/file actions before execution
- `block` on prompt, post-tool, or stop events uses that event's structured block decision
- stop rules are skipped when `stop_hook_active` is already true to prevent loops