#!/usr/bin/env bash set -euo pipefail ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) SOURCE_DIR="${ROOT_DIR}/codex/scripts" TARGETS=( "claude-code" "opencode" "pi" ) replace_dir() { local source=$1 local target=$2 if [[ -z "$target" || "$target" == "/" || "$target" == "." || "$target" == ".." ]]; then echo "Refusing to sync into unsafe target: $target" >&2 exit 1 fi case "$target" in "${ROOT_DIR}"/*) ;; *) echo "Refusing to remove target outside root: $target" >&2 exit 1 ;; esac rm -rf "$target" mkdir -p "$target" cp -R "${source}/." "$target/" } if [[ ! -d "$SOURCE_DIR" ]]; then echo "Missing canonical source directory: $SOURCE_DIR" >&2 exit 1 fi for variant in "${TARGETS[@]}"; do replace_dir "$SOURCE_DIR" "${ROOT_DIR}/${variant}/scripts" done echo "Synced web-automation scripts from codex into ${#TARGETS[@]} variant directories."