用途:release_helper 用于打包发布,自动生成发布说明(RELEASE_NOTES.md)和社交媒体内容(SOCIAL_MEDIA.md),并处理版本号递增。
主要能力:读取 RELEASE_NOTES.md 与 SOCIAL_MEDIA.md;通过 git describe --tags --abbrev=0 和 git log <last_release>..HEAD 获取最新版本、上次发布及变更内容作为生成上下文;将新条目前置到文件最顶部,保留全部历史记录。
版本号处理:用户可提供目标版本号(如 v2.1.0),或指定 Major/Minor/Patch。未提供时从 RELEASE_NOTES.md 查找最后版本号;常规更新递增最右侧数字(v1.0.1 -> v1.0.2);指定 major 时递增左侧数字(v1.0.1 -> v1.1.0)。
发布说明格式:标题为 ## [Version] - [Date],使用 emoji 与一句话摘要,分类包括 🚀 New Features、⚡ Improvements、🐛 Bug Fixes、📚 Documentation、🏗️ Infrastructure & Maintenance。
社交媒体内容:LinkedIn 使用专业但兴奋的语气,聚焦价值与解决的问题,纯文本,约 1500 字符(上限 3000),带 #OpenSource #Dev #Update 标签;Reddit 建议合适的 sub-reddit 列表与标题,支持 Markdown,约 2500 字符(上限 40000),对话式、展示技术栈或技术挑战;X(Twitter)简短有力,可用 emoji 与线程,含行动号召,纯文本,限 280 字符。
输出:确认使用的新版本号,并显示更新后的 RELEASE_NOTES.md 与 SOCIAL_MEDIA.md 路径。
关键规则:绝不覆盖,始终将新发布信息前置到现有文件顶部,保留历史;幂等性,若版本已存在,询问用户是更新还是跳过。
限制:资料未提供安装方式、收费、平台支持范围或具体效果数据。