diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 0000000..a07dd5c --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -euo pipefail + +# Only run in remote (web) environments +if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then + exit 0 +fi + +# Install dependencies +cd "$CLAUDE_PROJECT_DIR" +npm install diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..e06b033 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,14 @@ +{ + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh" + } + ] + } + ] + } +} diff --git a/.gitignore b/.gitignore index 61820dd..b513c11 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,8 @@ dist/ .dev.vars *.log *.mcpb -.claude \ No newline at end of file +# Allow .claude/settings.json and hooks to be committed +!.claude/ +.claude/* +!.claude/settings.json +!.claude/hooks/ \ No newline at end of file