mcpField
S
ship

ship

github.com/millionco开发15.1k389 次安装2 周前更新
代码仓库

关于 ship

Ship 是用于当前分支的顺序式发布技能,仅在明确调用时运行。它协调代码评审、简化代码、提交并推送、创建 PR,以及跟进至 PR 可合并。

主要功能

  1. 01依据 AGENTS.md 评审差异
  2. 02简化修改过的代码
  3. 03提交并推送更改
  4. 04创建拉取请求
  5. 05跟进至可合并状态

适用场景

  1. 01准备分支以发布
  2. 02创建并推送经过评审的 PR
  3. 03处理范围内的 PR 反馈与 CI 问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/millionco/react-doctor --skill ship

安装后在 Claude Code 中输入/ship确认已加载。

详细介绍

发布

针对当前分支的顺序发布流水线。仅在明确调用时运行——它会提交、更改远程仓库并创建 PR。

每个阶段都委托给现有技能。按顺序运行,阶段仍有未解决的问题时不要进入下一阶段。

复制此检查清单并跟踪进度:

Ship progress:
- [ ] 1. Review the diff against AGENTS.md
- [ ] 2. Deslop the touched code
- [ ] 3. Commit and push
- [ ] 4. Open the PR
- [ ] 5. Babysit to merge-ready

1. 根据 AGENTS.md 进行审查

先阅读 AGENTS.md(其中的规则会变化),然后对本分支的差异运行 /review,并依据这些规则进行判断。继续之前先修复确实存在的违规。只有当修复会改变行为或扩大范围时,才暂停并询问用户。

2. 精简

运行 /deslop(../deslop/SKILL.md),在保留功能的同时简化最近修改的代码,包括其 truffler 重复项合并环节。提交前应用这些改进。

3. 提交并推送

  • 仅暂存预期的更改;绝不提交机密信息。
  • 发布包的行为发生变化时,先添加 changeset(遵循 /rule-validate 的 Changeset 部分);仅在仅涉及私有内容、文档、测试或工具的更改时跳过,并说明原因。
  • 提交前运行适用于此次更改的仓库检查:nr test、nr lint、nr typecheck、nr format:check。
  • 按照仓库风格撰写简洁的提交消息,聚焦于原因。
  • 推送分支;首次推送时使用 -u 设置上游分支。
  • Git 安全要求:不得强制推送到 main,不得跳过钩子,不得更改 git config。

4. 创建 PR

使用 gh pr create 创建 PR,并按照 /rule-validate(../rule-validate/SKILL.md)中的 PR Description 结构撰写正文:Why(包含前后对比)、What changed、Eval results(未运行 RDE 时省略表格)、Test plan。通过 heredoc 传入正文。返回 PR URL。

5. 跟进

运行 /babysit,推动 PR 达到可合并状态:在保留原意的前提下解决合并冲突,分类处理未解决的评论(包括 Bugbot),并循环修复范围内的 CI 问题,直到 PR 可合并、检查全部通过且评论均已分类处理。报告结果,不要合并。

停止条件

出现以下情况时暂停并询问用户:

  • 审查或跟进发现会扩大范围或改变预期行为的更改。
  • 合并冲突反映了两个分支上确实相互冲突的意图。
  • 即使合并了最新基线,CI 仍因本分支范围之外的原因失败。

评论

支持 Markdown