#!/usr/bin/env sh # yakcloud CLI 설치 — PATH 의 bin 디렉터리에 내려받는다. # curl -fsSL https://gitea.yakenator.io/yakenator/yakcloud-starter/raw/branch/main/install.sh | sh # 설치 위치 변경: DEST=/usr/local/bin sh install.sh set -e REPO="${YAKCLOUD_STARTER_REPO:-https://gitea.yakenator.io/yakenator/yakcloud-starter}" BRANCH="${YAKCLOUD_STARTER_BRANCH:-main}" DEST="${DEST:-$HOME/.local/bin}" mkdir -p "$DEST" echo "▸ yakcloud CLI 설치 → $DEST/yakcloud" # 캐시 우회(no-cache + 캐시버스터) — 항상 최신 bin 획득. BUST="$(date +%s 2>/dev/null || echo 0)" curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \ "$REPO/raw/branch/$BRANCH/bin/yakcloud?nocache=$BUST" -o "$DEST/yakcloud" chmod +x "$DEST/yakcloud" # 전역 엔진(deploy/ctl/dev.py) → ~/.config/yakcloud/lib — 프로젝트에 복제하지 않는다(전역 1벌). LIB_DIR="${YAKCLOUD_LIB_DIR:-$HOME/.config/yakcloud/lib}" mkdir -p "$LIB_DIR" for n in deploy ctl dev; do curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \ "$REPO/raw/branch/$BRANCH/.yakcloud/$n.py?nocache=$BUST" -o "$LIB_DIR/$n.py" 2>/dev/null \ || echo " ⚠ 엔진 $n 다운로드 실패(무시 가능 — CLI 가 자동 재시도)" done echo "✓ 엔진 설치 → $LIB_DIR (deploy/ctl/dev.py)" # Claude Code 전역 스킬 + 슬래시 명령(/yakcloud) 설치 — opt-out: YAKCLOUD_NO_CLAUDE_CMD=1 if [ -z "${YAKCLOUD_NO_CLAUDE_CMD:-}" ]; then SKILL_DIR="${CLAUDE_SKILLS_DIR:-$HOME/.claude/skills}/yakcloud-deploy" CMD_DIR="${CLAUDE_COMMANDS_DIR:-$HOME/.claude/commands}" mkdir -p "$SKILL_DIR" "$CMD_DIR" 2>/dev/null || true curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \ "$REPO/raw/branch/$BRANCH/.claude/skills/yakcloud-deploy/SKILL.md?nocache=$BUST" -o "$SKILL_DIR/SKILL.md" 2>/dev/null \ && echo "✓ 배포 스킬 설치 → $SKILL_DIR/SKILL.md" || echo " ⚠ 스킬 설치 건너뜀(무시 가능)" curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \ "$REPO/raw/branch/$BRANCH/.claude/commands/yakcloud.md?nocache=$BUST" -o "$CMD_DIR/yakcloud.md" 2>/dev/null \ && echo "✓ /yakcloud 슬래시 명령 설치 → $CMD_DIR/yakcloud.md" || echo " ⚠ 슬래시 명령 설치 건너뜀(무시 가능)" fi echo "✓ 완료. PATH 에 $DEST 가 있는지 확인하세요:" echo ' export PATH="$HOME/.local/bin:$PATH"' echo " 터미널: yakcloud project init my-app → 개발 → yakcloud project deploy" echo " Claude Code: /yakcloud project init my-app (전역 슬래시 명령)"