@fxri/toolkit 1.5.6 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: fxri-release-changelog
3
+ description: 基于 changesets 的发版与多语言 CHANGELOG 维护流程:创建变更集、消费发版、把分组标题与条目转为项目语言风格、清理变更集、打标签发布;无 changesets 的项目提供同格式手工模式。当用户提到创建变更集、changeset、发版、version、整理或格式化 CHANGELOG 时使用。不用于日常 commit message 撰写或与发版无关的文档修改。
4
+ license: MIT
5
+ metadata:
6
+ version: "1.0.0"
7
+ author: fxri
8
+ source: https://github.com/fxri-net/toolkit
9
+ ---
10
+
11
+ # 发版与 CHANGELOG
12
+
13
+ ## 何时使用
14
+
15
+ - 记录变更(创建变更集)、消费变更集发版、格式化 CHANGELOG
16
+ - 触发词:changeset / 变更集 / 发版 / version / CHANGELOG 格式化
17
+
18
+ **何时不使用**:日常 commit message 撰写、与发版无关的文档修改。
19
+
20
+ ## 前置检查
21
+
22
+ - 项目根存在 `.changeset/` 目录 → 走「changesets 流程」
23
+ - 不存在 → 走「手工模式」(规范见 `references/changelog-format.md`)
24
+
25
+ ## changesets 流程
26
+
27
+ 1. 记录变更:`npx changeset`(或项目包管理器等价脚本),按影响选 patch / minor / major 并写变更描述
28
+ 2. 消费发版:`npx changeset version`——自动写版本号与 CHANGELOG
29
+ 3. 格式化:按 `references/changelog-format.md` 转换分组标题、润色条目为项目语言风格(中文示例:`### Patch Changes` → `### 🐛 补丁修复`)
30
+ 4. 清理:删除已消费的 `.changeset/*.md`
31
+ 5. 发布:提交版本与 CHANGELOG 改动 → 打 `vX.Y.Z` 标签 → 按项目渠道发布(如 `npm publish`)
32
+
33
+ ⚠️ 自动生成的条目必须人工核对润色,与仓库既有 CHANGELOG 风格保持一致。
34
+
35
+ ## 手工模式(无 changesets 项目)
36
+
37
+ 版本号与 CHANGELOG 全部手工维护:版本标题、发布日期行、分组标题与条目格式见 `references/changelog-format.md`;多语言三段结构(标题替换映射 / 依赖更新文案 / 发布日期后缀)同文件。
38
+
39
+ ## 失败模式
40
+
41
+ | 症状 | 处置 |
42
+ | --- | --- |
43
+ | version 后 CHANGELOG 分组标题仍是英文 | 按 references 的映射表补一次格式化 |
44
+ | 条目与仓库既有风格不一致 | 人工润色为项目语言与句式,勿保留机器直译 |
45
+ | 变更集遗漏(发版后才发现功能未记录) | 补建变更集随下次发版;本次在发布说明中人工补充 |
46
+
47
+ ## 可选加速(不构成依赖)
48
+
49
+ 项目已安装 @fxri/toolkit 时,可用命令替代对应手工步骤,缺失不影响主流程:
50
+
51
+ - `toolkit changelog`:创建变更集(等价 changeset)
52
+ - `toolkit changelog version`:发版并自动做中文分组标题格式化
53
+ - `toolkit changelog format`:仅格式化既有 CHANGELOG
54
+ - `toolkit changelog --lang <语言> …`:切换输出语言(内置 zh / en,其余可配置扩展)
@@ -0,0 +1,40 @@
1
+ # CHANGELOG 格式规范
2
+
3
+ ## 1. 文件结构(中文示例)
4
+
5
+ ```markdown
6
+ ## 1.5.3
7
+ > 2026-09-03 发布
8
+
9
+ ### 🐛 补丁修复
10
+
11
+ - 修复 xxx:……
12
+ ```
13
+
14
+ 规则:
15
+
16
+ - 版本标题 `## {版本号}`;紧随引用行 `> {YYYY-MM-DD} 发布`
17
+ - 分组标题 = emoji + 组名,一行一组,按 major → minor → patch 顺序
18
+ - 条目一行一条,项目语言句式(中文条目句末不加句号),与仓库既有风格一致
19
+
20
+ ## 2. 分组标题映射(zh 内置)
21
+
22
+ | 源标题(changesets 输出) | 目标标题 |
23
+ | --- | --- |
24
+ | `### Major Changes` | `### 🚨 重大变更` |
25
+ | `### Minor Changes` | `### ✨ 新增功能` |
26
+ | `### Patch Changes` | `### 🐛 补丁修复` |
27
+ | `### Dependent Changes` | `### 🔗 依赖变更` |
28
+ | `- Updated dependencies` | `- 更新依赖` |
29
+
30
+ 英文基准分组:`### Major Changes` / `### Minor Changes` / `### Patch Changes` / `### Dependent Changes`。
31
+
32
+ ## 3. 多语言扩展
33
+
34
+ 每种语言约定三段结构:
35
+
36
+ - `replacements`:源标题 → 目标标题映射表(覆盖分组标题与依赖条目)
37
+ - `deps`:依赖更新条目固定文案
38
+ - `released`:发布日期行后缀(中文为「发布」,英文为「released」)
39
+
40
+ 新增语言时先补全三段,再按映射转换标题、润色条目。