feat: add setup skill with scripted steps (#258)
Replace inline SKILL.md instructions with executable shell scripts for each setup phase (environment check, deps, container, auth, groups, channels, mounts, service, verify). Scripts emit structured status blocks for reliable parsing. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
62
.claude/skills/setup/scripts/02-install-deps.sh
Executable file
62
.claude/skills/setup/scripts/02-install-deps.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# 02-install-deps.sh — Run npm install and verify key packages
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
||||
LOG_FILE="$PROJECT_ROOT/logs/setup.log"
|
||||
|
||||
mkdir -p "$PROJECT_ROOT/logs"
|
||||
|
||||
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] [install-deps] $*" >> "$LOG_FILE"; }
|
||||
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
log "Running npm install"
|
||||
|
||||
if npm install >> "$LOG_FILE" 2>&1; then
|
||||
log "npm install succeeded"
|
||||
else
|
||||
log "npm install failed"
|
||||
cat <<EOF
|
||||
=== NANOCLAW SETUP: INSTALL_DEPS ===
|
||||
PACKAGES: failed
|
||||
STATUS: failed
|
||||
ERROR: npm_install_failed
|
||||
LOG: logs/setup.log
|
||||
=== END ===
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verify key packages
|
||||
MISSING=""
|
||||
for pkg in @whiskeysockets/baileys better-sqlite3 pino qrcode; do
|
||||
if [ ! -d "$PROJECT_ROOT/node_modules/$pkg" ]; then
|
||||
MISSING="$MISSING $pkg"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$MISSING" ]; then
|
||||
log "Missing packages after install:$MISSING"
|
||||
cat <<EOF
|
||||
=== NANOCLAW SETUP: INSTALL_DEPS ===
|
||||
PACKAGES: failed
|
||||
STATUS: failed
|
||||
ERROR: missing_packages:$MISSING
|
||||
LOG: logs/setup.log
|
||||
=== END ===
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "All key packages verified"
|
||||
|
||||
cat <<EOF
|
||||
=== NANOCLAW SETUP: INSTALL_DEPS ===
|
||||
PACKAGES: installed
|
||||
STATUS: success
|
||||
LOG: logs/setup.log
|
||||
=== END ===
|
||||
EOF
|
||||
Reference in New Issue
Block a user