SuperAPI AI 工具集

changelog-generator

通用与其它

查看项目

更新于 10-15 16:47

技能介绍

用途:在发布标签前或 CI 中,把 Conventional Commits 的 git 历史转换成一致、可审计的发布说明,同时校验提交信息格式,适合单仓库与 monorepo 的发布管理。

主要能力:按 Conventional Commit 规则解析提交;从提交流推断语义化版本递增(major/minor/patch);按 Keep a Changelog 渲染 Added、Changed、Fixed 等分区;从 git 区间或提交文件/stdin 生成条目;用独立提交 linter 强制格式;以机器可读 JSON 输出支持 CI。支持类型包括 feat、fix、perf、refactor、docs、test、build、ci、chore、security、deprecated、remove;以 type(scope)! 或 BREAKING CHANGE 页脚标识破坏性变更。映射规则为破坏性变更对应 major,非破坏性 feat 对应 minor,其余对应 patch。

使用方式(命令保持原样):从 git 生成条目:python3 scripts/generate_changelog.py --from-tag v1.3.0 --to-tag v1.4.0 --next-version v1.4.0 --format markdown;从 stdin 或文件输入:git log v1.3.0..v1.4.0 --pretty=format:'%s' | python3 scripts/generate_changelog.py --next-version v1.4.0 --format markdown,或 python3 scripts/generate_changelog.py --input commits.txt --next-version v1.4.0 --format json;写入 CHANGELOG.md:加 --write CHANGELOG.md;由提交计算下一版本:git log v1.3.0..HEAD --oneline | python3 scripts/version_bumper.py --current-version 1.3.0 --output-format json,输出含 recommended_version、bump_type,可用 --include-commands 获取 git tag 命令,支持 --prerelease alpha|beta|rc;lint 提交:python3 scripts/commit_linter.py --from-ref origin/main --to-ref HEAD --strict --format text 或 --input commits.txt --strict。

适用场景:发布打标签前生成说明、CI 自动生成草稿、PR 检查阻断不合规提交、monorepo 按 scope 过滤生成包级变更日志、把原始 git 历史转换为用户可读说明。含热修复严重级与回滚触发阈值参考文档,另有 CI 集成、变更日志格式、monorepo 策略等参考文件。

限制:需输入符合 Conventional Commits 的真实 git log(十六进制哈希)或提交文件,示例见 assets/sample_git_log.txt;无有效提交时应尽早失败,不得生成空说明;写入 main 分支 CHANGELOG.md 前建议人工审核;收费、价格、平台等信息暂未提供。