Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 2.11 KB

File metadata and controls

42 lines (32 loc) · 2.11 KB
name version-generate
description 從最新的 git tag 到 HEAD 生成結構化變更日誌並推薦新版本。當使用者請求生成變更日誌、發行說明或版本升級文件時使用。

版本產生器

從最新的 git tag 到 HEAD 生成 .doc/version-generate/vA.B.C.md 變更日誌(含 frontmatter 與可追溯欄位),同步維護 .doc/version-generate/CHANGELOG.md 主索引。

工作流程

階段 內容 實作細節
0 發版者驗證(git config 缺失即中止) scripts/00-validate-releaser.md
1 版本偵測(最新標籤 + remote URL) scripts/01-detect-version.md
2 收集變更(Conventional Commits 優先) scripts/02-collect-changes.md
3 分類標籤與版本升級規則 scripts/03-classify-and-bump.md
4 產出 .doc/version-generate/NEW_VERSION.md(frontmatter + 追溯) scripts/04-output-template.md
5 更新 .doc/version-generate/CHANGELOG.md 主索引 scripts/05-update-index.md
分類規則與邊界案例 scripts/06-rules-and-edge-cases.md

核心契約

硬性前置條件

  • git config user.nameuser.email 必須設定(步驟 0)
  • BREAKING 變更必須附 Migration 指引(步驟 4,缺失則中止)

輸出

  • .doc/version-generate/<NEW_VERSION>.md — 完整 changelog(含 frontmatter)
  • .doc/version-generate/CHANGELOG.md — 主索引(prepend 最新版本)

版本映射(SemVer)

偵測到的標籤 版本影響
BREAKING MAJOR(+1.0.0)
FEAT MINOR(+0.1.0)
FIX / UPDATE / SECURITY / REFACTOR / PERF / ADD / REMOVE PATCH(+0.0.1)
STYLE / DOC / TEST / CHORE 不升版(type: none,不更新索引)

執行順序

步驟 0 → 1 → 2 → 3 → 4 → 5,任一階段前置條件未達即中止,不產出殘缺文件。