先讀本機已知的 tag 歷史。
從 list 開始。Tagsmith 會依語意排序,並標示不合規、無法解析或重複的 tag。發版前可再用 audit 檢查完整歷史、已設定的本機護欄,以及歷史 tag 對應的產物版本;它不會自動修正任何歷史。
安全試用
npx @carllee1983/tagsmith list
這個步驟只讀取與評估本機歷史,不會改動 repository。
在 Git repository 內執行,並使用 Node.js 22+。所有指令都可直接複製;示範不使用任何遠端狀態。
從 list 開始。Tagsmith 會依語意排序,並標示不合規、無法解析或重複的 tag。發版前可再用 audit 檢查完整歷史、已設定的本機護欄,以及歷史 tag 對應的產物版本;它不會自動修正任何歷史。
安全試用
npx @carllee1983/tagsmith list
這個步驟只讀取與評估本機歷史,不會改動 repository。
next 依目前規格與本機歷史計算下一個 tag。它不會建立 tag,也不會發出任何遠端請求。
只預覽
npx @carllee1983/tagsmith next
需要 minor 或 major 時,可在這一步與建立時一併加上相同的 --level。若採用 commit policy,使用 --from-commits 可讓建議列出命中的規則。
push: false,才在本機建立。建立前,Tagsmith 會依明確規格與本機已知歷史再次驗證。若不符合,會停止而不是自行選擇解法。若啟用產物版本護欄,--enforce-policy 也會在目標 commit 的 package.json 缺失或版本不一致時停止建立。
新設定的預設是 push: false。create 會遵從選定 tag line 的設定:值為 false 時只建立本機 tag;值為 true 時,這個指令會發布它。
確認 push 後再建立
npx @carllee1983/tagsmith create
請先確認選定 tag line 維持 push: false,再複製這個指令。
是否、何時與如何推送,都屬於團隊既有的 Git hosting 與 release workflow。Tagsmith 提供本機驗證與可預期的建立行為;它不取代 remote 的衝突處理、權限控管或 repository-wide enforcement。
--json 讓 CI 和 script 讀取 Tagsmith 對規格的評估結果;後續該做什麼,仍由你的 automation 決定。
npx @carllee1983/tagsmith next --json
SemVer 是零設定評估的預設路徑。CalVer、build number、多條 tag line、產物版本檢查、commit policy 與選用的本機護欄,都在有明確需求後再加入。
閱讀完整設定參考