用途
publish 是一个发布技能,用于按照项目既定的 justfile 配方完成一次发布:运行 just publish。当用户表达发布意图时(例如“/publish”“publish release”“cut a release”“release”“tag and release”)可使用该技能。
主要能力
- 检查项目根目录是否存在 justfile。
- 若不存在 justfile,停止并提示:项目根目录未找到 justfile;说明本技能需要带
publish配方的 justfile,并给出安装与生成提示:npx skills add agoodway/GoodSkills --skill justfile -g,随后运行/justfile检测项目类型并生成包含构建与发布配方的 justfile。 - 若 justfile 存在但无
publish配方,停止并提示用户添加配方,并给出示例(示例中包含publish: test dist checksums、git tag -a "v{{version}}" -m "v{{version}}"、git push origin "v{{version}}"、gh release create "v{{version}}" dist/* --title "v{{version}}" --generate-notes)。 - 若 justfile 存在且有
publish配方,先展示当前版本(从build.zig.zon、mix.exs、package.json、Cargo.toml或 justfile 版本变量读取),然后向用户确认:“Ready to publish v{version}? This will run tests, build release artifacts, tag, push, and create a GitHub release.” - 用户确认后,运行
just publish并报告结果。 - 若用户希望先升版本,建议使用
just bump(或just bump minor/just bump major)。 - 若发布命令失败,展示完整输出;并提示常见失败原因:测试失败、缺少
ghCLI、未通过 GitHub 认证、工作区不干净。
使用方式
在支持该技能的环境中,于项目内触发发布意图或直接调用“/publish”。技能会按上述步骤检查并确认后执行命令。命令中的 $ARGUMENTS 保留原样。
适用场景 适用于使用 justfile 管理构建与发布流程、并通过 GitHub Release 发布产物的项目。
限制
必须存在项目根目录的 justfile,且其中包含 publish 配方,否则技能不会执行发布;运行前需用户确认;发布依赖 gh CLI 与 GitHub 认证。资料未提供具体支持平台、收费或效果等信息。