Files
2026-07-13 13:11:15 +08:00

58 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
LIST_SKILLS_SCRIPT="$REPO_ROOT/scripts/utils/list-skills.sh"
UTILS_SCRIPT="$SCRIPT_DIR/symlink-utils.sh"
MODE="write"
usage() {
cat <<'EOF'
Usage:
scripts/dev/setup-plugin-symlink.sh [--check]
Sets up plugins/cad/skills as symlinks to root skills/* for development.
Options:
--check Verify plugin development symlinks are intact without changing files.
-h, --help Show this help.
EOF
}
while [ "$#" -gt 0 ]; do
case "$1" in
--check)
MODE="check"
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown argument: $1" >&2
usage >&2
exit 2
;;
esac
shift
done
if [ ! -x "$LIST_SKILLS_SCRIPT" ]; then
echo "Missing skill list script: $LIST_SKILLS_SCRIPT" >&2
exit 1
fi
# shellcheck source=scripts/dev/symlink-utils.sh
source "$UTILS_SCRIPT"
cd "$REPO_ROOT"
if [ "$MODE" != "check" ]; then
mkdir -p "plugins/cad/skills"
fi
while IFS= read -r skill; do
setup_link "$MODE" "plugins/cad/skills/$skill" "../../../skills/$skill"
done < <("$LIST_SKILLS_SCRIPT")