cli v0.6.0: 설치/업그레이드 시 Claude Code 전역 슬래시 명령 /yakcloud 자동 생성(.claude/commands/yakcloud.md); install.sh·upgrade 가 fetch·최신화
This commit is contained in:
18
bin/yakcloud
18
bin/yakcloud
@ -18,7 +18,7 @@ set -uo pipefail # -e 미사용: 'test && action' 관용구가 값 없을 때
|
||||
|
||||
REPO="${YAKCLOUD_STARTER_REPO:-https://gitea.yakenator.io/yakenator/yakcloud-starter}"
|
||||
BRANCH="${YAKCLOUD_STARTER_BRANCH:-main}"
|
||||
VERSION="0.5.0"
|
||||
VERSION="0.6.0"
|
||||
CONFIG_DIR="${YAKCLOUD_CONFIG_DIR:-$HOME/.config/yakcloud}"
|
||||
CONFIG_FILE="$CONFIG_DIR/config"
|
||||
|
||||
@ -275,6 +275,21 @@ cmd_project_check() {
|
||||
}
|
||||
|
||||
# 전역 CLI 자기 갱신 — 버전이 같아도 항상 최신 파일을 강제로 다시 받아 덮어쓴다(캐시 우회).
|
||||
# Claude Code 전역 슬래시 명령(/yakcloud) 설치/최신화 — 설치·업그레이드 시 함께 실행.
|
||||
# opt-out: YAKCLOUD_NO_CLAUDE_CMD=1. 실패해도 CLI 동작엔 지장 없음(비치명적).
|
||||
install_claude_command() {
|
||||
[ -z "${YAKCLOUD_NO_CLAUDE_CMD:-}" ] || return 0
|
||||
local dir="${CLAUDE_COMMANDS_DIR:-$HOME/.claude/commands}"
|
||||
local bust; bust="$(date +%s 2>/dev/null || echo 0)"
|
||||
if mkdir -p "$dir" 2>/dev/null && \
|
||||
curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \
|
||||
"$REPO/raw/branch/$BRANCH/.claude/commands/yakcloud.md?nocache=$bust" -o "$dir/yakcloud.md" 2>/dev/null; then
|
||||
echo "✓ Claude Code 전역 슬래시 명령 → $dir/yakcloud.md (Claude Code에서 /yakcloud)"
|
||||
else
|
||||
echo " ⚠ /yakcloud 슬래시 명령 설치 건너뜀(무시 가능) — 터미널 yakcloud 는 정상"
|
||||
fi
|
||||
}
|
||||
|
||||
cmd_upgrade() {
|
||||
local self; self="$(command -v yakcloud 2>/dev/null || true)"; [ -n "$self" ] || self="$0"
|
||||
# 심볼릭 링크면 실체 파일을 갱신.
|
||||
@ -292,6 +307,7 @@ cmd_upgrade() {
|
||||
mv "$tmp" "$self" 2>/dev/null || { rm -f "$tmp"; die "설치 실패(권한) — 'DEST=<dir> 재설치' 또는 sudo"; }
|
||||
hash -r 2>/dev/null || true # 셸 명령 해시 캐시 초기화(새 바이너리 즉시 반영)
|
||||
echo "✓ 업그레이드 완료: $before → $("$self" version 2>/dev/null || echo yakcloud)"
|
||||
install_claude_command # /yakcloud 슬래시 명령도 최신화
|
||||
}
|
||||
|
||||
# 기존 프로젝트의 플러밍(엔진·CI·스킬)만 최신화. 앱/매니페스트/Dockerfile 등 사용자 파일은 보존.
|
||||
|
||||
Reference in New Issue
Block a user