scripts/setup.sh
scripts/setup.shBrowse 17 files
759 tokens
2,475 bytes
Token encoding: o200k_base
Snapshot 24fd22b
← Back to SKILL.md
1#!/bin/bash2# p5.js Skill — Dependency Verification3# Run: bash skills/creative/p5js/scripts/setup.sh4 5set -euo pipefail6 7RED='\033[0;31m'8GREEN='\033[0;32m'9YELLOW='\033[1;33m'10NC='\033[0m'11 12ok() { echo -e "${GREEN}[OK]${NC} $1"; }13warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }14fail() { echo -e "${RED}[FAIL]${NC} $1"; }15 16echo "=== p5.js Skill — Setup Check ==="17echo ""18 19# Required: Node.js (for Puppeteer headless export)20if command -v node &>/dev/null; then21 NODE_VER=$(node -v)22 ok "Node.js $NODE_VER"23else24 warn "Node.js not found — optional, needed for headless export"25 echo " Install: https://nodejs.org/ or 'brew install node'"26fi27 28# Required: npm (for Puppeteer install)29if command -v npm &>/dev/null; then30 NPM_VER=$(npm -v)31 ok "npm $NPM_VER"32else33 warn "npm not found — optional, needed for headless export"34fi35 36# Optional: Puppeteer37if node -e "require('puppeteer')" 2>/dev/null; then38 ok "Puppeteer installed"39else40 warn "Puppeteer not installed — needed for headless export"41 echo " Install: npm install puppeteer"42fi43 44# Optional: ffmpeg (for MP4 encoding from frame sequences)45if command -v ffmpeg &>/dev/null; then46 FFMPEG_VER=$(ffmpeg -version 2>&1 | head -1 | awk '{print $3}')47 ok "ffmpeg $FFMPEG_VER"48else49 warn "ffmpeg not found — needed for MP4 export"50 echo " Install: brew install ffmpeg (macOS) or apt install ffmpeg (Linux)"51fi52 53# Optional: Python3 (for local server)54if command -v python3 &>/dev/null; then55 PY_VER=$(python3 --version 2>&1 | awk '{print $2}')56 ok "Python $PY_VER (for local server: python3 -m http.server)"57else58 warn "Python3 not found — needed for local file serving"59fi60 61# Browser check (macOS)62if [[ "$(uname)" == "Darwin" ]]; then63 if open -Ra "Google Chrome" 2>/dev/null; then64 ok "Google Chrome found"65 elif open -Ra "Safari" 2>/dev/null; then66 ok "Safari found"67 else68 warn "No browser detected"69 fi70fi71 72echo ""73echo "=== Core Requirements ==="74echo " A modern browser (Chrome/Firefox/Safari/Edge)"75echo " p5.js loaded via CDN — no local install needed"76echo ""77echo "=== Optional (for export) ==="78echo " Node.js + Puppeteer — headless frame capture"79echo " ffmpeg — frame sequence to MP4"80echo " Python3 — local development server"81echo ""82echo "=== Quick Start ==="83echo " 1. Create an HTML file with inline p5.js sketch"84echo " 2. Open in browser: open sketch.html"85echo " 3. Press 's' to save PNG, 'g' to save GIF"86echo ""87echo "Setup check complete."88