Files
ISEP/scripts/stage-ok.sh
Leo c2638668e3 ISEP 0.1.0:環境設定收成一個 plugin,本機與雲端共用一份
leo 2026-08-20:「同一個 plugin 你用,薄殼也用,保證兩邊同步」
              「我要你幫雲端做薄殼,永遠都有問題,你要做的就是這組設定
                你自己可以 dogfooding」

搬進來:41 支 hook(51 條註冊)/7 支 command/2 支 skill/23 支腳本。
不搬 .env、wiki、docs——那些是知識不是環境。

51 條 hook 路徑全部從 $CLAUDE_PROJECT_DIR/.claude/hooks/ 改成 ${CLAUDE_PLUGIN_ROOT}/hooks/,
零漏網。那正是薄殼一直壞掉的根:雲端 cwd 不是真身,寫死路徑就斷。

尚未驗證:Claude Code 能不能從私有 Gitea repo 裝 marketplace(要憑證)。
下一步就是在本機實際裝一次,通了才動雲端 bootstrap.sh。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 11:41:46 +08:00

55 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
# stage-ok.sh — **leo 親自確認 stage 沒問題**。出貨的第二把鑰匙。
#
# 🔴 為什麼有這支(leo 2026-08-08,同一天講了兩次):
# 「以後你在 stage 驗證後**要交給我驗證**,如果 stage 完全沒問題,**才能推 prod**,
# 今天你沒給我看 stage,**我應該在 stage 安裝一次確認成功**。」
# 「**你自己的測試就是有問題,為什麼推 prod**」
#
# 那天發生什麼(這支存在的理由,別刪這段):
# 總管宣稱「stage 五項驗收全通」就推了 prod。但那五項全是
# **API 回應、JSON 欄位、頁面原始碼裡有沒有某個字串**——
# **沒有任何一項是「人能不能登進去」**。
# 當晚 leo 真的去按登入,看到「連線中斷——請檢查網路後重試」;
# 總管自己的瀏覽器 probe 也是同一個失敗。
# ⇒ **我的驗證方式對「這東西能不能用」是結構性失明的**,
# 再多自我驗證也補不上——只有真人走一遍才補得上。
#
# ⇒ 出貨從此要兩把鑰匙,**都在 leo 手上**:
# ① 本支:他在 stage 真的裝一次/用一次,確認沒問題
# ② github-arm.sh:發射保險
# 總管**兩把都造不出來**,這是刻意的。
#
# 用法(leo 跑):
# scripts/stage-ok.sh "<你在 stage 確認了什麼>" [有效小時數,預設 6]
set -eu
NOTE="${1:-}"
HOURS="${2:-6}"
if [ -z "$NOTE" ]; then
cat >&2 <<'EOF'
用法:scripts/stage-ok.sh "<你在 stage 確認了什麼>" [有效小時數,預設 6]
例:
scripts/stage-ok.sh "stage 裝了一次,能登入、首頁數字對得起來、匯出診斷檔正常" 6
📌 這是「**你**在 stage 上親自確認過」的紀錄,不是 AI 的自我驗證。
AI 造不出這個檔——那是刻意的。
EOF
exit 1
fi
STAMP=/tmp/.stage-ok-by-leo
now=$(date +%s)
{
echo "$now"
echo "$NOTE"
echo "confirmed_at=$(date '+%Y-%m-%d %H:%M:%S')"
echo "valid_hours=$HOURS"
} > "$STAMP"
echo "✅ 已記錄:leo 在 stage 確認過,有效 ${HOURS} 小時"
echo " 內容:$NOTE"
echo " 撤銷:rm $STAMP"