Incorporates 78 upstream commits while preserving all local fork intent: - Keep deleted: dhh-rails, kieran-rails, dspy-ruby, andrew-kane-gem-writer (FastAPI pivot) - Merge both: ce-review (zip-agent-validator + design-conformance-reviewer wiring), kieran-python-reviewer (upstream pipeline + FastAPI conventions), ce-brainstorm/ce-plan/ce-work (upstream improvements + deploy wiring checks), todo-create (upstream template refs + assessment block), best-practices-researcher (upstream rename + FastAPI refs) - Accept remote: 142 remote-only files, plugin.json, README.md - Keep local: 71 local-only files (custom agents, skills, commands, voice) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# First-time setup for excalidraw-png-export skill.
|
|
# Installs playwright and chromium headless into a dedicated directory.
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
EXPORT_DIR="$SCRIPT_DIR/.export-runtime"
|
|
|
|
if [ -d "$EXPORT_DIR/node_modules/playwright" ]; then
|
|
echo "Runtime already installed at $EXPORT_DIR"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Installing excalidraw-png-export runtime..."
|
|
mkdir -p "$EXPORT_DIR"
|
|
cd "$EXPORT_DIR"
|
|
|
|
# Initialize package.json with ESM support
|
|
cat > package.json << 'PACKAGEEOF'
|
|
{
|
|
"name": "excalidraw-export-runtime",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"private": true
|
|
}
|
|
PACKAGEEOF
|
|
|
|
npm install playwright 2>&1
|
|
npx playwright install chromium 2>&1
|
|
|
|
# canvas provides accurate text measurement for convert.mjs.
|
|
# Requires Cairo native library: brew install pkg-config cairo pango libpng jpeg giflib librsvg
|
|
# Falls back to heuristic sizing if unavailable.
|
|
npm install canvas 2>&1 || echo "WARN: canvas install failed (missing Cairo?). Heuristic text sizing will be used."
|
|
|
|
echo "Setup complete. Runtime installed at $EXPORT_DIR"
|