Files
system-dev-template/CHANGELOG.md
T
Leo c0a6b6a465 fix: update.sh 不再覆蓋客製 pre-write-guard.sh(issue #3)+ bump 1.3.1
update.sh 原把 pre-write-guard.sh 列在無條件覆蓋區,會用模板空殼
無聲蓋掉下游已客製的 guardrail,且 update_file 無 .bak 備份。

改法(issue 方案 1):新增 keep_with_template()——原檔永不覆蓋,
最新模板版另存 pre-write-guard.template.sh 旁邊,結尾印 diff 指令供採納。
首次安裝(原檔不存在)才走 update_file 抓本體。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 20:47:46 +08:00

5.2 KiB
Raw Blame History

更新紀錄 CHANGELOG

每次改了什麼,都記在這。版號對應 template/.claude/VERSION。 想更新到最新版?看 README → 一鍵更新

版號規則(語意化版本,簡化版):

  • 大版號(1.x → 2.x):破壞性變動,舊專案更新後可能要手動調整。
  • 中版號(1.0 → 1.1):加了新功能,向下相容,更新即用。
  • 小版號1.1.0 → 1.1.1):修 bug、改文件,無新功能。

1.3.1 — 修:update.sh 不再覆蓋客製的 pre-write-guard.shissue #3

修正

  • scripts/update.sh 原本把 pre-write-guard.sh 列在「覆蓋更新」區,無條件用模板空殼蓋掉。 但此檔的定位是「使用者手填的 guardrail 客製檔」(CHANGELOG 1.2.0),下游通常已塞滿自己的 enforcementupdate_file 覆蓋.bak 備份——跑一次 update 等於無聲關掉整套 guardrail(如 Arcrun 的 KNOWN_SDDS 白名單、薄殼原則強制等數百行)。
  • 改法(issue 建議方案 1):新增 keep_with_template(),把 pre-write-guard.sh 移出覆蓋區。 原檔永不覆蓋,改把最新模板版另存成 pre-write-guard.template.sh 旁邊,更新結尾印出 diff 指令供使用者自行採納。 首次安裝(原檔不存在)才會直接抓本體。install.sh 路徑本就用 download_if_missing(已存在即跳過),無此問題。

1.3.0 — vault 偵測(Logseq / Obsidian+ Cowork 整理 skill

新增

  • install.sh 在建立 CLAUDE.md自動偵測資料夾類型,把對應的「原始文件來源(raw source)」寫進 CLAUDE.md
    • logseq/ → raw source pages/journals/
    • .obsidian/ → raw source 根目錄下所有 .md
    • 都沒有 → docs/(維持原行為) 寫入的宣告是給 AI 讀的指令,對 vault 明令不得搬動/改名/重新分類 .md,整理結果一律只寫進 .claude/wiki/, 面對筆記 vault 不會破壞它原本的結構。已有 CLAUDE.md 一律不覆蓋,改在結尾列出該補的宣告提醒手動貼。
  • docs/SKILL.md:給 claude.ai Coworkwiki-cowork-scan skill。 與 CC 的 /wiki-init/wiki-capture 共用同一套規則,用與 install.sh 一致的偵測邏輯掃描 ~/Documents 下所有裝了本模板的資料夾,只讀 raw source、只往 .claude/wiki/ 增補(不覆蓋、不刪除), 絕不動 raw source、CLAUDE.mdlogseq/.obsidian/assets/。讓整理 wiki 不再只限終端機裡的 CC。

變更

  • README 新增「不只程式碼,也認得 Logseq / Obsidian vault」「Cowork 也能整理 wiki」兩節,並更新目錄樹。

1.2.0 — GitHub issue 指引 + pre-write-guard 定位釐清

新增

  • /issue-handle slash commandtemplate/.claude/commands/issue-handle.md): CC 處理 GitHub issue 的普世指引,三層界線—— ①讀/回/結案自己 repo 的 issue(直接做); ②發 issue 給別的 repo(先問人,不擅自); ③禁止掛 Actions/cron/webhook 自動輪詢 issue(會觸發 GitHub 異常偵測、被 rate limit)。 屬共用指引,install/update 不分模組都裝。(issue #1

變更

  • pre-write-guard.sh 釐清定位(issue #2):它是「按需手填的空插槽」,不是裝上就生效的警察。
    • 檔頭明講:有 CC 在場時,直接叫 CC 寫貼合的 guard hook 更好,這個空殼範本只對「手動 DIY」用戶有價值。
    • 解決安全錯覺:install.sh / update.sh 安裝它時提示「預設不攔任何東西,要手填+掛 settings 才生效」, 讓用戶不會誤以為裝了就有保護。(hook 執行時維持安靜,避免每次 Write 洗版。)

1.1.0 — 一鍵更新

新增

  • scripts/update.sh:已安裝舊版的人,一行指令更新到最新版。 只覆蓋模板/邏輯檔(hooks、commands、TEMPLATE-*),完全不碰使用者資料 wiki/status.mdmistakes.mddecisions-summary.md.wikiignoresettings.jsonCLAUDE.md)。 會先比對版本、列出新功能、依已裝模組自動偵測該更新什麼,跑完自我更新。
  • template/.claude/VERSION:版本基準檔,讓「檢查新版」有依據。
  • CHANGELOG.md(本檔)。

第一次更新的雞生蛋問題:舊版本機還沒有 update.sh,所以第一次靠 README 那行 curl 從遠端抓更新器來跑;跑完它把自己裝進 scripts/update.sh,之後直接跑本機的即可。


1.0.0 — 模組化安裝(基準版)

此版本之前無 VERSION 檔,以下為依 git 歷史回溯的功能基準。

  • scripts/install.sh 模組化安裝:--wiki / --sdd / --all,無參數則互動詢問。
  • LLM WikiCC 記憶系統(INDEX / status / mistakes / decisions-summary
    • 接關 hooksession-start-recall+ 對應 slash commands。
  • wiki 機敏防護三層.wikiignore(檔案層)+行內標記(局部)+ wiki-secret-scan.sh(機械兜底攔截)。
  • SDD 強制:動 code 前必須有 design.md,由 sdd-guard.sh hook 把關,附 TEMPLATE 範本。
  • docs 分類結構(1-vision ~ 6-user)與 ADR 範本。