关于 creating-changesets
用于按项目发布约定创建 Changesets 的技能。它帮助维护者选择软件包版本升级类型、撰写发布说明,并为 Changesets 发布流程准备变更。
主要功能
- 01patch、minor 和 major 升级指南
- 02交互式及手动创建 Changeset
- 03Markdown 格式示例
- 04发布流程与状态检查
- 05常见错误及场景说明
适用场景
- 01记录已完成的功能或修复
- 02在创建 PR 前准备变更
- 03记录不兼容变更
- 04检查待处理的版本升级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ saleor/ configurator --skill creating-changesets安装后在 Claude Code 中输入/creating-changesets确认已加载。
附带文件references/scenarios.md
详细介绍
Changeset 与发布管理器
概述
自动按照项目约定创建 changeset,确保正确提升版本并编写完善的发布说明。
适用场景
- 完成功能或修复后
- 创建 PR 前
- 准备发布时
- 记录破坏性变更时
什么是 Changeset?
changeset 是 .changeset/ 目录中的 Markdown 文件,用于说明:
- 受影响的软件包
- 版本提升类型(patch/minor/major)
- 变更说明
Changeset 类型
| 类型 | 适用场景 | 版本变化 |
|---|---|---|
patch | Bug 修复、文档、重构、依赖更新 | 1.0.0 → 1.0.1 |
minor | 新功能、非破坏性增强 | 1.0.0 → 1.1.0 |
major | 破坏性变更、API 修改 | 1.0.0 → 2.0.0 |
决策指南
以下情况使用 patch:
- 不改变行为的 Bug 修复
- 文档更新
- 内部重构(无 API 变更)
- 依赖更新(非破坏性)
- 性能改进
- 代码风格/lint 修复
以下情况使用 minor:
- 新功能
- 新的 CLI 命令
- 新的配置选项
- 功能增强
- 新实体类型支持
- 非破坏性的 API 新增
以下情况使用 major:
- 破坏性配置变更
- 移除功能或命令
- 更改 CLI 接口
- 必需的迁移步骤
- Node.js 版本要求变更
创建 Changeset
交互式方法
pnpm changeset
按照提示操作:
- 选择受影响的软件包(按空格键选择)
- 为每个软件包选择版本提升类型
- 编写变更摘要
手动方法
在 .changeset/ 中创建一个随机名称的文件:
---
"@saleor/configurator": minor
---
Add support for reference attributes with entityType field
- Attributes of type REFERENCE now require an entityType field
- Introspection properly captures entity type references
- Deploy correctly handles reference attribute creation
文件格式
---
"package-name": patch|minor|major
---
Short description of the change (shown in CHANGELOG)
Optional longer description with:
- Bullet points for details
- Code examples if needed
- Migration instructions for breaking changes
发布工作流
1. 创建 Changeset
pnpm changeset
git add .changeset/
git commit -m "chore: add changeset for feature"
2. 提交 PR 并进行审查
- Changeset 是 PR 的一部分
- 审查者可以建议更改版本提升类型
3. 合并到 Main
- Changesets 操作会创建“Version Packages”PR
- 此 PR 会更新版本和 CHANGELOG
4. 合并版本 PR
- 触发 npm 发布
- 创建 GitHub 发布版本
检查状态
# See what changesets exist
npx changeset status
# Preview version bump
npx changeset version --dry-run
常见错误
| 错误 | 问题 | 修正方法 |
|---|---|---|
| 版本提升类型错误 | 版本变化出乎意料 | 查看上方的决策指南 |
| 描述含糊 | CHANGELOG 质量差 | 具体说明变更内容 |
| 缺少 changeset | 没有发布说明 | 始终在创建 PR 前添加 |
| Changeset 过多 | 说明零散 | 合并相关变更 |
| 未包含上下文 | 难以理解 | 解释为什么,而不只是是什么 |
常见场景
常见场景的详细示例,包括:
- Bug 修复、新功能、破坏性变更
- 多项相关变更
- 合并 changeset
- 预发布版本
- 编写说明的最佳实践
请参阅 场景与示例
参考资料
{baseDir}/.changeset/config.json- Changeset 配置{baseDir}/CHANGELOG.md- 生成的变更日志- Changesets 文档:https://github.com/changesets/changesets
相关技能
- CI/CD 自动化:参阅
managing-github-ci,了解发布工作流集成 - 提交前验证:参阅
validating-pre-commit,了解提交前的质量门禁
评论
支持 Markdown