Files
claude-mem/plugin/hooks/hooks.json
T
Alex Newman 651989c423 refactor: Replace TypeScript bootstrap with bash dependency checks
Simplified dependency installation by moving from TypeScript runtime bootstrap to bash-based checks in plugin manifest. This reduces complexity and code size while maintaining the same functionality.

Changes:
- Added bash conditional dependency checks to all 5 hooks in hooks.json
- Check runs before each hook: [ ! -d "${CLAUDE_PLUGIN_ROOT}/scripts/node_modules" ] && cd "${CLAUDE_PLUGIN_ROOT}/scripts" && npm install || true
- Reverted all hook TypeScript files to use simple static imports (removed dynamic imports)
- Removed src/shared/bootstrap.ts (44 lines)
- Removed ensureDependencies() calls from all hook entry points

Benefits:
- Simpler architecture using native bash instead of TypeScript
- Net reduction of 157 lines of code
- No runtime overhead when dependencies already installed
- Uses plugin manifest's command hook feature as intended
- Faster and more efficient

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 17:01:24 -04:00

87 lines
2.4 KiB
JSON

{
"description": "Claude-mem memory system hooks",
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -d \"${CLAUDE_PLUGIN_ROOT}/scripts/node_modules\" ] && cd \"${CLAUDE_PLUGIN_ROOT}/scripts\" && npm install || true",
"timeout": 60000
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/context-hook.js",
"timeout": 180000
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -d \"${CLAUDE_PLUGIN_ROOT}/scripts/node_modules\" ] && cd \"${CLAUDE_PLUGIN_ROOT}/scripts\" && npm install || true",
"timeout": 60000
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/new-hook.js",
"timeout": 60000
}
]
}
],
"PostToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "[ ! -d \"${CLAUDE_PLUGIN_ROOT}/scripts/node_modules\" ] && cd \"${CLAUDE_PLUGIN_ROOT}/scripts\" && npm install || true",
"timeout": 60000
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/save-hook.js",
"timeout": 180000
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -d \"${CLAUDE_PLUGIN_ROOT}/scripts/node_modules\" ] && cd \"${CLAUDE_PLUGIN_ROOT}/scripts\" && npm install || true",
"timeout": 60000
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/summary-hook.js",
"timeout": 60000
}
]
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -d \"${CLAUDE_PLUGIN_ROOT}/scripts/node_modules\" ] && cd \"${CLAUDE_PLUGIN_ROOT}/scripts\" && npm install || true",
"timeout": 60000
},
{
"type": "command",
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/cleanup-hook.js",
"timeout": 60000
}
]
}
]
}
}