@huajiwuyan/hello 3.0.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.
- package/README.md +68 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +448 -0
- package/package.json +38 -0
- package/templates/claude/commands/hello.md +760 -0
- package/templates/claude/skills/SKILL.md +90 -0
- package/templates/claude/skills/SKILL.toml +7 -0
- package/templates/claude/skills/assets/icon-large.svg +12 -0
- package/templates/claude/skills/assets/icon-small-400px.svg +12 -0
- package/templates/claude/skills/assets/templates/CHANGELOG.md +24 -0
- package/templates/claude/skills/assets/templates/CHANGELOG_{YYYY}.md +25 -0
- package/templates/claude/skills/assets/templates/INDEX.md +36 -0
- package/templates/claude/skills/assets/templates/archive/_index.md +22 -0
- package/templates/claude/skills/assets/templates/context.md +82 -0
- package/templates/claude/skills/assets/templates/modules/_index.md +22 -0
- package/templates/claude/skills/assets/templates/modules/module.md +35 -0
- package/templates/claude/skills/assets/templates/plan/proposal.md +104 -0
- package/templates/claude/skills/assets/templates/plan/tasks.md +49 -0
- package/templates/claude/skills/references/functions/auto.md +217 -0
- package/templates/claude/skills/references/functions/clean.md +167 -0
- package/templates/claude/skills/references/functions/commit.md +374 -0
- package/templates/claude/skills/references/functions/exec.md +178 -0
- package/templates/claude/skills/references/functions/help.md +105 -0
- package/templates/claude/skills/references/functions/init.md +228 -0
- package/templates/claude/skills/references/functions/plan.md +219 -0
- package/templates/claude/skills/references/functions/review.md +146 -0
- package/templates/claude/skills/references/functions/rollback.md +208 -0
- package/templates/claude/skills/references/functions/test.md +153 -0
- package/templates/claude/skills/references/functions/upgrade.md +371 -0
- package/templates/claude/skills/references/functions/validate.md +147 -0
- package/templates/claude/skills/references/rules/package.md +212 -0
- package/templates/claude/skills/references/rules/scaling.md +150 -0
- package/templates/claude/skills/references/rules/state.md +318 -0
- package/templates/claude/skills/references/rules/tools.md +371 -0
- package/templates/claude/skills/references/services/knowledge.md +408 -0
- package/templates/claude/skills/references/services/templates.md +344 -0
- package/templates/claude/skills/references/stages/analyze.md +201 -0
- package/templates/claude/skills/references/stages/design.md +379 -0
- package/templates/claude/skills/references/stages/develop.md +497 -0
- package/templates/claude/skills/references/stages/evaluate.md +286 -0
- package/templates/claude/skills/references/stages/tweak.md +244 -0
- package/templates/claude/skills/scripts/create_package.py +260 -0
- package/templates/claude/skills/scripts/list_packages.py +145 -0
- package/templates/claude/skills/scripts/migrate_package.py +399 -0
- package/templates/claude/skills/scripts/project_stats.py +438 -0
- package/templates/claude/skills/scripts/upgradewiki.py +321 -0
- package/templates/claude/skills/scripts/utils.py +596 -0
- package/templates/claude/skills/scripts/validate_package.py +309 -0
- package/templates/codex/prompts/hello.md +757 -0
- package/templates/codex/skills/SKILL.md +74 -0
- package/templates/codex/skills/SKILL.toml +7 -0
- package/templates/codex/skills/assets/icon-large.svg +12 -0
- package/templates/codex/skills/assets/icon-small-400px.svg +12 -0
- package/templates/codex/skills/assets/templates/CHANGELOG.md +24 -0
- package/templates/codex/skills/assets/templates/CHANGELOG_{YYYY}.md +25 -0
- package/templates/codex/skills/assets/templates/INDEX.md +36 -0
- package/templates/codex/skills/assets/templates/archive/_index.md +22 -0
- package/templates/codex/skills/assets/templates/context.md +82 -0
- package/templates/codex/skills/assets/templates/modules/_index.md +22 -0
- package/templates/codex/skills/assets/templates/modules/module.md +35 -0
- package/templates/codex/skills/assets/templates/plan/proposal.md +104 -0
- package/templates/codex/skills/assets/templates/plan/tasks.md +29 -0
- package/templates/codex/skills/references/functions/auto.md +181 -0
- package/templates/codex/skills/references/functions/brain.md +275 -0
- package/templates/codex/skills/references/functions/clean.md +154 -0
- package/templates/codex/skills/references/functions/commit.md +265 -0
- package/templates/codex/skills/references/functions/debug/condition-based-waiting.md +151 -0
- package/templates/codex/skills/references/functions/debug/defense-in-depth.md +147 -0
- package/templates/codex/skills/references/functions/debug/root-cause-tracing.md +168 -0
- package/templates/codex/skills/references/functions/debug.md +389 -0
- package/templates/codex/skills/references/functions/exec.md +153 -0
- package/templates/codex/skills/references/functions/help.md +101 -0
- package/templates/codex/skills/references/functions/init.md +221 -0
- package/templates/codex/skills/references/functions/plan.md +178 -0
- package/templates/codex/skills/references/functions/review.md +135 -0
- package/templates/codex/skills/references/functions/rlm.md +864 -0
- package/templates/codex/skills/references/functions/rollback.md +190 -0
- package/templates/codex/skills/references/functions/test.md +140 -0
- package/templates/codex/skills/references/functions/upgrade.md +363 -0
- package/templates/codex/skills/references/functions/validate.md +135 -0
- package/templates/codex/skills/references/rules/cache.md +136 -0
- package/templates/codex/skills/references/rules/scaling.md +124 -0
- package/templates/codex/skills/references/rules/state.md +201 -0
- package/templates/codex/skills/references/rules/tools.md +301 -0
- package/templates/codex/skills/references/services/attention.md +53 -0
- package/templates/codex/skills/references/services/knowledge.md +559 -0
- package/templates/codex/skills/references/services/package.md +383 -0
- package/templates/codex/skills/references/services/templates.md +390 -0
- package/templates/codex/skills/references/stages/analyze.md +191 -0
- package/templates/codex/skills/references/stages/design.md +355 -0
- package/templates/codex/skills/references/stages/develop.md +520 -0
- package/templates/codex/skills/references/stages/tweak.md +239 -0
- package/templates/codex/skills/rlm/__init__.py +39 -0
- package/templates/codex/skills/rlm/agent_orchestrator.py +422 -0
- package/templates/codex/skills/rlm/context_manager.py +366 -0
- package/templates/codex/skills/rlm/engine.py +915 -0
- package/templates/codex/skills/rlm/folding.py +391 -0
- package/templates/codex/skills/rlm/repl.py +452 -0
- package/templates/codex/skills/rlm/roles/analyzer.md +66 -0
- package/templates/codex/skills/rlm/roles/designer.md +94 -0
- package/templates/codex/skills/rlm/roles/explorer.md +43 -0
- package/templates/codex/skills/rlm/roles/implementer.md +62 -0
- package/templates/codex/skills/rlm/roles/kb_keeper.md +138 -0
- package/templates/codex/skills/rlm/roles/pkg_keeper.md +163 -0
- package/templates/codex/skills/rlm/roles/reviewer.md +74 -0
- package/templates/codex/skills/rlm/roles/synthesizer.md +90 -0
- package/templates/codex/skills/rlm/roles/tester.md +83 -0
- package/templates/codex/skills/rlm/schemas/agent_result.json +174 -0
- package/templates/codex/skills/rlm/session.py +376 -0
- package/templates/codex/skills/rlm/shared_tasks.py +370 -0
- package/templates/codex/skills/scripts/create_package.py +260 -0
- package/templates/codex/skills/scripts/list_packages.py +145 -0
- package/templates/codex/skills/scripts/migrate_package.py +399 -0
- package/templates/codex/skills/scripts/project_stats.py +438 -0
- package/templates/codex/skills/scripts/upgradewiki.py +321 -0
- package/templates/codex/skills/scripts/utils.py +596 -0
- package/templates/codex/skills/scripts/validate_package.py +309 -0
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
# 知识库服务 (KnowledgeService)
|
|
2
|
+
|
|
3
|
+
本模块定义知识库服务的完整规范,包括服务接口、执行者、数据所有权和同步规则。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 服务概述
|
|
8
|
+
|
|
9
|
+
> 📌 规则引用: 知识库开关检查规则详见 G1 "KB开关检查规则"
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
服务名称: KnowledgeService(知识库服务)
|
|
13
|
+
服务类型: 领域服务 (Domain Service)
|
|
14
|
+
适用范围: 所有涉及知识库操作的命令和阶段
|
|
15
|
+
|
|
16
|
+
核心职责:
|
|
17
|
+
- 知识库创建和初始化
|
|
18
|
+
- 项目上下文获取
|
|
19
|
+
- 知识库同步(代码变更后)
|
|
20
|
+
- CHANGELOG 更新管理
|
|
21
|
+
- 知识库一致性验证
|
|
22
|
+
|
|
23
|
+
专用执行者: kb_keeper(服务绑定型角色)
|
|
24
|
+
数据所有权:
|
|
25
|
+
- helloagents/INDEX.md
|
|
26
|
+
- helloagents/context.md
|
|
27
|
+
- helloagents/CHANGELOG.md
|
|
28
|
+
- helloagents/modules/(所有模块文档)
|
|
29
|
+
注意: 不包含 helloagents/plan/ 和 helloagents/archive/(属于 PackageService)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**执行时机:** 本模块被引用时首先执行知识库开关前置检查
|
|
33
|
+
|
|
34
|
+
**显式调用例外:** ~init 命令调用时,由 references/functions/init.md 处理确认流程
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 服务接口定义
|
|
39
|
+
|
|
40
|
+
> 📌 所有知识库操作必须通过服务接口,禁止直接操作文件
|
|
41
|
+
|
|
42
|
+
<service_interfaces>
|
|
43
|
+
|
|
44
|
+
### 接口1: create()
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
功能: 创建新的知识库
|
|
48
|
+
触发时机: ~init 命令
|
|
49
|
+
|
|
50
|
+
参数: 无(使用当前工作目录)
|
|
51
|
+
|
|
52
|
+
执行流程:
|
|
53
|
+
1. 检查 helloagents/ 目录是否存在
|
|
54
|
+
2. 调用 init.py 脚本创建目录结构
|
|
55
|
+
3. kb_keeper 扫描项目,填充文档内容
|
|
56
|
+
4. 验证知识库完整性
|
|
57
|
+
|
|
58
|
+
返回值:
|
|
59
|
+
success: boolean
|
|
60
|
+
kb_path: 知识库路径
|
|
61
|
+
files_created: 创建的文件列表
|
|
62
|
+
errors: 错误列表(如有)
|
|
63
|
+
|
|
64
|
+
保证:
|
|
65
|
+
- 知识库结构完整(见 G1 "知识库完整结构")
|
|
66
|
+
- 文档内容反映项目实际状态
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 接口2: sync(changes)
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
功能: 同步知识库与代码变更
|
|
73
|
+
触发时机: develop 阶段代码变更后(步骤10)
|
|
74
|
+
|
|
75
|
+
参数:
|
|
76
|
+
changes: 变更信息
|
|
77
|
+
- files: 变更的文件列表
|
|
78
|
+
- modules: 涉及的模块
|
|
79
|
+
- type: 变更类型(add | modify | delete)
|
|
80
|
+
|
|
81
|
+
执行流程:
|
|
82
|
+
1. 检查 KB_SKIPPED 状态
|
|
83
|
+
2. 调用 synthesizer 检查代码与文档一致性
|
|
84
|
+
3. kb_keeper 执行实际同步操作
|
|
85
|
+
4. 验证同步结果
|
|
86
|
+
|
|
87
|
+
同步内容:
|
|
88
|
+
必须同步:
|
|
89
|
+
- modules/{模块名}.md: 更新职责、接口、行为规范
|
|
90
|
+
- modules/_index.md: 更新模块索引
|
|
91
|
+
按需同步:
|
|
92
|
+
- context.md: 技术栈变化时
|
|
93
|
+
- INDEX.md: 项目结构重大变化时
|
|
94
|
+
|
|
95
|
+
返回值:
|
|
96
|
+
success: boolean
|
|
97
|
+
synced_files: 同步的文件列表
|
|
98
|
+
skipped: boolean(KB_SKIPPED = true 时)
|
|
99
|
+
errors: 错误列表(如有)
|
|
100
|
+
|
|
101
|
+
保证:
|
|
102
|
+
- 文档与代码一致
|
|
103
|
+
- 最小变更原则
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 接口3: query(scope)
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
功能: 查询项目上下文
|
|
110
|
+
触发时机: 任何需要项目上下文的场景
|
|
111
|
+
|
|
112
|
+
参数:
|
|
113
|
+
scope: 查询范围
|
|
114
|
+
- full: 完整上下文
|
|
115
|
+
- modules: 仅模块信息
|
|
116
|
+
- tech_stack: 仅技术栈
|
|
117
|
+
- specific: 指定文件/模块
|
|
118
|
+
|
|
119
|
+
执行流程:
|
|
120
|
+
1. 检查知识库是否存在
|
|
121
|
+
2. 存在: 从知识库读取
|
|
122
|
+
3. 不存在: 扫描代码库
|
|
123
|
+
|
|
124
|
+
返回值:
|
|
125
|
+
context: 项目上下文信息
|
|
126
|
+
source: "knowledge_base" | "code_scan"
|
|
127
|
+
|
|
128
|
+
执行者: 主代理(只读操作,无需 kb_keeper)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 接口4: validate()
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
功能: 验证知识库一致性
|
|
135
|
+
触发时机: ~validate 命令、流程验收
|
|
136
|
+
|
|
137
|
+
参数: 无
|
|
138
|
+
|
|
139
|
+
执行流程:
|
|
140
|
+
1. kb_keeper 检查知识库结构
|
|
141
|
+
2. 对比代码与文档
|
|
142
|
+
3. 识别不一致项
|
|
143
|
+
|
|
144
|
+
返回值:
|
|
145
|
+
valid: boolean
|
|
146
|
+
issues: 问题列表
|
|
147
|
+
- type: structure | content | outdated
|
|
148
|
+
- file: 相关文件
|
|
149
|
+
- message: 问题描述
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 接口5: updateChangelog(entry)
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
功能: 更新 CHANGELOG
|
|
156
|
+
触发时机: 方案包归档后(由 PackageService 联动调用)
|
|
157
|
+
|
|
158
|
+
参数:
|
|
159
|
+
entry: 变更记录
|
|
160
|
+
- version: 版本号
|
|
161
|
+
- date: 日期
|
|
162
|
+
- type: 变更类型(新增/修复/变更/移除/微调/文档)
|
|
163
|
+
- module: 模块名
|
|
164
|
+
- description: 变更描述
|
|
165
|
+
- package_link: 方案包链接
|
|
166
|
+
- decisions: 决策ID列表(可选)
|
|
167
|
+
|
|
168
|
+
执行流程:
|
|
169
|
+
1. 读取当前 CHANGELOG.md
|
|
170
|
+
2. 按格式规范追加记录
|
|
171
|
+
3. 写回文件
|
|
172
|
+
|
|
173
|
+
返回值:
|
|
174
|
+
success: boolean
|
|
175
|
+
version: 最终版本号
|
|
176
|
+
|
|
177
|
+
格式规范: 见下方 "CHANGELOG更新规则"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
</service_interfaces>
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 执行者: kb_keeper
|
|
185
|
+
|
|
186
|
+
```yaml
|
|
187
|
+
角色定位: 服务绑定型角色(非通用能力型)
|
|
188
|
+
绑定服务: KnowledgeService
|
|
189
|
+
角色预设: rlm/roles/kb_keeper.md
|
|
190
|
+
|
|
191
|
+
职责范围:
|
|
192
|
+
- 知识库创建和初始化填充
|
|
193
|
+
- 代码与文档一致性同步
|
|
194
|
+
- CHANGELOG 格式化更新
|
|
195
|
+
- 知识库结构验证
|
|
196
|
+
|
|
197
|
+
调用方式:
|
|
198
|
+
- 只能通过 KnowledgeService 接口调用
|
|
199
|
+
- 禁止阶段模块直接调用 kb_keeper
|
|
200
|
+
|
|
201
|
+
协作关系:
|
|
202
|
+
- 调用前: synthesizer 检查代码与文档一致性
|
|
203
|
+
- 调用后: kb_keeper 执行实际同步操作
|
|
204
|
+
- 接收 PackageService 的归档通知 → 更新 CHANGELOG
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 数据所有权
|
|
210
|
+
|
|
211
|
+
```yaml
|
|
212
|
+
独占写权限:
|
|
213
|
+
helloagents/:
|
|
214
|
+
- INDEX.md
|
|
215
|
+
- context.md
|
|
216
|
+
- CHANGELOG.md
|
|
217
|
+
- CHANGELOG_{YYYY}.md(大型项目分片)
|
|
218
|
+
- modules/_index.md
|
|
219
|
+
- modules/*.md
|
|
220
|
+
|
|
221
|
+
排除(属于 PackageService):
|
|
222
|
+
- helloagents/plan/
|
|
223
|
+
- helloagents/archive/
|
|
224
|
+
|
|
225
|
+
共享读权限:
|
|
226
|
+
- 所有阶段模块可读取知识库内容
|
|
227
|
+
- PackageService 可读取 CHANGELOG 格式
|
|
228
|
+
|
|
229
|
+
写入规则:
|
|
230
|
+
- 只有 KnowledgeService 可以修改知识库文件
|
|
231
|
+
- PackageService 通过 updateChangelog 接口请求 CHANGELOG 更新
|
|
232
|
+
- 直接修改将破坏数据一致性
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## 核心术语补充说明
|
|
238
|
+
|
|
239
|
+
> 📌 规则引用: 基础术语定义见主配置(G1: 知识库结构、G2: EHRB、G6: 方案包类型)
|
|
240
|
+
|
|
241
|
+
```yaml
|
|
242
|
+
SSOT 冲突处理:
|
|
243
|
+
- 当知识库与代码不一致时,以代码为准(执行事实)
|
|
244
|
+
- 更新知识库以反映代码的真实状态
|
|
245
|
+
|
|
246
|
+
方案包完整性检查:
|
|
247
|
+
- 必需文件(proposal.md + tasks.md)存在
|
|
248
|
+
- 文件非空
|
|
249
|
+
- tasks.md至少1个任务项
|
|
250
|
+
|
|
251
|
+
决策ID:
|
|
252
|
+
- 格式: {方案包名}#D{NNN}
|
|
253
|
+
- 全局唯一可追溯
|
|
254
|
+
- 详细格式见 templates.md
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
<context_acquisition_rules>
|
|
260
|
+
## 项目上下文获取策略
|
|
261
|
+
|
|
262
|
+
### 步骤1: 检查知识库(如存在)
|
|
263
|
+
|
|
264
|
+
```yaml
|
|
265
|
+
核心文件:
|
|
266
|
+
- INDEX.md
|
|
267
|
+
- context.md
|
|
268
|
+
|
|
269
|
+
按需选择:
|
|
270
|
+
- modules/_index.md
|
|
271
|
+
- modules/{module}.md
|
|
272
|
+
- CHANGELOG.md
|
|
273
|
+
- archive/_index.md
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### 步骤2: 知识库不存在/信息不足 → 全面扫描代码库
|
|
277
|
+
|
|
278
|
+
```yaml
|
|
279
|
+
扫描内容:
|
|
280
|
+
文件查找: 获取文件结构
|
|
281
|
+
内容搜索: 搜索关键信息
|
|
282
|
+
配置文件: 识别技术栈(根据项目自动识别)
|
|
283
|
+
|
|
284
|
+
获取目标:
|
|
285
|
+
- 架构
|
|
286
|
+
- 技术栈
|
|
287
|
+
- 模块结构
|
|
288
|
+
- 技术约束
|
|
289
|
+
```
|
|
290
|
+
</context_acquisition_rules>
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
<kb_sync_rules>
|
|
295
|
+
## 知识库同步
|
|
296
|
+
|
|
297
|
+
### 执行规则
|
|
298
|
+
|
|
299
|
+
```yaml
|
|
300
|
+
执行时机: 开发实施阶段完成代码改动后(步骤10)
|
|
301
|
+
前置检查: KB_SKIPPED = true 时跳过,标注"⚠️ 知识库同步已跳过"
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### 同步内容
|
|
305
|
+
|
|
306
|
+
```yaml
|
|
307
|
+
必须同步:
|
|
308
|
+
modules/{模块名}.md:
|
|
309
|
+
- 更新受影响模块的职责、接口定义、行为规范、依赖关系
|
|
310
|
+
- 接口变更时更新"接口定义"章节(公共API、数据结构)
|
|
311
|
+
- 新增模块时创建对应文档
|
|
312
|
+
- 删除模块时标记废弃或移除文档
|
|
313
|
+
|
|
314
|
+
modules/_index.md:
|
|
315
|
+
- 新增/删除模块时更新索引
|
|
316
|
+
- 模块重命名时更新引用
|
|
317
|
+
|
|
318
|
+
按需同步:
|
|
319
|
+
context.md:
|
|
320
|
+
- 技术栈变化时更新(新增/移除依赖)
|
|
321
|
+
- 架构调整时更新
|
|
322
|
+
- 识别到技术债务时更新"已知技术债务"章节
|
|
323
|
+
|
|
324
|
+
INDEX.md:
|
|
325
|
+
- 项目结构有重大变化时更新
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### 同步原则
|
|
329
|
+
|
|
330
|
+
```yaml
|
|
331
|
+
真实性基准:
|
|
332
|
+
- 代码是执行真实性的唯一来源(Ground Truth)
|
|
333
|
+
- 文档必须反映代码的客观事实
|
|
334
|
+
- 不一致时更新文档,除非代码有明显Bug
|
|
335
|
+
|
|
336
|
+
最小变更:
|
|
337
|
+
- 只更新与本次改动相关的内容
|
|
338
|
+
- 不主动重构或优化无关文档
|
|
339
|
+
|
|
340
|
+
保持一致:
|
|
341
|
+
- 术语、命名与代码保持一致
|
|
342
|
+
- 模块边界与代码结构对应
|
|
343
|
+
```
|
|
344
|
+
</kb_sync_rules>
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
<changelog_rules>
|
|
349
|
+
## CHANGELOG更新规则
|
|
350
|
+
|
|
351
|
+
### 格式强制要求
|
|
352
|
+
|
|
353
|
+
```yaml
|
|
354
|
+
更新CHANGELOG时必须:
|
|
355
|
+
1. 严格按照下方格式模板更新
|
|
356
|
+
2. 包含所有必填字段
|
|
357
|
+
3. 方案包链接使用相对路径
|
|
358
|
+
4. 决策ID格式正确({feature}#D{NNN})
|
|
359
|
+
|
|
360
|
+
禁止:
|
|
361
|
+
- 简化或省略格式
|
|
362
|
+
- 只写一行简单描述
|
|
363
|
+
- 省略方案包链接
|
|
364
|
+
- 省略决策引用(如有决策)
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### 变更记录格式(MUST FOLLOW)
|
|
368
|
+
|
|
369
|
+
```markdown
|
|
370
|
+
## [X.Y.Z] - YYYY-MM-DD
|
|
371
|
+
|
|
372
|
+
### 新增
|
|
373
|
+
- **[{模块名}]**: {变更描述}
|
|
374
|
+
- 方案: [{YYYYMMDDHHMM}_{feature}](archive/{YYYY-MM}/{YYYYMMDDHHMM}_{feature}/)
|
|
375
|
+
- 决策: {feature}#D001({决策摘要}), {feature}#D002({决策摘要})
|
|
376
|
+
|
|
377
|
+
### 修复
|
|
378
|
+
- **[{模块名}]**: {修复描述}
|
|
379
|
+
- 方案: [{YYYYMMDDHHMM}_{fix}](archive/{YYYY-MM}/{YYYYMMDDHHMM}_{fix}/)
|
|
380
|
+
|
|
381
|
+
### 微调
|
|
382
|
+
- **[{模块名}]**: {微调描述}
|
|
383
|
+
- 类型: 微调(无方案包)
|
|
384
|
+
- 文件: {文件路径}:{行号范围}
|
|
385
|
+
|
|
386
|
+
### 回滚
|
|
387
|
+
- **[{模块名}]**: 回滚至 {版本/提交}
|
|
388
|
+
- 原因: {回滚原因}
|
|
389
|
+
- 方案: [{原方案包}](archive/{YYYY-MM}/{原方案包}/)
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### 轻量迭代/标准开发模式记录规则
|
|
393
|
+
|
|
394
|
+
```yaml
|
|
395
|
+
触发条件: 开发实施阶段完成后
|
|
396
|
+
记录位置: helloagents/CHANGELOG.md
|
|
397
|
+
|
|
398
|
+
必填字段:
|
|
399
|
+
- 版本号: [X.Y.Z]
|
|
400
|
+
- 日期: YYYY-MM-DD
|
|
401
|
+
- 分类: 新增/修复/变更/移除(根据变更类型)
|
|
402
|
+
- 模块名: 涉及的模块
|
|
403
|
+
- 变更描述: 清晰描述变更内容
|
|
404
|
+
- 方案链接: 指向 archive/ 中的方案包
|
|
405
|
+
- 决策引用: 如有技术决策,引用决策ID
|
|
406
|
+
|
|
407
|
+
示例:
|
|
408
|
+
## [1.2.0] - 2025-01-15
|
|
409
|
+
|
|
410
|
+
### 新增
|
|
411
|
+
- **[用户模块]**: 添加用户登录功能
|
|
412
|
+
- 方案: [202501151430_user-login](archive/2025-01/202501151430_user-login/)
|
|
413
|
+
- 决策: user-login#D001(选择JWT认证)
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### 微调模式记录规则
|
|
417
|
+
|
|
418
|
+
```yaml
|
|
419
|
+
触发条件: 改动≤2文件且≤30行,无方案包
|
|
420
|
+
记录位置: helloagents/CHANGELOG.md 的"微调"分类下
|
|
421
|
+
格式规范: 见上方"变更记录格式"
|
|
422
|
+
|
|
423
|
+
特殊规则(详见 references/stages/tweak.md):
|
|
424
|
+
- 微调模式始终设置 KB_SKIPPED = true,不触发完整知识库创建
|
|
425
|
+
- KB_CREATE_MODE = 0 且 helloagents/ 不存在: 跳过 CHANGELOG 更新
|
|
426
|
+
- KB_CREATE_MODE = 1/2/3 且 helloagents/ 不存在: 仅创建 helloagents/ 和 CHANGELOG.md
|
|
427
|
+
- KB_CREATE_MODE = 1/2/3 且 helloagents/ 已存在: 更新 CHANGELOG.md
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
> 📌 规则引用: 目录/文件创建按 G1 "目录/文件自动创建规则" 执行
|
|
431
|
+
|
|
432
|
+
### Overview 类型方案包记录规则
|
|
433
|
+
|
|
434
|
+
```yaml
|
|
435
|
+
触发条件: overview 类型方案包被归档时
|
|
436
|
+
记录位置: helloagents/CHANGELOG.md 的"文档"分类下
|
|
437
|
+
执行时机: 归档操作完成后
|
|
438
|
+
|
|
439
|
+
格式规范:
|
|
440
|
+
## [X.Y.Z] - YYYY-MM-DD
|
|
441
|
+
|
|
442
|
+
### 文档
|
|
443
|
+
- **[{模块名/主题}]**: {概述文档描述}
|
|
444
|
+
- 方案: [{YYYYMMDDHHMM}_{feature}](archive/{YYYY-MM}/{YYYYMMDDHHMM}_{feature}/)
|
|
445
|
+
- 类型: 概述文档(无执行任务)
|
|
446
|
+
|
|
447
|
+
版本号规则:
|
|
448
|
+
- overview 类型通常为文档性变更,使用 Patch 版本递增
|
|
449
|
+
- 如涉及重大架构说明,可由用户指定版本号
|
|
450
|
+
|
|
451
|
+
KB_CREATE_MODE 影响:
|
|
452
|
+
- KB_CREATE_MODE = 0: 跳过 CHANGELOG 记录
|
|
453
|
+
- KB_CREATE_MODE = 1/2/3: 正常记录
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### 版本号管理
|
|
457
|
+
|
|
458
|
+
```yaml
|
|
459
|
+
版本号格式: X.Y.Z(语义化版本)
|
|
460
|
+
X(Major): 破坏性变更
|
|
461
|
+
Y(Minor): 新功能(向后兼容)
|
|
462
|
+
Z(Patch): 修复/优化
|
|
463
|
+
|
|
464
|
+
版本号获取优先级:
|
|
465
|
+
1. 用户明确指定
|
|
466
|
+
2. 从主模块解析(按下方查找表)
|
|
467
|
+
3. 从Git标签解析(如有,格式: vX.Y.Z 或 X.Y.Z)
|
|
468
|
+
4. 使用已有CHANGELOG最新版本号递增
|
|
469
|
+
|
|
470
|
+
版本号校验:
|
|
471
|
+
格式校验: 必须匹配 X.Y.Z 模式(X/Y/Z为非负整数)
|
|
472
|
+
格式不合法时: 提示用户确认或使用默认规则
|
|
473
|
+
|
|
474
|
+
自动递增规则(无法获取版本号时):
|
|
475
|
+
已有CHANGELOG:
|
|
476
|
+
- 读取最新版本号
|
|
477
|
+
- 根据变更类型递增:
|
|
478
|
+
- 破坏性变更 → Major+1, Minor=0, Patch=0
|
|
479
|
+
- 新功能 → Minor+1, Patch=0
|
|
480
|
+
- 修复/优化/微调 → Patch+1
|
|
481
|
+
无CHANGELOG或无有效版本:
|
|
482
|
+
- 使用 0.1.0 作为初始版本
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
### 多语言版本号来源
|
|
486
|
+
|
|
487
|
+
| 语言/框架 | 主来源 | 次来源 |
|
|
488
|
+
|----------|--------|--------|
|
|
489
|
+
| JavaScript/TypeScript | package.json → version | index.js → VERSION常量 |
|
|
490
|
+
| Python | pyproject.toml → [project].version | __init__.py → __version__ |
|
|
491
|
+
| Java(Maven) | pom.xml → <version> | - |
|
|
492
|
+
| Java(Gradle) | gradle.properties/build.gradle → version | - |
|
|
493
|
+
| Go | Git标签(tag) | - |
|
|
494
|
+
| Rust | Cargo.toml → [package].version | - |
|
|
495
|
+
| .NET | .csproj → <Version>/<AssemblyVersion> | - |
|
|
496
|
+
| C/C++ | CMakeLists.txt → project(...VERSION) | 头文件 → #define PROJECT_VERSION |
|
|
497
|
+
</changelog_rules>
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
<large_project_scaling>
|
|
502
|
+
## 大型项目扩展性
|
|
503
|
+
|
|
504
|
+
> 📌 规则引用: 详细规则见 references/rules/scaling.md
|
|
505
|
+
|
|
506
|
+
```yaml
|
|
507
|
+
核心要点:
|
|
508
|
+
判定条件: 按 G9 "大型项目判定" 条件执行
|
|
509
|
+
触发时机: 项目分析阶段时自动评估
|
|
510
|
+
主要策略: CHANGELOG按年份分片、modules按类型分类、archive按年份索引
|
|
511
|
+
详细规则: 见 references/rules/scaling.md
|
|
512
|
+
```
|
|
513
|
+
</large_project_scaling>
|
|
514
|
+
|
|
515
|
+
---
|
|
516
|
+
|
|
517
|
+
## 异常处理
|
|
518
|
+
|
|
519
|
+
```yaml
|
|
520
|
+
知识库不存在:
|
|
521
|
+
- 项目上下文获取时自动切换为代码库扫描
|
|
522
|
+
- 提示用户可执行 ~init 创建知识库
|
|
523
|
+
|
|
524
|
+
同步目标文件不存在:
|
|
525
|
+
- 按 G1 "目录/文件自动创建规则" 自动创建
|
|
526
|
+
- 创建后继续同步流程
|
|
527
|
+
|
|
528
|
+
CHANGELOG格式异常:
|
|
529
|
+
- 尝试解析已有格式
|
|
530
|
+
- 无法解析时在文件末尾追加新版本记录
|
|
531
|
+
- 输出警告,建议手动检查格式
|
|
532
|
+
|
|
533
|
+
版本号解析失败:
|
|
534
|
+
- 按优先级尝试下一来源
|
|
535
|
+
- 全部失败时使用自动递增规则
|
|
536
|
+
- 记录警告日志
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
## 服务引用关系
|
|
542
|
+
|
|
543
|
+
```yaml
|
|
544
|
+
被引用:
|
|
545
|
+
- ~init 命令(知识库初始化)
|
|
546
|
+
- ~upgrade 命令(知识库升级)
|
|
547
|
+
- 开发实施阶段(知识库同步)
|
|
548
|
+
- 微调模式(CHANGELOG更新)
|
|
549
|
+
- ~rollback 命令(CHANGELOG回滚记录)
|
|
550
|
+
|
|
551
|
+
引用:
|
|
552
|
+
- G1 KB开关检查规则
|
|
553
|
+
- G1 目录/文件自动创建规则
|
|
554
|
+
- G1 知识库结构
|
|
555
|
+
- G2 EHRB规则
|
|
556
|
+
- G6 方案包类型
|
|
557
|
+
- references/rules/scaling.md(大型项目扩展规则)
|
|
558
|
+
- references/services/templates.md(模板服务)
|
|
559
|
+
```
|