
桌面应用插件系统【免费下载链接】OneMoreA OneNote add-in with simple, yet powerful and useful features项目地址https://gitcode.com/gh_mirrors/on/OneMore点击查看免费下载本篇技术指南围绕 OneMore 开源仓库内嵌的 Claude Skill.claude/skills/release-notes/SKILL.md展开系统讲解如何用 GitHub CLIgh与git命令把带next-release标签的开放 Issue 和自上次发布以来的提交记录交叉比对自动产出格式统一、可直接发布的## Whats New发布说明。读者学完后将掌握从定位发布标签、拉取候选 Issue、匹配实现提交、三分类归纳到严格格式化输出的完整自动化流程并了解它与仓库内发布管线、内置更新器的实际衔接方式。技能文档与它的应用场景release-notes是一个保存在仓库.claude/skills/目录下的技能定义供 AI 助手在 OneMore 项目上下文中执行生成下一次发布说明这一重复性任务。其核心目标有三拉取数据获取所有打了next-release标签的开放 GitHub Issue交叉印证把 Issue 与自最近一次发布标签以来的 Git 提交一一对应确认每个 Issue 到底实现了什么统一排版沿用上一次发布说明的风格把结果整理成## Whats New章节。该技能面向 OneMore 这类以 Issue 驱动开发、用语义化版本标签发布、依赖 GitHub Release 分发的开源项目。仓库的 CLAUDE.md 也印证了这一点项目约定统一使用ghCLI 处理 Issue 与 PR默认仓库为stevencohn/OneMore例如gh issue view 2017 --repo stevencohn/OneMore --comments。工作流总览技能文档将整个生成过程拆解为 7 个明确步骤每一步都有可直接执行的命令步骤动作关键命令/产物1定位最近发布标签跳过未发布的标签git tag --sort-version:refname ...2拉取next-release标签的开放 Issuesgh issue list --label next-release ...3获取自该标签以来的全部提交git log tag..HEAD --oneline4按提交信息中的 Issue 编号匹配实现内容gh issue view number ...补充上下文5将每个 Issue 归入 Added / Updated / Fixed 三类依据标签信号与提交内容6按精确格式写出单行摘要* Added ... #NNNN等7按类别顺序输出并包裹在代码块中## Whats New扁平列表下面逐步骤展开。第一步定位最近一次发布标签发布说明的时间窗口从最近一次正式发布开始因此第一步必须先确定那个发布标签。技能文档给出的命令是 PowerShell 管道git tag --sort-version:refname | Where-Object { $_ -match ^v?\d\.\d\.\d$ } | Select-Object -First 1这条命令的要点--sort-version:refname按版本号语义降序排列标签而不是按字母序Where-Object { $_ -match ^v?\d\.\d\.\d$ }只保留符合1.2.3或v1.2.3形式的三段式版本标签把preview、beta等非正式标签过滤掉Select-Object -First 1取排序后的第一个即最近一次发布标签。跳过未发布标签是一个隐含约束某些标签可能是为内部测试或未完成版本打的不应作为发布说明的时间基点。仓库内置更新器对发布标签的处理也与此呼应——见后文与仓库发布流程的衔接一节的源码分析。第二步拉取 next-release 标签的开放 Issues候选条目全部来自标记为next-release的开放 Issue命令如下gh issue list --label next-release --state open --limit 100 --repo stevencohn/OneMore --json number,title,labels参数含义--label next-release只取打了该标签的 Issue这是下一版要做什么的项目内信号--state open只看未关闭条目--limit 100单次最多拉取 100 条防止意外取回海量历史数据--repo stevencohn/OneMore显式指定仓库避免gh依赖当前目录的 remote 推断--json number,title,labels结构化输出只取 Issue 编号、标题、标签三个字段方便后续程序化处理。第三步获取自上次发布以来的提交确定了起始标签后用如下命令列出该标签之后的全部提交git log tag..HEAD --onelinetag即第一步得到的版本标签。tag..HEAD这种区间写法表示从该标签所指向的提交之后一直到当前 HEAD 的所有提交。--oneline让每个提交只显示一行缩写哈希 首行提交信息适合快速浏览与匹配。第四步Issue 与提交交叉匹配本步骤是整条流水线的核心判断环节逐个 Issue判断它在当前版本区间内到底实现了没有、实现了什么。主线索是提交信息中的 Issue 编号在git log的输出中查找与 Issue 编号一致的提交例如提交信息形如Fix #2054、#1018 Add ...的提交辅助信号是Issue 的标题与标签标题描述预期行为标签描述 Issue 类型对于信息不足以判断的 Issue用gh issue view number --repo stevencohn/OneMore拉取该 Issue 的完整详情正文、评论、状态补足上下文。需要说明的是这一步依赖提交信息遵守提及 Issue 编号的约定。仓库 CLAUDE.md 中约定的工作习惯提交经 GPG 签名、Issue/PR 一律用gh处理为这种提交 ↔ Issue的可追溯性提供了项目层面的保障。第五步三分类体系每个确认已实现的 Issue 都被归入三个类别之一技能文档给出了明确的分类判据类别语义典型标签信号Added新命令、新功能、新能力通常是feature-requestUpdated对既有功能的增强通常是enhancement或扩展既有行为的 feature requestFixed缺陷修复通常是bug或telemetry遥测上报的静默失败问题这套分类与仓库实际发布说明的结构完全吻合仓库自带的 docs/get-started/7.5.0 Release Notes #skipwiki.htm 中Whats Changed 章节就是按 Added / Updated / Fixed 三个块组织 Changelog 的并且每条都紧跟对应的 Issue 编号链接相邻版本的 docs/get-started/7.4.0 Release Notes.htm 延续同一风格。这说明技能输出的格式正是仓库长期沿用的真实发布说明格式。第六步条目格式规范技能文档对每一条摘要给出了必须严格遵守的格式注意末尾不加句号Issue 链接前有逗号Added* Added [名词短语] [描述], [#NNNN](https://github.com/stevencohn/OneMore/issues/NNNN)Updated* Updated [名词短语] [描述], #NNNNFixed* Fixed an issue where [描述], #NNNN格式红线原文以 IMPORTANT 标注Issue 引用必须是 Markdown 超链接形式为#NNNN——方括号内的#NNNN与紧随其后的圆括号 URL 之间不能有空格严禁写成裸#NNNN也严禁把 URL 单独放在一行上。这条规则的意义在于发布说明最终会进入 GitHub Release 页面/文档站点渲染Issue 编号必须可点击跳转同时用#NNNN文本保持人眼可读。第七步输出组织最终产物的组织方式有明确要求标题使用## Whats New条目顺序固定先全部 Added再全部 Updated最后全部 Fixed输出为扁平的圆点列表类别之间不插入任何子标题整个输出包裹在一个围栏代码块内与这样原始 Markdown 不会在聊天界面里被渲染成链接可以整体复制后直接粘贴到发布说明中。风格参考与写作约束技能文档从 v7.0.0 发布说明中提取了三条例句作为风格基准* Added Verilog and Scala language support to the colorizer, #1018* Updated Hashtag service performance and stability during background scans, #2054* Fixed an issue where Text to Table would fail when text contains non-breaking spaces, #1999写作约束Tone语气简洁、半技术化每条目1025 个单词不要解释实现细节只描述用户可见的行为或能力变化。对照仓库中真实的 7.5.0 发布说明docs/get-started/7.5.0 Release Notes #skipwiki.htm可以看到同样的取舍如 Added Compare Hierarchy and reworked the Remove Duplicate Pages command, #1860、Fixed an issue where plugins run directly from a ribbon button might fail, #2581均为面向用户行为的单行描述几乎不涉及内部实现。与仓库发布流程的衔接源码佐证技能生成的发布说明并非孤立产物它与仓库的发布基础设施深度关联可从以下源码确认1. 内置更新器直接消费 GitHub Release 元数据。OneMore/Commands/Tools/Updater/Updater.cs 是插件自带的更新检查器它通过https://api.github.com/repos/stevencohn/onemore/releases?per_page5拉取最近 5 个 Release解析出tag_name、prerelease、published_at、body等字段用于版本比对其数据模型 GitRelease.cs 中内嵌的 JSON 示例注释完整展示了 Release 对象各字段html_url、assets、download_count等。这从侧面说明了发布标签 Release 说明是整个项目版本体系的枢纽技能负责生成说明文本更新器负责把它带给用户。2. 发布流程自动化。.github/workflows/winget-releaser.yml 显示一旦仓库触发release类型事件types: [released]CI 会调用 winget-releaser 将stevencohn.OneMore的.msi安装包发布到 WinGet。也就是说一次正式发布 打标签 写 Release 说明技能产出物 触发自动化分发三者的节奏是同步的。3. 辅助脚本。仓库根目录提供 get-releases.ps1 等发布相关脚本可作为手工查询 Release 信息的补充工具仓库根目录的setversion.ps1等脚本则服务于版本号维护。这些工具与技能共同构成了从版本管理到说明撰写的完整链条。使用前提与注意事项环境依赖需要本机安装并登录ghCLIGitHub CLI且对stevencohn/OneMore具有读取权限git仓库需包含完整的标签历史标签纪律第一步的过滤规则依赖项目遵守v?X.Y.Z的标签命名未发布/草稿标签会被Where-Object的正则过滤掉这正是跳过未发布标签的实现机制提交纪律第四步的匹配质量取决于提交信息是否提及 Issue 编号这与仓库 CLAUDE.md 约定的ghCLI 工作流gh issue view 2017 --repo stevencohn/OneMore --comments相辅相成分类判断Added / Updated / Fixed 的归属以标签为主要信号、以提交内容为最终依据telemetry标签的 Issue 归入 Fixed静默失败类问题这在 docs/get-started/7.5.0 Release Notes #skipwiki.htm 的Fixed telemetry ERR-122/ERR-153...条目中得到了实例印证输出纪律最终产物必须保持代码块包裹 扁平列表 Added→Updated→Fixed 排序的形态以便直接复制进 GitHub Release 页面。总结release-notes技能把写发布说明从手工整理 Issue 与提交的琐碎工作变成了一条可复现、可核查的自动化流水线git tag定位时间窗口 →gh issue list收集候选 →git log交叉匹配 → 三分类归纳 → 严格格式输出。它与仓库内置更新器Updater.cs、WinGet 自动发布winget-releaser.yml以及真实发布说明文档7.5.0 Release Notes形成了相互印证的闭环——理解这套技能也就理解了 OneMore 整个发布工程的数据流。赞分享桌面应用插件系统【免费下载链接】OneMoreA OneNote add-in with simple, yet powerful and useful features项目地址https://gitcode.com/gh_mirrors/on/OneMore点击查看免费下载相关推荐Yaak 发布说明自动化生成指南基于 git 历史与 PR 元数据的 Release Notes 工作流Yaak 发布说明自动化生成指南基于 git 历史与 PR 元数据的 Release Notes 工作流 导读 本文讲解 Yaak 项目中用于自动化生成应用版开发工具接口测试桌面应用GreptimeDB 版本发布说明Release Note / Changelog生成实战基于 git cliff 的完整工作流GreptimeDB 版本发布说明Release Note / Changelog生成实战基于 git cliff 的完整工作流 导读 本文讲解如何为时序数据库数据库可观测性espanso 发布说明生成工作流基于 release-notes 技能与 git 标签的版本日志撰写指南espanso 发布说明生成工作流基于 release notes 技能与 git 标签的版本日志撰写指南 本指南讲解 espanso 仓库中预置的 rele桌面应用CLI上一篇终极Windows 11优化指南Win11Debloat让你的电脑跑得更快更干净下一篇开源项目推荐merge-images创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考