記錄一份 Specful ADR
一個 ADR 記錄了為什麼做出一個持久性決策:其驅動因素、可行的替代方案以及後果。它不是一項需求(軟體必須做什麼),也不是一個設計(系統如何運作);如果變更涉及「什麼」或「如何」,請改載入 specful-requirement 或 specful-design。請保持在決策層級:不要包含任務序列、檔案清單或進度記錄。
工作流程
- 閱讀
docs/adr/及其索引,了解編號、狀態以及已記錄的決策;一個新的 ADR 若與已接受的 ADR 矛盾,應取代它,而非默默地不一致。 - 使用
specful new adr --title <TITLE>建立草稿。切勿手動分配識別碼;該指令會負責計數器。 - 完成所有佔位符。使用現在式描述決策;如實呈現可行的替代方案,而非將其塑造成偏好的答案;記錄負面後果時應與正面後果同樣謹慎。一個沒有可行替代方案或沒有缺點的 ADR 是廣告,而非決策記錄。
- 生命週期屬於維護者:新記錄以「已提議」狀態開始,只有維護者能接受、拒絕或取代它。
- 執行
specful index,然後執行specful validate;將重新生成的檢視檔案與變更一同提交。當採用此工具的儲存庫需要實質審查或用戶要求時,請使用specful-review。
有關完整的 ADR 設定檔及逐欄位指引,請參閱 https://unkos-dev.github.io/specful/。