- Add PreToolUse(Bash) hook: detects `git commit` commands, fires on_pre_commit.py in background to capture staged changes as memory - Add Setup(init|maintenance) hook: installs mem0ai SDK on first plugin install via ensure_deps.sh (120s timeout for slow networks) - Add on_git_commit_capture.sh wrapper: reads tool input JSON, matches git commit/merge/rebase, runs capture script fire-and-forget - Fix #24: add metadata.last_accessed ISO timestamp to access counter instructions in mem0-mcp/SKILL.md alongside existing access_count
118 lines
2.7 KiB
JSON
118 lines
2.7 KiB
JSON
{
|
|
"hooks": {
|
|
"Setup": [
|
|
{
|
|
"matcher": "init|maintenance",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/ensure_deps.sh",
|
|
"statusMessage": "Installing mem0 SDK...",
|
|
"timeout": 120
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "diff -q \"${CLAUDE_PLUGIN_ROOT}/requirements.txt\" \"${CLAUDE_PLUGIN_DATA}/requirements.txt\" >/dev/null 2>&1 || \"${CLAUDE_PLUGIN_ROOT}/scripts/ensure_deps.sh\"",
|
|
"statusMessage": "Installing mem0 SDK...",
|
|
"timeout": 60
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "startup|resume|compact",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_session_start.sh",
|
|
"statusMessage": "Loading mem0 context..."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Write|Edit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/block_memory_write.sh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_git_commit_capture.sh",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "mcp__mem0__",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_post_tool_use.sh",
|
|
"timeout": 3
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreCompact": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_pre_compact.sh",
|
|
"statusMessage": "Preparing pre-compaction summary..."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_stop.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_user_prompt.sh",
|
|
"statusMessage": "Checking memory relevance...",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"TaskCompleted": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/on_task_completed.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|