mirror of
https://github.com/affaan-m/ECC.git
synced 2026-10-15 12:45:29 +02:00
112 lines
3.3 KiB
JSON
112 lines
3.3 KiB
JSON
{
|
|
"version": 1,
|
|
"hooks": {
|
|
"sessionStart": [
|
|
{
|
|
"command": "node .cursor/hooks/session-start.js",
|
|
"event": "sessionStart",
|
|
"description": "Set the Cursor data root, load previous context, and detect the environment"
|
|
}
|
|
],
|
|
"sessionEnd": [
|
|
{
|
|
"command": "node .cursor/hooks/session-end.js",
|
|
"event": "sessionEnd",
|
|
"description": "Persist session state and evaluate patterns"
|
|
}
|
|
],
|
|
"beforeShellExecution": [
|
|
{
|
|
"command": "node .cursor/hooks/before-shell-execution.js",
|
|
"event": "beforeShellExecution",
|
|
"description": "Dispatch git hook-bypass protection, dev-server blocking, tmux reminders, and git push review"
|
|
}
|
|
],
|
|
"afterShellExecution": [
|
|
{
|
|
"command": "node .cursor/hooks/after-shell-execution.js",
|
|
"event": "afterShellExecution",
|
|
"description": "PR URL logging, build analysis"
|
|
}
|
|
],
|
|
"afterFileEdit": [
|
|
{
|
|
"command": "node .cursor/hooks/after-file-edit.js",
|
|
"event": "afterFileEdit",
|
|
"description": "Accumulate JS/TS edits, warn on console.log, and run the frontend design-quality reminder"
|
|
}
|
|
],
|
|
"beforeMCPExecution": [
|
|
{
|
|
"command": "node .cursor/hooks/before-mcp-execution.js",
|
|
"event": "beforeMCPExecution",
|
|
"description": "MCP audit logging and untrusted server warning"
|
|
}
|
|
],
|
|
"afterMCPExecution": [
|
|
{
|
|
"command": "node .cursor/hooks/after-mcp-execution.js",
|
|
"event": "afterMCPExecution",
|
|
"description": "MCP result logging"
|
|
}
|
|
],
|
|
"beforeReadFile": [
|
|
{
|
|
"command": "node .cursor/hooks/before-read-file.js",
|
|
"event": "beforeReadFile",
|
|
"description": "Warn when reading sensitive files (.env, .key, .pem)"
|
|
}
|
|
],
|
|
"beforeSubmitPrompt": [
|
|
{
|
|
"command": "node .cursor/hooks/before-submit-prompt.js",
|
|
"event": "beforeSubmitPrompt",
|
|
"description": "Detect secrets in prompts (sk-, ghp_, AKIA patterns)"
|
|
}
|
|
],
|
|
"subagentStart": [
|
|
{
|
|
"command": "node .cursor/hooks/subagent-start.js",
|
|
"event": "subagentStart",
|
|
"description": "Log agent spawning for observability"
|
|
}
|
|
],
|
|
"subagentStop": [
|
|
{
|
|
"command": "node .cursor/hooks/subagent-stop.js",
|
|
"event": "subagentStop",
|
|
"description": "Log agent completion"
|
|
}
|
|
],
|
|
"beforeTabFileRead": [
|
|
{
|
|
"command": "node .cursor/hooks/before-tab-file-read.js",
|
|
"event": "beforeTabFileRead",
|
|
"description": "Block Tab from reading secrets (.env, .key, .pem, credentials)"
|
|
}
|
|
],
|
|
"afterTabFileEdit": [
|
|
{
|
|
"command": "node .cursor/hooks/after-tab-file-edit.js",
|
|
"event": "afterTabFileEdit",
|
|
"description": "Auto-format Tab edits"
|
|
}
|
|
],
|
|
"preCompact": [
|
|
{
|
|
"command": "node .cursor/hooks/pre-compact.js",
|
|
"event": "preCompact",
|
|
"description": "Save state before context compaction"
|
|
}
|
|
],
|
|
"stop": [
|
|
{
|
|
"command": "node .cursor/hooks/stop.js",
|
|
"event": "stop",
|
|
"description": "Batch format and typecheck edits, audit console.log usage, and persist session state",
|
|
"timeout": 300
|
|
}
|
|
]
|
|
}
|
|
}
|