跳到主內容

Theme / v1.16.0

OpenSpec

規格驅動開發

基礎觀念

v1.14.3:Linked specs 與更安全的 globs

🟡 中階|掌握 OpenSpec v1.14.3 的三個主軸:spec.md 可 symlink 到專案其他地方、glob artifact 寫入前路徑檢查(防離開 change 目錄)、移除 braces 依賴與修復 validate 在 pre-commit hooks 掛住。含互動測驗與檢查清單。

概述

OpenSpec v1.14.3(2026-10-17 發布,單一 release)官方標題「Linked specs, safer globs」。官方自述:這個 release 接受從專案其他地方連入的 spec 檔案、移除一個一直讓安全審計失敗的依賴、並修復 pre-commit hooks 裡的 validate 掛住。

Linked spec files:spec 可以住在文件旁

capability 的 spec.md 現在可以是指向專案其他地方的 symlink (符號連結)——例如放在它所屬的產品文件旁,讓規格與文件住在一起、用文件工作流維護。openspec list --specs、openspec show、openspec validate 與 openspec archive 都接受這種連結。

邊界不變:解析到專案外的連結仍然被拒絕。

Glob artifacts 留在 change 內:寫入前的路徑檢查

propose、ff、continue、explore 四個工作流,現在會在任何人寫入之前先選定並檢查 glob artifact 的檔案路徑——包括 schema 委派給 skill 或 command 建立的情形。直接或透過 symlink 離開 change 目錄的路徑一律拒絕。

這是路徑安全的收緊:artifact 只能落在它該在的地方。

不再有 braces 審計警告

安裝 OpenSpec 不再拉入未修補的 braces 套件——你專案的 npm audit 不再透過 OpenSpec 回報 GHSA-vfj7-8cjw-p6xm。

修復

  • validate --all 在 hooks 掛住:某些 pre-commit runner 提供零欄(zero columns)的 terminal,spinner 會無限迴圈寫 cursor escape。修復後不再發生;OPEN_SPEC_INTERACTIVE=0 與 CI 環境也會關閉 spinner。
  • 超寬 brace pattern 拒絕:generates pattern 的花括號展開超過 1,024 條路徑時,以明確錯誤拒絕——不再讓 openspec status 耗盡記憶體(OOM)。
隨堂測驗

v1.14.3 之後,一個解析到「專案外」的 spec.md symlink 會怎樣?

💡 想先看個提示?

放寬與拒絕的邊界畫在「專案」這條線上。

動手升級檢查清單

升級 v1.14.3:動手檢查清單

逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)

0 / 4

延伸閱讀