#!/bin/sh set -eu ROOT="$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)" need_cmd() { if ! command -v "$1" >/dev/null 2>&1; then echo "missing required command: $1" >&2 exit 1 fi } need_cmd python3 need_cmd docker need_cmd node cd "$ROOT" echo "[1/4] compile collector-service" python3 -m compileall collector-service/app >/dev/null echo "[2/4] validate docker compose" docker compose config >/dev/null echo "[3/4] validate n8n workflows" python3 - <<'PY' import json import pathlib for path in sorted(pathlib.Path("n8n/workflows").glob("*.json")): with path.open() as handle: json.load(handle) print(f"workflow ok: {path.name}") PY echo "[4/4] validate web scripts" for file in web/storyforge-web-v4/assets/app.js web/storyforge-web-v4/assets/storyforge-*.js; do node --check "$file" done node --check scripts/douyin-browser-capture/control_panel.mjs echo "baseline checks passed"