npx skills add https://github.com/tobi/qmd --skill release执行版本发布,验证更新日志,并确保 Git 钩子已安装。
/release 1.0.5 或 /release patch(从当前版本递增修订号)。
当用户触发 /release <版本号> 时:
收集上下文 — 运行 skills/release/scripts/release-context.sh <版本号>。此命令会静默安装 Git 钩子,并打印所需的所有信息:版本信息、工作目录状态、自上次发布以来的提交、已更改的文件、当前的 [Unreleased] 内容,以及用于样式参考的上一个发布条目。
提交未完成的工作 — 如果上下文显示存在属于此版本的已暂存、已修改或未跟踪的文件,请先提交它们。使用 /commit 技能或直接进行格式良好的提交。
编写更新日志 — 如果 [Unreleased] 为空,请立即使用上下文输出中的提交和文件更改来编写它。遵循下面的更新日志标准。如果需要,在提交后重新运行上下文脚本。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
执行发布 — 运行 scripts/release.sh <版本号>。这会将 [Unreleased] 重命名为 [X.Y.Z] - 日期,插入一个新的 [Unreleased],更新 package.json 版本号,提交更改,并打上标签。
显示最终更新日志 — 通过 scripts/extract-changelog.sh <版本号> 打印完整的 [Unreleased] + 次要系列汇总。在推送前请用户确认。
推送 — 在获得明确确认后,运行 git push origin main --tags。
监控 CI — 推送后,启动一个后台调度任务来监控发布工作流。在调度模式下使用 interactive_shell 并执行:
gh run watch $(gh run list --workflow=publish.yml --limit=1 --json databaseId --jq '.[0].databaseId') --exit-status
当 CI 完成时,代理将收到通知并应报告结果。
如果任何步骤失败,请停止并解释。切勿强制推送或跳过验证。
更新日志位于 CHANGELOG.md 中,遵循 Keep a Changelog 的约定。
## [Unreleased] — 累积发布之间的条目## [X.Y.Z] - YYYY-MM-DD — 已发布的版本每个版本条目包含两部分:
1. 亮点(可选,1-4 句描述性文字)
紧接在版本标题之后,在任何 ### 章节之前。这是电梯演讲——你会用 30 秒告诉别人什么?仅用于重要发布;小补丁可跳过。
## [1.1.0] - 2026-03-01
QMD 现在可以在 Node.js 和 Bun 上运行,通过并行上下文处理,重排序速度提升高达 2.7 倍。
GPU 自动检测取代了不可靠的 `gpu: "auto"` 设置,改用显式的 CUDA/Metal/Vulkan 探测。
2. 详细更新日志(### 变更 和 ### 修复)
### 变更
- 运行时:支持 Node.js (>=22) 与 Bun 并存。`qmd` 包装器通过 PATH 自动检测合适的安装。 #149 (感谢 @igrigorik)
- 性能:并行嵌入和重排序——在多核机器上速度提升高达 2.7 倍。
### 修复
- 防止在并发 `embedBatch` 调用期间因重复创建上下文而浪费 VRAM。 #152 (感谢 @jkrems)
#NNN (感谢 @用户名)。无需致谢仓库所有者。每个 GitHub 发布都包含从 x.x.0 开始到当前版本的整个次要系列 的完整更新日志。scripts/extract-changelog.sh 脚本处理此任务,发布工作流 (publish.yml) 会调用它来填充 GitHub 发布内容。
推送前钩子 (scripts/pre-push) 会阻止 v* 标签的推送,除非满足以下条件:
package.json 版本号与标签匹配CHANGELOG.md 中有该版本的 ## [X.Y.Z] - 日期 条目钩子由上下文脚本静默安装。也可以通过 skills/release/scripts/install-hooks.sh 手动安装,或通过 bun install(prepare 脚本)自动安装。
每周安装次数
241
仓库
GitHub 星标数
16.8K
首次出现
2026 年 2 月 16 日
安全审计
安装于
claude-code226
opencode175
codex174
gemini-cli173
amp173
github-copilot173
Cut a release, validate the changelog, and ensure git hooks are installed.
/release 1.0.5 or /release patch (bumps patch from current version).
When the user triggers /release <version>:
Gather context — run skills/release/scripts/release-context.sh <version>. This silently installs git hooks and prints everything needed: version info, working directory status, commits since last release, files changed, current [Unreleased] content, and the previous release entry for style reference.
Commit outstanding work — if the context shows staged, modified, or untracked files that belong in this release, commit them first. Use the /commit skill or make well-formed commits directly.
Write the changelog — if [Unreleased] is empty, write it now using the commits and file changes from the context output. Follow the changelog standard below. Re-run the context script after committing if needed.
Cut the release — run scripts/release.sh <version>. This renames [Unreleased] → [X.Y.Z] - date, inserts a fresh [Unreleased], bumps package.json, commits, and tags.
Show the final changelog — print the full [Unreleased] + minor series rollup via scripts/extract-changelog.sh <version>. Ask the user to confirm before pushing.
Push — after explicit confirmation, run git push origin main --tags.
Watch CI — after the push, start a background dispatch to watch the publish workflow. Use interactive_shell in dispatch mode with:
gh run watch $(gh run list --workflow=publish.yml --limit=1 --json databaseId --jq '.[0].databaseId') --exit-status
The agent will be notified when CI completes and should report the result.
If any step fails, stop and explain. Never force-push or skip validation.
The changelog lives in CHANGELOG.md and follows Keep a Changelog conventions.
## [Unreleased] — accumulates entries between releases## [X.Y.Z] - YYYY-MM-DD — released versionsEach version entry has two parts:
1. Highlights (optional, 1-4 sentences of prose)
Immediately after the version heading, before any ### section. The elevator pitch — what would you tell someone in 30 seconds? Only for significant releases; skip for small patches.
## [1.1.0] - 2026-03-01
QMD now runs on both Node.js and Bun, with up to 2.7x faster reranking
through parallel contexts. GPU auto-detection replaces the unreliable
`gpu: "auto"` with explicit CUDA/Metal/Vulkan probing.
2. Detailed changelog (### Changes and ### Fixes)
### Changes
- Runtime: support Node.js (>=22) alongside Bun. The `qmd` wrapper
auto-detects a suitable install via PATH. #149 (thanks @igrigorik)
- Performance: parallel embedding & reranking — up to 2.7x faster on
multi-core machines.
### Fixes
- Prevent VRAM waste from duplicate context creation during concurrent
`embedBatch` calls. #152 (thanks @jkrems)
#NNN (thanks @username) for external PRs. No need to credit the repo owner.Each GitHub release includes the full changelog for the minor series back to x.x.0. The scripts/extract-changelog.sh script handles this, and the publish workflow (publish.yml) calls it to populate the GitHub release.
The pre-push hook (scripts/pre-push) blocks v* tag pushes unless:
package.json version matches the tagCHANGELOG.md has a ## [X.Y.Z] - date entry for the versionHooks are installed silently by the context script. They can also be installed manually via skills/release/scripts/install-hooks.sh or automatically via bun install (prepare script).
Weekly Installs
241
Repository
GitHub Stars
16.8K
First Seen
Feb 16, 2026
Security Audits
Gen Agent Trust HubFailSocketWarnSnykPass
Installed on
claude-code226
opencode175
codex174
gemini-cli173
amp173
github-copilot173
Azure Data Explorer (Kusto) 查询技能:KQL数据分析、日志遥测与时间序列处理
102,600 周安装