Theme / v1.14.0

OpenSpec

規格驅動開發

基礎觀念

v1.14.0:十個新工具與 Archived Changes

v1.13.2 → v1.14.0 的升級重點:新增十個 AI 工具支援、可瀏覽 archived changes、workflow 狀態進入 view,以及 apply / archive 的可靠性修正。含互動測驗與升級檢查清單。

概述

OpenSpec v1.14.0(2026-09-30,代號「Ten new tools, archived changes」)在 v1.13.x 的「誠實化」基礎上,把重心放回生態系擴張與生命週期管理:

  1. 十個新工具支援:init / update 的觸角再擴大 10 個 AI 工具
  2. Archived changes 可瀏覽:歸檔不再是黑洞,list 與 view 都看得到
  3. Apply / Archive / Store 更可靠:收掉幾個會讓任務卡在第一步、或規格悄悄沒同步的錯誤

十個新工具支援

openspec init 與 openspec update 現在支援:

工具 CLI 標識 工具 CLI 標識
Amp amp Grok Build grok
AtomCode atomcode GSD gsd
Code Studio codestudio Veai veai
DeepSeek Harness dsh Warp warp
EasyCode easycode GigaCode gigacode

Archived changes 可瀏覽

歸檔的變更過後就「消失」了——實際上檔案還在 changes/archive/,但 CLI 沒有入口。v1.14.0 補上:

# 列出已歸檔變更(含 JSON 與排序)
openspec list --archived
openspec list --all

# openspec view 在專屬區段顯示歸檔變更
openspec view

學習重點:歸檔的 spec 不是垃圾,是決策紀錄。當新成員問「為什麼當初這樣設計」,--archived 讓你可以翻出當時的 proposal 與 delta,而不需要去 git 考古。

Workflow 狀態進入 view

openspec view 的 dashboard 現在顯示每個 active change 的 schema,以及每個 artifact 的狀態。下圖是狀態關係示意,並非 CLI 的逐字輸出:

  add-user-auth
    ├── proposal.md    done
    ├── specs/         done
    ├── design.md      ready   ← 可寫但還沒寫
    └── tasks.md       blocked ← 依賴 design 完成

四種狀態的意義:

  • done:已完成
  • ready:依賴已滿足、可以開始
  • blocked:還有前置條件未完成
  • skipped:刻意略過
隨堂測驗

`openspec view` 顯示 tasks.md 是 blocked,最合理的下一步是什麼?

💡 想先看個提示?

想想這四個狀態(done / ready / blocked / skipped)之間的依賴箭頭怎麼流動。

openspec version 與 Nix

  • openspec version:顯示安裝版本與安裝類型;--check + --json 提供工具可讀的結構化更新資訊——腳本可以自己判斷要不要提示升級
  • Nix overlay:flake 以 overlays.default 曝露 OpenSpec,其他 flake 可直接消費

可靠性修正:三個值得記的案例

案例 1:apply 不再卡在第一個 task 前

Store-backed change 執行 openspec status --json 時,過去不允許在宣告 store 的專案中編輯,apply 直接在第一個 task 之前停下。修正後允許宣告 store 的專案進行編輯。

配套:openspec instructions apply --json 現在給每個 task 的 sourcePath 與行號,apply 勾選前檢查確切的那個 checkbox——而不是憑位置猜。

案例 2:archive 不再「假成功」

過去 archive 在 spec sync 回報阻斷條件時,仍會把 change 歸檔——主 specs 根本沒更新,但 change 已經消失了。這是資料遺失型的靜默失敗。現在 archive 與 bulk archive 會停止,把問題攤在面前。

相關修復:sync skill 未安裝時,archive skill 自行合併 delta specs,而不是把 agent 指向一個不存在的 skill。

案例 3:validate --strict 對未知 metadata 失敗

以下警告文字為示意:

change: add-user-auth
  ⚠ Unrecognized key in .openspec.yaml: skip_design
    (OpenSpec ignores this; remove it or check the name)

skip_design 這類 key 過去被靜默忽略——你以為跳過了 design 階段,其實什麼都沒發生。--strict 模式現在對它們失敗。

隨堂總結測驗

隨堂測驗

小明升級到 v1.14.0 後跑 `validate --strict`,出現「Unrecognized key: skip_design」。下列哪個敘述最正確?

💡 想先看個提示?

這版的主軸之一就是「誠實化」:問題不是新出現的,是被隱藏的。

動手升級檢查清單

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

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

0 / 5

延伸閱讀

  • 官方 v1.14.0 release notes

  • 前一課:v1132-verify-and-windows-archive——v1.13.x 的「誠實化」基礎

  • 本主題 Changelog:完整的 v1.14.0 條目