約定式提交 Conventional Commits

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
  1. fix: fix 類型的 commit 表示修正了某個 bug;對應到 SemVerPATCH
  2. feat: feat 類型的 commit 表示增加了一個功能;對應到 SemVerMINOR
  3. BREAKING CHANGE: 表示重大變更並且在 commit 的 footer 註記 BREAKING CHANGE 且一定要全部大寫或是再 type/scope 之後加上 ! 標記;BREAKING CHANGE 可以是任何類型的 commit 的一部分;對應到 SemVerMAJOR
  4. 除了 fixfeat 也可以有其他類型的 commit,例如:
  • build: 與建置系統或外部依賴項有關的更改。
  • ci: 對 CI 配置文件或 script 的更改。
  • docs: 文檔相關的更改。
  • refactor: 代碼重構。
  • perf: 效能相關的改進。
  • style: coding style 的調整。
  • test: 新增或修改測試。
  • revert: 回復之前的 commit。
  • chore: 雜項更改,不包含任何 source code 或 test 的更改。
  1. scope: 用於描述 commit 影響的範圍,例如:routercomponentitem ui...。
  2. description: 用於描述 commit 的目的,最好簡潔且清楚。
  3. body: 用於描述 commit 的詳細內容,可以包含更多的資訊。
  4. footer: 用於描述一些額外的資訊,例如:BREAKING CHANGEIssue number...。

Ref:

Read more

GitHub SDD Tools: spec-kit

GitHub SDD Tools: spec-kit

最近很夯 SDD,然後 GitHub 也出了工具 spec-kit 來幫助開發者撰寫 SDD 文件。 這個工具可以讓你直接用自然語言來描述你的需求,然後自動生成 SDD 文件。 spec-kit 支援來幾乎現在市面上所有的 AI Coding 工具,而且一直持續在更新。 以下是目前(0.0.79)版本可用的指令以及指令的用處: * 核心指令: 指令 用途 /speckit.constitution 建立或更新專案管理原則和開發指南 /speckit.specify 建立需求和使用者故事 /speckit.plan 建立實施計劃 /speckit.tasks 生成 Task /speckit.implement 執行 Task * 選擇性指令: 指令 用途 /speckit.clarify 釐清不明確的規格,

By Mars
Debug Story

Debug Story

Ref: * 寫程式不是輸出,是內化 * Vibe Story:用敘事智能為程式碼注入生命,簡化維護 這篇主要是想紀錄一下看了Ruddy 老師的文章後想做的事情,雖然通篇的重點不是在我想做的這件事,但因為Ruddy 老師的這篇文章讓我覺得以後在排除 Bug 的時候應該要做這件事才對。 以下的內容是擷取 Ruddy 老師的內容(部分修改) 1. 記錄搜尋路徑與嘗試過的假設 => 我以為是 state 沒清,但發現是 effect 未執行 2. 為錯誤進行分類,然後標註成概念 => 這是 mutable state 的副作用問題 3. 寫一段描述該段程式的情境與原則 => Vibe Story 該段程式的情境與原則可以參考一下的要點撰寫: * 場景(Context):描述程式碼的背景與需求。 * 目標(Goal):說明功能目的。 * 挑戰與迭代(Challenges &

By Mars