diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 00000000..476c959a --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then + exit 0 +fi + +pip install -r requirements.txt -r requirements-test.txt --quiet --ignore-installed + +echo 'export DATASTORE_EMULATOR_HOST=localhost:8081' >> "$CLAUDE_ENV_FILE" diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 00000000..e06b0338 --- /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 1865c288..6ad095e5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ __pycache__/ /ide/flask_secret.py /build-tools/Uglify-ES/uglify-es/package-lock.json .env -.claude +# .claude is excluded on main — do NOT merge this line's removal back to main +!.claude/