@pm_zhousl/xinyun-ai-init 1.1.6 → 1.3.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/init/xinyun-ai-init/README.md +102 -2
- package/init/xinyun-ai-init/rules/directory-self-completion.md +5 -1
- package/init/xinyun-ai-init/rules/init-rules.md +6 -0
- package/init/xinyun-ai-init/rules/session-workbench.md +71 -0
- package/init/xinyun-ai-init/rules/upgrade-rules.md +6 -0
- package/init/xinyun-ai-init/templates/AGENTS.template.md +61 -1
- package/init/xinyun-ai-init/templates/core-rules.template.md +69 -2
- package/init/xinyun-ai-init/templates/current-task.template.md +29 -0
- package/init/xinyun-ai-init/templates/manifest.template.json +10 -3
- package/init/xinyun-ai-init/templates/project-check.template.md +5 -0
- package/init/xinyun-ai-init/templates/project-guide.template.md +25 -0
- package/init/xinyun-ai-init/templates/project-index.template.json +25 -1
- package/init/xinyun-ai-init/version.json +2 -2
- package/package.json +2 -1
- package/scripts/verify-init-package.js +196 -1
- package/test-scenarios/README.md +85 -0
- package/test-scenarios/review-template.md +63 -0
- package/test-scenarios/scenarios.md +431 -0
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
- 是否存在旧提示词 / 旧规则文件:待填写。
|
|
23
23
|
- 可接管内容:待填写。
|
|
24
24
|
- 不接管内容:待填写。
|
|
25
|
+
- 待确认内容:待填写。
|
|
25
26
|
- 不存在的旧路径:待填写。
|
|
26
27
|
|
|
27
28
|
## 旧规则失效判定
|
|
@@ -30,6 +31,30 @@
|
|
|
30
31
|
- 旧 AI 文档、旧 docs、旧提示词、旧规则文件只作为历史线索,不作为执行依据。
|
|
31
32
|
- 如果旧规则路径在当前文件系统中不存在,必须标注为 `当前项目未发现`。
|
|
32
33
|
- 如旧规则与 `xinyun-ai/` 冲突,以 `xinyun-ai/` 为准。
|
|
34
|
+
- 规则优先级:`xinyun-ai/` 当前正式规则 > 当前文件系统事实 > 旧 AI 文档 > 历史会话记忆。
|
|
35
|
+
- 历史会话记忆不得覆盖当前文件系统事实。
|
|
36
|
+
|
|
37
|
+
## 中文需求解析与任务分型
|
|
38
|
+
|
|
39
|
+
- 是否触发解析:待填写。
|
|
40
|
+
- 用户原话:待填写。
|
|
41
|
+
- AI 理解:待填写。
|
|
42
|
+
- 任务类型:待填写。
|
|
43
|
+
- 影响对象:待填写。
|
|
44
|
+
- 风险词:待填写。
|
|
45
|
+
- 是否需要追问:待填写。
|
|
46
|
+
|
|
47
|
+
## 全局影响审视
|
|
48
|
+
|
|
49
|
+
- 是否触发全局审视:待填写。
|
|
50
|
+
- reviewId:待填写。
|
|
51
|
+
- 触发原因:待填写。
|
|
52
|
+
- 影响层:待填写。
|
|
53
|
+
- 已确认内容:待填写。
|
|
54
|
+
- 推断内容:待填写。
|
|
55
|
+
- 待确认内容:待填写。
|
|
56
|
+
- 风险点:待填写。
|
|
57
|
+
- 后续动作:待填写。
|
|
33
58
|
|
|
34
59
|
## 端、模块、技术栈与本地启动方式
|
|
35
60
|
|
|
@@ -12,7 +12,31 @@
|
|
|
12
12
|
"handoffs": {
|
|
13
13
|
"activeTask": "none",
|
|
14
14
|
"taskFile": "xinyun-ai/index/session-current.md",
|
|
15
|
-
"handoffFile": "xinyun-ai/handoffs/current-execution.md"
|
|
15
|
+
"handoffFile": "xinyun-ai/handoffs/current-execution.md",
|
|
16
|
+
"contract": "single-project-single-active-task-main-session-plus-execution-session"
|
|
17
|
+
},
|
|
18
|
+
"delivery": {
|
|
19
|
+
"confirmationGate": true,
|
|
20
|
+
"productionCopyMode": "restrained",
|
|
21
|
+
"outputStyle": "conclusion-first"
|
|
22
|
+
},
|
|
23
|
+
"legacyHandoff": {
|
|
24
|
+
"sources": [],
|
|
25
|
+
"adoptable": [],
|
|
26
|
+
"ignored": [],
|
|
27
|
+
"pending": [],
|
|
28
|
+
"notFound": []
|
|
29
|
+
},
|
|
30
|
+
"globalReview": {
|
|
31
|
+
"enabled": true,
|
|
32
|
+
"directory": "xinyun-ai/global-review/",
|
|
33
|
+
"indexFile": "xinyun-ai/global-review/index.json",
|
|
34
|
+
"createOnFastInit": false
|
|
35
|
+
},
|
|
36
|
+
"requirementParsing": {
|
|
37
|
+
"enabled": true,
|
|
38
|
+
"trigger": "ambiguous_or_change_or_high_risk",
|
|
39
|
+
"ordinaryConsultationRequiresFullParsing": false
|
|
16
40
|
},
|
|
17
41
|
"lastUpdatedAt": ""
|
|
18
42
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "xinyun-ai-init",
|
|
3
3
|
"displayName": "欣芸技术开发 Agent 流初始化包",
|
|
4
|
-
"version": "1.
|
|
5
|
-
"scriptVersion": "2026.07.
|
|
4
|
+
"version": "1.3.0",
|
|
5
|
+
"scriptVersion": "2026.07.16",
|
|
6
6
|
"schemaVersion": "1",
|
|
7
7
|
"defaultMode": "fast-init",
|
|
8
8
|
"targetWorkspace": "xinyun-ai",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pm_zhousl/xinyun-ai-init",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "欣芸技术开发 Agent 流初始化包",
|
|
5
5
|
"bin": {
|
|
6
6
|
"xinyun-ai-init": "bin/xinyun-ai-init.js"
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"bin/",
|
|
10
10
|
"init/",
|
|
11
11
|
"scripts/",
|
|
12
|
+
"test-scenarios/",
|
|
12
13
|
"README.md"
|
|
13
14
|
],
|
|
14
15
|
"scripts": {
|
|
@@ -71,7 +71,9 @@ function walkFiles(dirPath) {
|
|
|
71
71
|
|
|
72
72
|
function verifyPackageFiles() {
|
|
73
73
|
const packageJson = JSON.parse(readText("package.json"));
|
|
74
|
-
const
|
|
74
|
+
const versionJson = JSON.parse(readText("init/xinyun-ai-init/version.json"));
|
|
75
|
+
const manifestTemplate = JSON.parse(readText("init/xinyun-ai-init/templates/manifest.template.json"));
|
|
76
|
+
const expectedFiles = ["bin/", "init/", "scripts/", "test-scenarios/", "README.md"];
|
|
75
77
|
|
|
76
78
|
for (const expected of expectedFiles) {
|
|
77
79
|
addCheck(
|
|
@@ -86,6 +88,22 @@ function verifyPackageFiles() {
|
|
|
86
88
|
packageJson.scripts && packageJson.scripts["verify:init"] === "node ./scripts/verify-init-package.js",
|
|
87
89
|
"缺少发布前校验命令"
|
|
88
90
|
);
|
|
91
|
+
|
|
92
|
+
addCheck(
|
|
93
|
+
"package.json 版本为 1.3.0",
|
|
94
|
+
packageJson.version === "1.3.0",
|
|
95
|
+
`当前版本为 ${packageJson.version}`
|
|
96
|
+
);
|
|
97
|
+
addCheck(
|
|
98
|
+
"version.json 版本为 1.3.0",
|
|
99
|
+
versionJson.version === "1.3.0",
|
|
100
|
+
`当前版本为 ${versionJson.version}`
|
|
101
|
+
);
|
|
102
|
+
addCheck(
|
|
103
|
+
"manifest.template.json 版本为 1.3.0",
|
|
104
|
+
manifestTemplate.xinyunAiVersion === "1.3.0",
|
|
105
|
+
`当前版本为 ${manifestTemplate.xinyunAiVersion}`
|
|
106
|
+
);
|
|
89
107
|
}
|
|
90
108
|
|
|
91
109
|
function verifyCliBoundary() {
|
|
@@ -110,12 +128,37 @@ function verifyInitRules() {
|
|
|
110
128
|
"该授权只覆盖 AI 工作区初始化,不代表授权修改业务代码",
|
|
111
129
|
"标准改动计划",
|
|
112
130
|
"前端改动模式:样式微调 / 新页面 / 页面重写 / 组件重构 / 不涉及",
|
|
131
|
+
"页面类型:生产页面 / 原型页面 / 营销页面 / 不涉及",
|
|
132
|
+
"页面文案预算",
|
|
133
|
+
"用户确认状态",
|
|
134
|
+
"发现新增影响范围",
|
|
113
135
|
"当前项目 AI 规则以 `xinyun-ai/` 为准",
|
|
114
136
|
"旧 AI 文档、旧 docs、旧提示词、旧规则文件只作为历史线索,不作为执行依据",
|
|
137
|
+
"规则优先级",
|
|
138
|
+
"`xinyun-ai/` 当前正式规则",
|
|
139
|
+
"当前文件系统事实",
|
|
140
|
+
"历史会话记忆",
|
|
141
|
+
"先识别、再分类、再接管",
|
|
142
|
+
"可接管",
|
|
143
|
+
"不接管",
|
|
144
|
+
"待确认",
|
|
145
|
+
"不创建自动迁移脚本",
|
|
146
|
+
"中文需求解析",
|
|
147
|
+
"用户原话",
|
|
148
|
+
"任务类型至少包括",
|
|
149
|
+
"高歧义表达",
|
|
150
|
+
"优化一下",
|
|
151
|
+
"处理一下",
|
|
152
|
+
"高风险词",
|
|
153
|
+
"订单、支付、退款",
|
|
154
|
+
"最多追问 1-3 个关键问题",
|
|
115
155
|
"ThinkPHP、uni-app、微信小程序",
|
|
116
156
|
"涉及 SQL / 数据库改动时,必须单独输出 SQL 执行提醒",
|
|
117
157
|
"商业逻辑",
|
|
118
158
|
"xinyun-ai/global-review/",
|
|
159
|
+
"首次极速初始化不强制创建 `xinyun-ai/global-review/`",
|
|
160
|
+
"reviewId",
|
|
161
|
+
"xinyun-ai/global-review/index.json",
|
|
119
162
|
"Git 工作区与危险操作门禁",
|
|
120
163
|
"单仓库",
|
|
121
164
|
"多仓库",
|
|
@@ -129,6 +172,14 @@ function verifyInitRules() {
|
|
|
129
172
|
"Vue2 / Vue3",
|
|
130
173
|
"React",
|
|
131
174
|
"第三方库",
|
|
175
|
+
"生产页面默认采用克制文案",
|
|
176
|
+
"本页面用于",
|
|
177
|
+
"智能、高效、便捷、全方位",
|
|
178
|
+
"真实业务表达",
|
|
179
|
+
"删除非必要说明后核心操作仍清楚",
|
|
180
|
+
"明显 AI 话术",
|
|
181
|
+
"不做无关全量扫描",
|
|
182
|
+
"少复述规则",
|
|
132
183
|
"双会话执行闭环(MVP)",
|
|
133
184
|
"xinyun-ai/index/session-current.md",
|
|
134
185
|
"xinyun-ai/handoffs/current-execution.md",
|
|
@@ -136,27 +187,68 @@ function verifyInitRules() {
|
|
|
136
187
|
"executionId",
|
|
137
188
|
"待主会话复核",
|
|
138
189
|
"不得自动重试",
|
|
190
|
+
"是否执行过高风险操作",
|
|
191
|
+
"交付输出要求",
|
|
139
192
|
]);
|
|
140
193
|
|
|
141
194
|
requireIncludes("init/xinyun-ai-init/templates/AGENTS.template.md", [
|
|
142
195
|
"当前项目 AI 规则以 `xinyun-ai/` 为准",
|
|
196
|
+
"规则优先级",
|
|
197
|
+
"历史会话记忆不得覆盖当前文件系统事实",
|
|
198
|
+
"先识别、再分类、再接管",
|
|
199
|
+
"未确认内容不得直接写入正式规则",
|
|
143
200
|
"任何代码、配置、数据库、依赖、构建脚本、测试逻辑、API 行为、UI 行为或业务流程修改前",
|
|
144
201
|
"只有用户明确回复“确认执行”“可以修改”“按方案改”“同意”等类似内容后",
|
|
202
|
+
"发现新增影响范围",
|
|
145
203
|
"前端组件调用、框架 API 和交互能力优先使用官方组件",
|
|
204
|
+
"页面类型必须标注为:生产页面 / 原型页面 / 营销页面 / 不涉及",
|
|
205
|
+
"生产页面默认采用克制文案",
|
|
206
|
+
"明显 AI 话术",
|
|
146
207
|
"单仓库 / 多仓库 / 混合仓库 / 无 Git",
|
|
147
208
|
"不得自动执行 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout` 回滚或切分支",
|
|
209
|
+
"双会话文件契约",
|
|
210
|
+
"失败、中断、超时后不得自动重试",
|
|
211
|
+
"中文需求解析与任务分型",
|
|
212
|
+
"高歧义表达包括",
|
|
213
|
+
"高风险词包括",
|
|
214
|
+
"最多追问 1-3 个关键问题",
|
|
215
|
+
"全局影响审视",
|
|
216
|
+
"首次极速初始化不强制创建",
|
|
148
217
|
]);
|
|
149
218
|
|
|
150
219
|
requireIncludes("init/xinyun-ai-init/templates/core-rules.template.md", [
|
|
151
220
|
"标准改动计划",
|
|
152
221
|
"前端改动模式:样式微调 / 新页面 / 页面重写 / 组件重构 / 不涉及",
|
|
222
|
+
"规则优先级",
|
|
223
|
+
"历史会话记忆不得覆盖当前文件系统事实",
|
|
224
|
+
"先识别、再分类、再接管",
|
|
225
|
+
"不创建自动迁移脚本",
|
|
226
|
+
"中文需求解析格式",
|
|
227
|
+
"用户原话",
|
|
228
|
+
"任务类型至少包括",
|
|
229
|
+
"高歧义表达包括",
|
|
230
|
+
"高风险词包括",
|
|
231
|
+
"最多追问 1-3 个关键问题",
|
|
232
|
+
"页面类型:生产页面 / 原型页面 / 营销页面 / 不涉及",
|
|
233
|
+
"页面文案预算",
|
|
234
|
+
"发现新增影响范围",
|
|
153
235
|
"有 CodeGraph 时,结构性问题优先使用 CodeGraph",
|
|
154
236
|
"发现可复用经验时,先记录为候选经验",
|
|
155
237
|
"前端官方组件与 API 优先",
|
|
156
238
|
"uni.*",
|
|
157
239
|
"Vue2 / Vue3",
|
|
158
240
|
"React 官方组件模式",
|
|
241
|
+
"生产页面默认采用克制文案",
|
|
242
|
+
"本页面用于",
|
|
243
|
+
"智能、高效、便捷、全方位",
|
|
244
|
+
"真实业务表达",
|
|
245
|
+
"删除非必要说明后核心操作仍清楚",
|
|
246
|
+
"不做无关全量扫描",
|
|
247
|
+
"少复述规则",
|
|
159
248
|
"Git 工作区与危险操作门禁",
|
|
249
|
+
"首次极速初始化不强制创建 `xinyun-ai/global-review/`",
|
|
250
|
+
"`reviewId`",
|
|
251
|
+
"xinyun-ai/global-review/index.json",
|
|
160
252
|
"单仓库 / 多仓库 / 混合仓库 / 无 Git",
|
|
161
253
|
"不得自动执行 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout` 回滚或切分支",
|
|
162
254
|
"双会话执行闭环(MVP)",
|
|
@@ -165,6 +257,108 @@ function verifyInitRules() {
|
|
|
165
257
|
"taskId",
|
|
166
258
|
"executionId",
|
|
167
259
|
"不得自动重试",
|
|
260
|
+
"人工启动第二会话",
|
|
261
|
+
"交付输出",
|
|
262
|
+
]);
|
|
263
|
+
|
|
264
|
+
requireIncludes("init/xinyun-ai-init/templates/current-task.template.md", [
|
|
265
|
+
"前端改动模式",
|
|
266
|
+
"中文需求解析",
|
|
267
|
+
"用户原话",
|
|
268
|
+
"任务类型",
|
|
269
|
+
"风险词",
|
|
270
|
+
"是否需要追问",
|
|
271
|
+
"页面类型",
|
|
272
|
+
"页面文案预算",
|
|
273
|
+
"用户确认状态",
|
|
274
|
+
"交付状态",
|
|
275
|
+
"下一步动作",
|
|
276
|
+
]);
|
|
277
|
+
|
|
278
|
+
requireIncludes("init/xinyun-ai-init/templates/project-index.template.json", [
|
|
279
|
+
"single-project-single-active-task-main-session-plus-execution-session",
|
|
280
|
+
"productionCopyMode",
|
|
281
|
+
"conclusion-first",
|
|
282
|
+
"legacyHandoff",
|
|
283
|
+
"globalReview",
|
|
284
|
+
"requirementParsing",
|
|
285
|
+
"createOnFastInit",
|
|
286
|
+
]);
|
|
287
|
+
|
|
288
|
+
requireIncludes("init/xinyun-ai-init/rules/session-workbench.md", [
|
|
289
|
+
"状态机至少包含",
|
|
290
|
+
"失败、中断、超时后不得自动重试",
|
|
291
|
+
"临时执行任务单建议结构",
|
|
292
|
+
"执行交接单建议结构",
|
|
293
|
+
"是否执行过高风险操作",
|
|
294
|
+
"可接管、不接管、待确认",
|
|
295
|
+
"中文需求解析结果",
|
|
296
|
+
"全局影响审视摘要",
|
|
297
|
+
]);
|
|
298
|
+
|
|
299
|
+
requireIncludes("init/xinyun-ai-init/templates/project-guide.template.md", [
|
|
300
|
+
"规则优先级",
|
|
301
|
+
"中文需求解析与任务分型",
|
|
302
|
+
"全局影响审视",
|
|
303
|
+
"待确认内容",
|
|
304
|
+
]);
|
|
305
|
+
|
|
306
|
+
requireIncludes("init/xinyun-ai-init/templates/project-check.template.md", [
|
|
307
|
+
"规则入口优先级",
|
|
308
|
+
"中文需求解析触发情况",
|
|
309
|
+
"全局影响审视触发情况",
|
|
310
|
+
"待确认内容",
|
|
311
|
+
]);
|
|
312
|
+
|
|
313
|
+
requireIncludes("init/xinyun-ai-init/rules/init-rules.md", [
|
|
314
|
+
"当前项目 AI 规则以 `xinyun-ai/` 为准",
|
|
315
|
+
"当前项目未发现",
|
|
316
|
+
"可接管、不接管、待确认",
|
|
317
|
+
"首次极速初始化不强制创建",
|
|
318
|
+
"最多追问 1-3 个关键问题",
|
|
319
|
+
]);
|
|
320
|
+
|
|
321
|
+
requireIncludes("init/xinyun-ai-init/rules/upgrade-rules.md", [
|
|
322
|
+
"规则优先级",
|
|
323
|
+
"中文需求解析",
|
|
324
|
+
"xinyun-ai/global-review/",
|
|
325
|
+
"不自动迁移全部旧 AI 文档",
|
|
326
|
+
]);
|
|
327
|
+
|
|
328
|
+
requireIncludes("init/xinyun-ai-init/rules/directory-self-completion.md", [
|
|
329
|
+
"xinyun-ai/global-review/",
|
|
330
|
+
"首次极速初始化不强制创建",
|
|
331
|
+
"xinyun-ai/global-review/index.json",
|
|
332
|
+
"`reviewId`",
|
|
333
|
+
]);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
function verifyTestScenarios() {
|
|
337
|
+
requireIncludes("test-scenarios/scenarios.md", [
|
|
338
|
+
"生产页面文案与去 AI 化测试",
|
|
339
|
+
"使用者体验与交付结果测试",
|
|
340
|
+
"AI 检索与回复轻量规则测试",
|
|
341
|
+
"双会话执行闭环(MVP)测试",
|
|
342
|
+
"统一入口与旧规则失效判定测试",
|
|
343
|
+
"小改不强制创建全局审视测试",
|
|
344
|
+
"中文需求语义规范化测试",
|
|
345
|
+
"高风险词触发保护测试",
|
|
346
|
+
"普通咨询不强制完整解析测试",
|
|
347
|
+
"当前必测场景",
|
|
348
|
+
]);
|
|
349
|
+
|
|
350
|
+
requireIncludes("test-scenarios/review-template.md", [
|
|
351
|
+
"生产页面文案与去 AI 化测试",
|
|
352
|
+
"使用者体验与交付结果测试",
|
|
353
|
+
"AI 检索与回复轻量规则测试",
|
|
354
|
+
"统一入口与旧规则失效判定测试",
|
|
355
|
+
"中文需求语义规范化测试",
|
|
356
|
+
"高风险词触发保护测试",
|
|
357
|
+
]);
|
|
358
|
+
|
|
359
|
+
requireIncludes("test-scenarios/README.md", [
|
|
360
|
+
"pm_zhousl-xinyun-ai-init-1.3.0.tgz",
|
|
361
|
+
"当前必测场景为 `scenarios.md` 的 1-22",
|
|
168
362
|
]);
|
|
169
363
|
}
|
|
170
364
|
|
|
@@ -216,6 +410,7 @@ function main() {
|
|
|
216
410
|
verifyCliBoundary();
|
|
217
411
|
verifyInitRules();
|
|
218
412
|
verifyFrameworkRules();
|
|
413
|
+
verifyTestScenarios();
|
|
219
414
|
verifyJsonAndMarkdown();
|
|
220
415
|
|
|
221
416
|
const failed = checks.filter((check) => !check.ok);
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# xinyun-ai-init 测试场景
|
|
2
|
+
|
|
3
|
+
本目录用于让其他 AI 或人工审查员测试 `@pm_zhousl/xinyun-ai-init` 初始化包的真实使用效果。
|
|
4
|
+
|
|
5
|
+
## 使用方式
|
|
6
|
+
|
|
7
|
+
### 1. 本地待发布版本测试
|
|
8
|
+
|
|
9
|
+
用于测试当前工作区尚未发布到 npm 的包体。
|
|
10
|
+
|
|
11
|
+
1. 准备一个临时测试项目。
|
|
12
|
+
2. 在测试项目根目录执行:
|
|
13
|
+
|
|
14
|
+
```powershell
|
|
15
|
+
node E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm\bin\xinyun-ai-init.js --force --no-version-check
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
3. 将以下一句话发给 AI:
|
|
19
|
+
|
|
20
|
+
```md
|
|
21
|
+
请执行 `node E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm\bin\xinyun-ai-init.js --force --no-version-check`,然后读取 `xinyun-ai-init/README.md`,按其中规则初始化或升级当前项目。
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
4. 按 `scenarios.md` 中的场景逐条测试。
|
|
25
|
+
5. 将结果填写到 `review-template.md`。
|
|
26
|
+
|
|
27
|
+
### 2. 打包版本测试
|
|
28
|
+
|
|
29
|
+
用于确认 `npm pack` 后的 tarball 是否包含完整文件。
|
|
30
|
+
|
|
31
|
+
```powershell
|
|
32
|
+
cd E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm
|
|
33
|
+
npm run verify:init
|
|
34
|
+
npm pack
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
随后在临时项目中使用 tarball 测试。注意不要直接执行 `npx <tarball> --force`,该形式可能不会正确调用 bin。推荐:
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
npx --yes --package E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm\pm_zhousl-xinyun-ai-init-1.3.0.tgz xinyun-ai-init --force --no-version-check
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3. 线上回归测试
|
|
44
|
+
|
|
45
|
+
发布后再测试 npm 线上最新版本。
|
|
46
|
+
|
|
47
|
+
```powershell
|
|
48
|
+
npx --yes @pm_zhousl/xinyun-ai-init@latest --force
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
将以下一句话发给 AI:
|
|
52
|
+
|
|
53
|
+
```md
|
|
54
|
+
请执行 `npx --yes @pm_zhousl/xinyun-ai-init@latest --force`,然后读取 `xinyun-ai-init/README.md`,按其中规则初始化或升级当前项目。
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## 测试分级
|
|
58
|
+
|
|
59
|
+
- 必测场景:用于判断当前版本是否可以发布。
|
|
60
|
+
- 观察场景:用于收集后续优化建议,不作为当前版本发布阻断项。
|
|
61
|
+
|
|
62
|
+
当前必测场景为 `scenarios.md` 的 1-22。
|
|
63
|
+
|
|
64
|
+
当前观察场景为 `scenarios.md` 的 23。Skill 触发机制仍在后续候选池中,不进入当前可发布范围。
|
|
65
|
+
|
|
66
|
+
## 自动校验
|
|
67
|
+
|
|
68
|
+
发布前必须先执行:
|
|
69
|
+
|
|
70
|
+
```powershell
|
|
71
|
+
cd E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm
|
|
72
|
+
npm run verify:init
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
自动校验负责检查包体文件、模板关键规则、JSON 可解析、Markdown 代码块闭合和 CLI 边界。人工场景负责验证 AI 在真实项目里的行为。
|
|
76
|
+
|
|
77
|
+
## 审查原则
|
|
78
|
+
|
|
79
|
+
- 重点看 AI 行为是否符合规则,不只看文件是否生成。
|
|
80
|
+
- 初始化应轻量,不做全量扫描。
|
|
81
|
+
- 改代码前必须先出方案并等待确认。
|
|
82
|
+
- 旧 AI 沉淀只能先梳理、分类、待确认,不能直接当作项目事实。
|
|
83
|
+
- 普通聊天、无关问题、被否定方向不能沉淀。
|
|
84
|
+
- 观察场景可以记录问题和建议,但不要因为观察场景未完全满足而判定当前版本不可发布。
|
|
85
|
+
- 本地待发布版本、打包版本、线上 `@latest` 要分开测试,避免把线上旧版本误判为本地整改结果。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# 测试审查记录模板
|
|
2
|
+
|
|
3
|
+
## 基本信息
|
|
4
|
+
|
|
5
|
+
- 测试项目:
|
|
6
|
+
- 测试 AI 工具:
|
|
7
|
+
- 测试时间:
|
|
8
|
+
- xinyun-ai-init 版本:
|
|
9
|
+
- 测试人:
|
|
10
|
+
|
|
11
|
+
## 总体结论
|
|
12
|
+
|
|
13
|
+
- 结论:通过 / 部分通过 / 不通过
|
|
14
|
+
- 最大问题:
|
|
15
|
+
- 是否建议发布:
|
|
16
|
+
- 发布阻断项:
|
|
17
|
+
- 观察项建议:
|
|
18
|
+
|
|
19
|
+
## 场景结果
|
|
20
|
+
|
|
21
|
+
| 场景 | 结果 | 问题摘要 | 建议 |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| 1. 初始化可用性测试 | 待填写 | 待填写 | 待填写 |
|
|
24
|
+
| 2. 方案可行性测试 | 待填写 | 待填写 | 待填写 |
|
|
25
|
+
| 3. 修改确认门禁测试 | 待填写 | 待填写 | 待填写 |
|
|
26
|
+
| 4. 前端 UI 改动模式测试 | 待填写 | 待填写 | 待填写 |
|
|
27
|
+
| 5. 前端官方组件 / API 优先测试 | 待填写 | 待填写 | 待填写 |
|
|
28
|
+
| 6. 生产页面文案与去 AI 化测试 | 待填写 | 待填写 | 待填写 |
|
|
29
|
+
| 7. 旧 AI 沉淀接管测试 | 待填写 | 待填写 | 待填写 |
|
|
30
|
+
| 8. 统一入口与旧规则失效判定测试 | 待填写 | 待填写 | 待填写 |
|
|
31
|
+
| 9. 多端项目识别测试 | 待填写 | 待填写 | 待填写 |
|
|
32
|
+
| 10. 框架轻量识别测试 | 待填写 | 待填写 | 待填写 |
|
|
33
|
+
| 11. Git 工作区识别与危险操作门禁测试 | 待填写 | 待填写 | 待填写 |
|
|
34
|
+
| 12. SQL / 数据库提醒测试 | 待填写 | 待填写 | 待填写 |
|
|
35
|
+
| 13. 会话上下文理解测试 | 待填写 | 待填写 | 待填写 |
|
|
36
|
+
| 14. 商业逻辑与变现流程理解测试 | 待填写 | 待填写 | 待填写 |
|
|
37
|
+
| 15. 通用项目全局视角目录测试 | 待填写 | 待填写 | 待填写 |
|
|
38
|
+
| 16. 小改不强制创建全局审视测试 | 待填写 | 待填写 | 待填写 |
|
|
39
|
+
| 17. 中文需求语义规范化测试 | 待填写 | 待填写 | 待填写 |
|
|
40
|
+
| 18. 高风险词触发保护测试 | 待填写 | 待填写 | 待填写 |
|
|
41
|
+
| 19. 普通咨询不强制完整解析测试 | 待填写 | 待填写 | 待填写 |
|
|
42
|
+
| 20. 使用者体验与交付结果测试 | 待填写 | 待填写 | 待填写 |
|
|
43
|
+
| 21. AI 检索与回复轻量规则测试 | 待填写 | 待填写 | 待填写 |
|
|
44
|
+
| 22. 双会话执行闭环(MVP)测试 | 待填写 | 待填写 | 待填写 |
|
|
45
|
+
| 23. Skill 触发测试(观察项,不阻断发布) | 待填写 | 待填写 | 待填写 |
|
|
46
|
+
|
|
47
|
+
## 详细问题
|
|
48
|
+
|
|
49
|
+
### 问题 1
|
|
50
|
+
|
|
51
|
+
- 场景:
|
|
52
|
+
- 严重程度:高 / 中 / 低
|
|
53
|
+
- 现象:
|
|
54
|
+
- 期望:
|
|
55
|
+
- 建议:
|
|
56
|
+
|
|
57
|
+
## 可发布建议
|
|
58
|
+
|
|
59
|
+
- 必须修复:
|
|
60
|
+
- 可以后续优化:
|
|
61
|
+
- 不建议纳入本版本:
|
|
62
|
+
|
|
63
|
+
说明:Skill 触发测试是观察项。除非它影响 1-22 的必测场景,否则不作为当前版本不可发布的理由。
|