Skip to content

Commit a841938

Browse files
authored
ci: add SessionStart hook to install Node.js 24 for web sessions (#103)
1 parent bde1362 commit a841938

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

.claude/hooks/session-start.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
# Only run in remote (web) environments
5+
if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
6+
exit 0
7+
fi
8+
9+
# Load nvm
10+
export NVM_DIR="${NVM_DIR:-/opt/nvm}"
11+
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
12+
13+
# Install and use Node.js 24
14+
nvm install 24
15+
nvm alias default 24
16+
17+
# Make Node.js 24 available for this session
18+
echo 'export NVM_DIR="${NVM_DIR:-/opt/nvm}"' >> "$CLAUDE_ENV_FILE"
19+
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> "$CLAUDE_ENV_FILE"
20+
echo 'nvm use 24 > /dev/null 2>&1' >> "$CLAUDE_ENV_FILE"
21+
22+
# Install dependencies
23+
cd "$CLAUDE_PROJECT_DIR"
24+
pnpm install

.claude/settings.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
{
22
"hooks": {
3+
"SessionStart": [
4+
{
5+
"hooks": [
6+
{
7+
"type": "command",
8+
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh"
9+
}
10+
]
11+
}
12+
],
313
"PostToolUse": [
414
{
515
"matcher": "Write|Edit",

0 commit comments

Comments
 (0)