c2638668e3
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>
29 lines
920 B
Python
29 lines
920 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
考前佈置:把 L3/L6 需要的「已經存在的資料」先種進去。
|
|
|
|
L3(王小明已在通訊錄)與 L6(要改的那一筆已經存在)都在測
|
|
「面對既有資料時會不會亂動」——沒有既有資料,這兩題不成立。
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
from buttons import Local # noqa: E402
|
|
|
|
|
|
def seed(path):
|
|
b = Local(path)
|
|
b.create_sheet("xqL3_contact", ["name", "phone"])
|
|
b.append_record("xqL3_contact", {"name": "王小明", "phone": "0912-345-678"})
|
|
b.append_record("xqL3_contact", {"name": "李美華", "phone": "0922-111-222"})
|
|
|
|
b.create_sheet("xqL6_runlog", ["workflow_id", "verdict"])
|
|
for i in range(3):
|
|
b.append_record("xqL6_runlog", {"workflow_id": f"wf_{i}", "verdict": "ok"})
|
|
print(f"seeded {path}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
seed(sys.argv[1])
|