@epoint-testtech/ep-stage-skill 0.0.11 → 0.0.13

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.
Files changed (45) hide show
  1. package/codex-skill/ep-stage/code-list-generate/SKILL.md +168 -0
  2. package/codex-skill/ep-stage/code-list-generate/assets/code_list.template.json5 +325 -0
  3. package/codex-skill/ep-stage/code-list-generate/assets/example-zwplace.json5 +588 -0
  4. package/codex-skill/ep-stage/code-list-generate/evals/evals.json +47 -0
  5. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/action/SchemeResourceAddAction.java +119 -0
  6. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/action/SchemeResourceDetailAction.java +70 -0
  7. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/action/SchemeResourceEditAction.java +107 -0
  8. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/action/SchemeResourceListAction.java +167 -0
  9. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/api/ISchemeResourceService.java +84 -0
  10. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/api/entity/SchemeResource.java +218 -0
  11. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/impl/SchemeResourceService.java +146 -0
  12. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/java/com/epoint/schemeresource/impl/SchemeResourceServiceImpl.java +110 -0
  13. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/webapp/perpage/schemeresource/schemeresourceadd.html +158 -0
  14. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/webapp/perpage/schemeresource/schemeresourcedetail.html +89 -0
  15. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/webapp/perpage/schemeresource/schemeresourceedit.html +125 -0
  16. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/schemeresource-req/src/main/webapp/perpage/schemeresource/schemeresourcelist.html +224 -0
  17. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/docs//345/234/272/346/211/200/347/252/227/345/217/243/344/277/241/346/201/257/347/256/241/347/220/206/345/217/212/345/220/204/347/253/257/347/273/237/350/256/241/346/243/200/347/264/242/346/237/245/347/234/213_prd.md +602 -0
  18. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/action/GxhZwPlaceAddAction.java +210 -0
  19. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/action/GxhZwPlaceDetailAction.java +69 -0
  20. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/action/GxhZwPlaceEditAction.java +235 -0
  21. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/action/GxhZwPlaceListAction.java +145 -0
  22. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/api/IGxhZwPlaceService.java +87 -0
  23. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/api/entity/GxhZwPlace.java +306 -0
  24. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/api/entity/GxhZwPlaceHistory.java +205 -0
  25. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/api/entity/GxhZwWindow.java +184 -0
  26. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/impl/GxhZwPlaceService.java +151 -0
  27. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/java/com/epoint/zwplace/impl/GxhZwPlaceServiceImpl.java +96 -0
  28. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/webapp/perpage/zwplace/gxhzwplaceadd.html +253 -0
  29. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/webapp/perpage/zwplace/gxhzwplacedetail.html +146 -0
  30. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/webapp/perpage/zwplace/gxhzwplaceedit.html +275 -0
  31. package/codex-skill/ep-stage/code-list-generate/evals/fixtures/zwplace-req/src/main/webapp/perpage/zwplace/gxhzwplacelist.html +168 -0
  32. package/codex-skill/ep-stage/code-list-generate/evals/grade-code-list.mjs +184 -0
  33. package/codex-skill/ep-stage/code-list-generate/references/epoint-extraction.md +106 -0
  34. package/codex-skill/ep-stage/code-list-generate/references/field-contract.md +122 -0
  35. package/codex-skill/ep-stage/code-list-generate/scripts/validate-code-list.mjs +202 -0
  36. package/codex-skill/ep-stage/glue-create-project/SKILL.md +227 -223
  37. package/dist/src/extractors/code-list-json5.d.ts +5 -0
  38. package/dist/src/extractors/code-list-json5.d.ts.map +1 -1
  39. package/dist/src/generators/stage-skeleton-script.d.ts +4 -0
  40. package/dist/src/generators/stage-skeleton-script.d.ts.map +1 -1
  41. package/dist/src/generators/stage-skeleton-script.js +399 -362
  42. package/dist/src/testcase/contract-testcase-assembler.d.ts +10 -1
  43. package/dist/src/testcase/contract-testcase-assembler.d.ts.map +1 -1
  44. package/dist/src/testcase/contract-testcase-assembler.js +46 -13
  45. package/package.json +1 -1
@@ -1,223 +1,227 @@
1
- ---
2
- name: glue-create-project
3
- description: 使用时机:当用户表达「创建胶水项目 / 测试脚手架 / 新建 glue 项目」或显式触发 `/glue-create-project [名称或路径]` 时使用。本 skill 只创建胶水模式(glue)Playwright 测试脚手架,不收集登录信息,不写 .env / stage-context.md。
4
- version: 2026-08-12+925f4c4
5
- argument-hint: "<脚手架项目名或脚手架项目路径>"
6
- ---
7
-
8
- # ep-stage: glue-create-project
9
-
10
- 本 skill 引导 Agent **包装** `@epoint-testtech/stage-create` CLI 的 glue 模式,不重新实现脚手架。用户视角全中文,不暴露 CLI 名称。
11
-
12
- > CLI 自 0.0.4-alpha.0 起已中性化:不再收集业务系统登录信息,不再写 `<projectDir>/.env`,也不再写 `<projectDir>/stage-context.md`。项目元信息全部沉到 `~/.ep-stage/projects.index.json5`(含 `stageCreateVersion`)。登录凭据由下游 `glue-generate-testcase` / `glue-run-test` 在需求级 `credentials.json5` 中收集。
13
-
14
- ## 1. 自然语言映射规则
15
-
16
- 用户在 Claude Code / Codex 里触发 skill 的典型形式:
17
-
18
- ```text
19
- /glue-create-project my-project # 裸名 → 落 <pwd>/e2e-test/my-project
20
- /glue-create-project path/my-project # 含 / → 原样落点
21
- /glue-create-project /abs/path/my-project # 绝对路径 → 原样落点
22
- /glue-create-project # 无参数 → 问项目名
23
- /glue-create-project my-project --debug # 调试模式 → 跑本地 monorepo 的 stage-create dist
24
- ```
25
-
26
- > **`--debug` flag**:正常调用走远程 `npx @epoint-testtech/stage-create@latest`。开发期想测试未发布的本地代码时传 `--debug`,skill 在 Step 3 改用 `node <repo>/packages/stage-create/dist/index.js`。前提:cwd 在 ep-stage monorepo 内(向上能找到 `pnpm-workspace.yaml`);找不到时直接 exit 1 报错,不静默 fallback 到 npx。
27
-
28
- ### 1.1 目标位置与项目名(路径解析三段式)
29
-
30
- CLI 接收 `[project-name]` 参数,内部用 `path.basename` 取项目名、`path.resolve` 取输出目录(基于 Agent cwd):
31
-
32
- | 用户输入 | skill 传给 CLI 的值 | 最终落点 |
33
- |---------------------------------------------|---------------------------------------------|-----------------------------------------|
34
- | 含 `/` 或绝对路径 | 原样透传 | `<cwd>/...` 或绝对路径;项目名取 basename |
35
- | 裸名(无 `/`) | 拼成 `e2e-test/<name>` | `<cwd>/e2e-test/<name>` |
36
- | 无参数 | 先问 `<name>`,再拼 `e2e-test/<name>` | `<cwd>/e2e-test/<name>` |
37
-
38
- **逃生口**:想在当前 cwd 根直接建裸名(不进 `e2e-test/`),用 `./my-project`(含 `/`)。
39
-
40
- 中文目录名 macOS/Linux 能建,但 npm scope 校验和跨平台兼容差。Agent 收到中文名时,AskUserQuestion 二选一:保留中文 / 换 kebab-case 建议(如 `我的项目` → `my-project`)。
41
-
42
- ### 1.2 模式 — 固定 glue
43
-
44
- 本 skill 只创建 glue 项目,固定传 `--mode glue`,不暴露 default 模式入口。
45
-
46
- ### 1.3 工作目录 (cwd) 确认
47
-
48
- Agent 在调用 CLI 前必须:跑 `pwd` → 按 §1.1 算最终落点 → 中文复述"将在 `<最终落点>` 下创建项目,确认吗?" → 用户否认 → 让用户给绝对路径或先 `cd` 切换。
49
-
50
- 典型陷阱:cwd 是 git 仓库根(存在 `.git/`)时必须额外二次确认,避免污染该仓库工作树。
51
-
52
- ## 2. Agent 执行剧本(7 步任务清单协议)
53
-
54
- **任务清单协议(REQ-UX-01)**:
55
-
56
- - 加载 skill 后**最先**单行展示技能版本(取本 SKILL.md frontmatter 的 `version` 字段),格式 `技能版本:glue-create-project <version>`;随后**立即**打印初始任务清单(Step 0)。
57
- - 每完成一步,输出单行状态更新 `第 N 步 — <中文名> 已完成,进入第 N+1 步 — <下一中文名>...`(不重写完整清单)。
58
- - Step 7 输出全勾选终态清单 + 完成摘要。
59
-
60
- ### Step 0 — 打印任务清单
61
-
62
- ```markdown
63
- **创建胶水测试项目任务清单**
64
-
65
- - [ ] 第 1 步 — 抽取项目名与落点
66
- - [ ] 第 2 步 — 补齐核心参数(含 cwd 确认)
67
- - [ ] 第 3 步 — 调用脚手架 CLI
68
- - [ ] 第 4 步 — 验证脚手架产物
69
- - [ ] 第 5 步 — 安装依赖
70
- - [ ] 第 6 步 — 写入项目索引
71
- - [ ] 第 7 步 — 输出摘要
72
- ```
73
-
74
- ### Step 1 — 抽取项目名与落点
75
-
76
- 从用户原始消息 / args 抽取目标路径/项目名(规则见 §1)。模式固定 glue。中文复述识别结果:
77
-
78
- > 已识别:项目名 = `xxx`,模式 = `胶水模式 (glue)`,落点 = `<pwd>/e2e-test/xxx`。
79
-
80
- 识别失败/不确定 → Step 2 补齐。
81
-
82
- ### Step 2 — 补齐核心参数(含 cwd 确认)
83
-
84
- 只在缺失/有疑时触发,全中文:
85
-
86
- - 缺 `projectName`(无参数)→ free text 询问"请告诉我新项目的名称",按 §1.1 拼 `e2e-test/<name>`。
87
- - 中文项目名 → AskUserQuestion 二选一:保留中文 / 换 `<kebab-case 建议>`。
88
- - cwd 是 git 仓库根 → AskUserQuestion 二选一:在此 cwd 创建 / 取消并手动 cd。
89
-
90
- > 本 skill 固定 glue 模式,不再收集登录信息,无需就模式或登录配置询问。
91
-
92
- ### Step 3 — 调用脚手架 CLI
93
-
94
- 固定流程(不 which、不扫 monorepo、不 cd 进项目、**不喂 stdin**)。`<targetPath>` 由 §1.1 算出。
95
-
96
- **正常模式**(用户 args 无 `--debug`):
97
-
98
- ```bash
99
- npx -y @epoint-testtech/stage-create@latest "<targetPath>" --mode glue
100
- ```
101
-
102
- **调试模式**(用户 args 含 `--debug`,要求 cwd 在 ep-stage monorepo 内;详见 §1 `--debug` flag 说明):
103
-
104
- ```bash
105
- D="$PWD"; REPO=""
106
- while [ "$D" != "/" ]; do
107
- if [ -f "$D/pnpm-workspace.yaml" ] && [ -f "$D/packages/stage-create/dist/index.js" ]; then
108
- REPO="$D"; break
109
- fi
110
- D="$(dirname "$D")"
111
- done
112
- [ -z "$REPO" ] && { echo "错误:--debug 但找不到本地 monorepo(需 cwd 在 ep-stage 仓库内向上能找到 pnpm-workspace.yaml + packages/stage-create/dist/index.js)"; exit 1; }
113
- echo "调试模式:本地 $REPO/packages/stage-create/dist/index.js"
114
- node "$REPO/packages/stage-create/dist/index.js" "<targetPath>" --mode glue
115
- ```
116
-
117
- CLI 中性化后**不读 stdin**,不询问登录 URL / 用户名 / 密码 / 知识库根。
118
-
119
- ### Step 4 — 验证脚手架产物
120
-
121
- 按 §4 验证产物。验证失败 → §3 错误处理报告,不发完成提示。
122
-
123
- ### Step 5 — 安装依赖
124
-
125
- 1. 先 `pnpm ping` 检测 registry 连通性:
126
- - 连不上(超时/报错)→ 跳过自动安装,提示 `网络不通,依赖未自动安装,请手动执行: pnpm install --dir <projectDir>`。
127
- - 连通 → 进入下一步。
128
- 2. `pnpm install --dir "<projectDir>"`(**禁用 `cd`** 进入项目目录,必须用 `--dir`)。若 `<projectDir>` 位于某个 pnpm workspace 内(向上能找到 `pnpm-workspace.yaml`),改用 `pnpm install --dir "<projectDir>" --ignore-workspace` 做独立安装。
129
- 3. **必须实时透传 pnpm 输出**(进度条、日志),不得静默执行。安装失败 → 如实报告 stderr,不谎报成功;骨架已生成,用户可手动重跑。
130
-
131
- ### Step 6 写入项目索引
132
-
133
- CLI 0.0.4-alpha.0 已在 `~/.ep-stage/projects.index.json5` `projects[]` 数组末尾追加本项目条目(字段精简,含 `stageCreateVersion`,**不含** `envPath/stageContextPath/knowledgeRoot/codeListPaths`)。Agent 校验:
134
-
135
- - 文件存在
136
- - 末尾条目 `projectDir` 与本次创建一致
137
- - 字段含 `projectName / projectDir / mode='glue' / createdAt / stageCreateVersion / requirements=[]`
138
-
139
- JSON5 项目条目范例(CLI 自动写):
140
-
141
- ```json5
142
- // ~/.ep-stage/projects.index.json5 项目条目范例(CLI 自动写,无 stageContextPath/envPath/knowledgeRoot)
143
- {
144
- projectName: '<projectName>',
145
- projectDir: '<绝对路径>',
146
- mode: 'glue',
147
- createdAt: '2026-06-25T...',
148
- stageCreateVersion: '0.0.4-alpha.0',
149
- requirements: [],
150
- }
151
- ```
152
-
153
- 条目缺失 → 提示"索引文件未登记本项目,后续 ep-stage skills/CLI 无法发现,请检查 stage-create CLI 版本(应 ≥ 0.0.4-alpha.0)"。
154
-
155
- ### Step 7 — 输出摘要
156
-
157
- 打印全勾选终态任务清单 + §5 精简完成提示。成功摘要只保留项目路径与下一步链路指令;产物校验、调用方式、模式、依赖安装细节只在失败或排障时说明,不进入成功摘要。
158
-
159
- ## 3. 错误处理
160
-
161
- | CLI 错误(原文) | 触发时机 | Agent 中文呈现 + 建议 |
162
- |-----------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------|
163
- | `目录已存在: <path>` (exit 1) | Step 3 前置 | "目录 `<path>` 已存在。我不会主动删除任何已存在目录。" → AskUserQuestion 三选一:换名重来 / 改 cwd / 取消 |
164
- | npm `404 / ENOTFOUND / ETIMEDOUT` | npx 拉包失败 | "无法从 npm 拉取 @epoint-testtech/stage-create" → 建议 ① 检查网络 ② `npm config get registry` ③ `npm i -g` 预装 |
165
- | 其他 exit !== 0 | CLI 崩溃 | stderr 原文中文转述并贴出,建议复制错误私聊开发 |
166
-
167
- **半成品回滚**:CLI 在校验失败时(目录已存在)在 `mkdirSync` 之前退出,无副作用。若 CLI `mkdirSync` 后中途崩,Agent **不主动 `rm`**,提示用户手动检查 `<path>` 后决定是否 `rm -rf` 重试。理由:cwd 不一定可信,盲删可能误伤。
168
-
169
- **用户中途取消**:AskUserQuestion 阶段等待不超时;自然对话阶段说「算了/取消/stop」立即终止不调 CLI;已调 CLI 后用户取消 CLI 无中途取消信号,等 CLI 退出后再复述结果。
170
-
171
- ## 4. 验证清单
172
-
173
- CLI 退出后必须用 `ls` / `Read` 校验产物。验证失败视为整体失败,不要谎报成功。
174
-
175
- | 路径 | 说明 |
176
- |-------------------------------------|-------------------------------|
177
- | `<projectDir>/package.json` | 模板渲染产出 |
178
- | `<projectDir>/playwright.config.ts` | Playwright 基础配置 |
179
- | `<projectDir>/tsconfig.json` | TS 配置 |
180
- | `<projectDir>/src/skeletons/` | 业务骨架目录(非空) |
181
- | `<projectDir>/src/web/component/` | 页面组件目录 |
182
- | `<projectDir>/src/report/` | 报告辅助目录 |
183
- | `~/.ep-stage/projects.index.json5` | 用户级索引,应新增本项目条目 |
184
-
185
- > **不再校验** `<projectDir>/.env`(CLI 不再写)和 `<projectDir>/stage-context.md`(CLI 不再写,元信息已沉到 projects.index.json5)。
186
-
187
- **不验证什么**:模板占位符 `{{projectName}}` 是否替换(已由 stage-create prepublish 校验);业务系统登录配置(中性化后不再涉及)。
188
-
189
- ## 5. 完成提示
190
-
191
- Step 7 验证与依赖安装都通过后,按以下中文格式呈现结果。不要用英文 success/done/created:
192
-
193
- ```markdown
194
- **创建胶水测试项目任务清单**
195
-
196
- - [x] 第 1 步 — 抽取项目名与落点
197
- - [x] 第 2 步 — 补齐核心参数(含 cwd 确认)
198
- - [x] 第 3 步 — 调用脚手架 CLI
199
- - [x] 第 4 步 — 验证脚手架产物
200
- - [x] 第 5 步 — 安装依赖
201
- - [x] 第 6 步 — 写入项目索引
202
- - [x] 第 7 步 — 输出摘要
203
-
204
- 1. 项目路径:`<projectDir 绝对路径>`
205
- 2. 下一步指令:对某需求跑 `/glue-generate-testcase <需求目录下的 code_list.json5 路径>` 生成用例
206
- ```
207
-
208
- 其中“下一步指令”是 `glue-create-project` 到 `glue-generate-testcase` 的上下游链路承接入口,必须保留并靠前呈现。
209
-
210
- 成功摘要中不要再列出以下细节:
211
-
212
- - 模式:本 skill 固定胶水模式,成功摘要无需重复。
213
- - 调用方式:`--debug` / npx 仅在排障时说明,成功摘要无需重复。
214
- - 产物校验明细:验证失败时报告,成功摘要无需列清单。
215
- - 依赖安装明细:失败或跳过时报告,成功摘要无需列耗时和包数。
216
- - 索引登记明细:索引缺失时报告;成功摘要无需展开 `~/.ep-stage/projects.index.json5`。
217
-
218
- **失败时不要发完成提示**:第 4 节任一验证项失败或依赖安装失败 → 按 §3 报告,不允许在失败信息里混合"项目创建完成"字样。
219
-
220
- ## 6. 引导场景
221
-
222
- - **A(缺脚手架)**:N/A skill 本身即建脚手架的入口,不存在"缺脚手架"前置。
223
- - **其他**:cwd 是 git 仓库根 → Step 2 二次确认;中文目录名 → Step 2 建议改 kebab-case。
1
+ ---
2
+ name: glue-create-project
3
+ description: 使用时机:当用户表达「创建胶水项目 / 测试脚手架 / 新建 glue 项目」或显式触发 `/glue-create-project [名称或路径]` 时使用。本 skill 只创建胶水模式(glue)Playwright 测试脚手架,不收集登录信息,不写 .env / stage-context.md。
4
+ version: 2026-08-17+chromium-install
5
+ argument-hint: "<脚手架项目名或脚手架项目路径>"
6
+ ---
7
+
8
+ # ep-stage: glue-create-project
9
+
10
+ 本 skill 引导 Agent **包装** `@epoint-testtech/stage-create` CLI 的 glue 模式,不重新实现脚手架。用户视角全中文,不暴露 CLI 名称。
11
+
12
+ > CLI 自 0.0.4-alpha.0 起已中性化:不再收集业务系统登录信息,不再写 `<projectDir>/.env`,也不再写 `<projectDir>/stage-context.md`。项目元信息全部沉到 `~/.ep-stage/projects.index.json5`(含 `stageCreateVersion`)。登录凭据由下游 `glue-generate-testcase` / `glue-run-test` 在需求级 `credentials.json5` 中收集。
13
+
14
+ ## 1. 自然语言映射规则
15
+
16
+ 用户在 Claude Code / Codex 里触发 skill 的典型形式:
17
+
18
+ ```text
19
+ /glue-create-project my-project # 裸名 → 落 <pwd>/e2e-test/my-project
20
+ /glue-create-project path/my-project # 含 / → 原样落点
21
+ /glue-create-project /abs/path/my-project # 绝对路径 → 原样落点
22
+ /glue-create-project # 无参数 → 问项目名
23
+ /glue-create-project my-project --debug # 调试模式 → 跑本地 monorepo 的 stage-create dist
24
+ ```
25
+
26
+ > **`--debug` flag**:正常调用走远程 `npx @epoint-testtech/stage-create@latest`。开发期想测试未发布的本地代码时传 `--debug`,skill 在 Step 3 改用 `node <repo>/packages/stage-create/dist/index.js`。前提:cwd 在 ep-stage monorepo 内(向上能找到 `pnpm-workspace.yaml`);找不到时直接 exit 1 报错,不静默 fallback 到 npx。
27
+
28
+ ### 1.1 目标位置与项目名(路径解析三段式)
29
+
30
+ CLI 接收 `[project-name]` 参数,内部用 `path.basename` 取项目名、`path.resolve` 取输出目录(基于 Agent cwd):
31
+
32
+ | 用户输入 | skill 传给 CLI 的值 | 最终落点 |
33
+ |---------------------------------------------|---------------------------------------------|-----------------------------------------|
34
+ | 含 `/` 或绝对路径 | 原样透传 | `<cwd>/...` 或绝对路径;项目名取 basename |
35
+ | 裸名(无 `/`) | 拼成 `e2e-test/<name>` | `<cwd>/e2e-test/<name>` |
36
+ | 无参数 | 先问 `<name>`,再拼 `e2e-test/<name>` | `<cwd>/e2e-test/<name>` |
37
+
38
+ **逃生口**:想在当前 cwd 根直接建裸名(不进 `e2e-test/`),用 `./my-project`(含 `/`)。
39
+
40
+ 中文目录名 macOS/Linux 能建,但 npm scope 校验和跨平台兼容差。Agent 收到中文名时,AskUserQuestion 二选一:保留中文 / 换 kebab-case 建议(如 `我的项目` → `my-project`)。
41
+
42
+ ### 1.2 模式 — 固定 glue
43
+
44
+ 本 skill 只创建 glue 项目,固定传 `--mode glue`,不暴露 default 模式入口。
45
+
46
+ ### 1.3 工作目录 (cwd) 确认
47
+
48
+ Agent 在调用 CLI 前必须:跑 `pwd` → 按 §1.1 算最终落点 → 中文复述"将在 `<最终落点>` 下创建项目,确认吗?" → 用户否认 → 让用户给绝对路径或先 `cd` 切换。
49
+
50
+ 典型陷阱:cwd 是 git 仓库根(存在 `.git/`)时必须额外二次确认,避免污染该仓库工作树。
51
+
52
+ ## 2. Agent 执行剧本(7 步任务清单协议)
53
+
54
+ **任务清单协议(REQ-UX-01)**:
55
+
56
+ - 加载 skill 后**最先**单行展示技能版本(取本 SKILL.md frontmatter 的 `version` 字段),格式 `技能版本:glue-create-project <version>`;随后**立即**打印初始任务清单(Step 0)。
57
+ - 每完成一步,输出单行状态更新 `第 N 步 — <中文名> 已完成,进入第 N+1 步 — <下一中文名>...`(不重写完整清单)。
58
+ - Step 7 输出全勾选终态清单 + 完成摘要。
59
+
60
+ ### Step 0 — 打印任务清单
61
+
62
+ ```markdown
63
+ **创建胶水测试项目任务清单**
64
+
65
+ - [ ] 第 1 步 — 抽取项目名与落点
66
+ - [ ] 第 2 步 — 补齐核心参数(含 cwd 确认)
67
+ - [ ] 第 3 步 — 调用脚手架 CLI
68
+ - [ ] 第 4 步 — 验证脚手架产物
69
+ - [ ] 第 5 步 — 安装依赖与浏览器
70
+ - [ ] 第 6 步 — 写入项目索引
71
+ - [ ] 第 7 步 — 输出摘要
72
+ ```
73
+
74
+ ### Step 1 — 抽取项目名与落点
75
+
76
+ 从用户原始消息 / args 抽取目标路径/项目名(规则见 §1)。模式固定 glue。中文复述识别结果:
77
+
78
+ > 已识别:项目名 = `xxx`,模式 = `胶水模式 (glue)`,落点 = `<pwd>/e2e-test/xxx`。
79
+
80
+ 识别失败/不确定 → Step 2 补齐。
81
+
82
+ ### Step 2 — 补齐核心参数(含 cwd 确认)
83
+
84
+ 只在缺失/有疑时触发,全中文:
85
+
86
+ - 缺 `projectName`(无参数)→ free text 询问"请告诉我新项目的名称",按 §1.1 拼 `e2e-test/<name>`。
87
+ - 中文项目名 → AskUserQuestion 二选一:保留中文 / 换 `<kebab-case 建议>`。
88
+ - cwd 是 git 仓库根 → AskUserQuestion 二选一:在此 cwd 创建 / 取消并手动 cd。
89
+
90
+ > 本 skill 固定 glue 模式,不再收集登录信息,无需就模式或登录配置询问。
91
+
92
+ ### Step 3 — 调用脚手架 CLI
93
+
94
+ 固定流程(不 which、不扫 monorepo、不 cd 进项目、**不喂 stdin**)。`<targetPath>` 由 §1.1 算出。
95
+
96
+ **正常模式**(用户 args 无 `--debug`):
97
+
98
+ ```bash
99
+ npx -y @epoint-testtech/stage-create@latest "<targetPath>" --mode glue
100
+ ```
101
+
102
+ **调试模式**(用户 args 含 `--debug`,要求 cwd 在 ep-stage monorepo 内;详见 §1 `--debug` flag 说明):
103
+
104
+ ```bash
105
+ D="$PWD"; REPO=""
106
+ while [ "$D" != "/" ]; do
107
+ if [ -f "$D/pnpm-workspace.yaml" ] && [ -f "$D/packages/stage-create/dist/index.js" ]; then
108
+ REPO="$D"; break
109
+ fi
110
+ D="$(dirname "$D")"
111
+ done
112
+ [ -z "$REPO" ] && { echo "错误:--debug 但找不到本地 monorepo(需 cwd 在 ep-stage 仓库内向上能找到 pnpm-workspace.yaml + packages/stage-create/dist/index.js)"; exit 1; }
113
+ echo "调试模式:本地 $REPO/packages/stage-create/dist/index.js"
114
+ node "$REPO/packages/stage-create/dist/index.js" "<targetPath>" --mode glue
115
+ ```
116
+
117
+ CLI 中性化后**不读 stdin**,不询问登录 URL / 用户名 / 密码 / 知识库根。
118
+
119
+ ### Step 4 — 验证脚手架产物
120
+
121
+ 按 §4 验证产物。验证失败 → §3 错误处理报告,不发完成提示。
122
+
123
+ ### Step 5 — 安装依赖与浏览器
124
+
125
+ 1. 先 `pnpm ping` 检测 registry 连通性:
126
+ - 连不上(超时/报错)→ 跳过自动安装,提示 `网络不通,依赖未自动安装,请手动执行: pnpm install --dir <projectDir>`。
127
+ - 连通 → 进入下一步。
128
+ 2. `pnpm install --dir "<projectDir>"`(**禁用 `cd`** 进入项目目录,必须用 `--dir`)。若 `<projectDir>` 位于某个 pnpm workspace 内(向上能找到 `pnpm-workspace.yaml`),改用 `pnpm install --dir "<projectDir>" --ignore-workspace` 做独立安装。
129
+ 3. **必须实时透传 pnpm 输出**(进度条、日志),不得静默执行。安装失败 → 如实报告 stderr,不谎报成功;骨架已生成,用户可手动重跑。
130
+ 4. **安装 Playwright 浏览器(仅 chromium,约 170MB)**:在子 shell 里执行 `(cd "<projectDir>" && npx playwright install chromium)`(子 shell 不污染当前 cwd;**不要裸跑** `npx playwright install`——那会连 firefox/webkit 一起下,约 400-500MB)。
131
+ - 为何必须显式执行:pnpm v10 默认拦截依赖包 postinstall,playwright 的浏览器自动下载不会触发;缺浏览器时第四步首跑会报 `Executable doesn't exist`。
132
+ - 已存在同版本 chromium 时 Playwright 会自动跳过,属正常现象。
133
+ - 下载失败(网络/代理)→ 不视为脚手架失败,提示用户手动补跑 `(cd "<projectDir>" && npx playwright install chromium)` 即可,骨架与依赖不受影响。
134
+
135
+ ### Step 6 — 写入项目索引
136
+
137
+ CLI 0.0.4-alpha.0 已在 `~/.ep-stage/projects.index.json5` `projects[]` 数组末尾追加本项目条目(字段精简,含 `stageCreateVersion`,**不含** `envPath/stageContextPath/knowledgeRoot/codeListPaths`)。Agent 校验:
138
+
139
+ - 文件存在
140
+ - 末尾条目 `projectDir` 与本次创建一致
141
+ - 字段含 `projectName / projectDir / mode='glue' / createdAt / stageCreateVersion / requirements=[]`
142
+
143
+ JSON5 项目条目范例(CLI 自动写):
144
+
145
+ ```json5
146
+ // ~/.ep-stage/projects.index.json5 项目条目范例(CLI 自动写,无 stageContextPath/envPath/knowledgeRoot)
147
+ {
148
+ projectName: '<projectName>',
149
+ projectDir: '<绝对路径>',
150
+ mode: 'glue',
151
+ createdAt: '2026-06-25T...',
152
+ stageCreateVersion: '0.0.4-alpha.0',
153
+ requirements: [],
154
+ }
155
+ ```
156
+
157
+ 条目缺失 提示"索引文件未登记本项目,后续 ep-stage skills/CLI 无法发现,请检查 stage-create CLI 版本(应 ≥ 0.0.4-alpha.0)"。
158
+
159
+ ### Step 7 — 输出摘要
160
+
161
+ 打印全勾选终态任务清单 + §5 精简完成提示。成功摘要只保留项目路径与下一步链路指令;产物校验、调用方式、模式、依赖安装细节只在失败或排障时说明,不进入成功摘要。
162
+
163
+ ## 3. 错误处理
164
+
165
+ | CLI 错误(原文) | 触发时机 | Agent 中文呈现 + 建议 |
166
+ |-----------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------|
167
+ | `目录已存在: <path>` (exit 1) | Step 3 前置 | "目录 `<path>` 已存在。我不会主动删除任何已存在目录。" AskUserQuestion 三选一:换名重来 / 改 cwd / 取消 |
168
+ | npm `404 / ENOTFOUND / ETIMEDOUT` | npx 拉包失败 | "无法从 npm 拉取 @epoint-testtech/stage-create" → 建议 ① 检查网络 ② `npm config get registry` ③ `npm i -g` 预装 |
169
+ | 其他 exit !== 0 | CLI 崩溃 | stderr 原文中文转述并贴出,建议复制错误私聊开发 |
170
+
171
+ **半成品回滚**:CLI 在校验失败时(目录已存在)在 `mkdirSync` 之前退出,无副作用。若 CLI 已 `mkdirSync` 后中途崩,Agent **不主动 `rm`**,提示用户手动检查 `<path>` 后决定是否 `rm -rf` 重试。理由:cwd 不一定可信,盲删可能误伤。
172
+
173
+ **用户中途取消**:AskUserQuestion 阶段等待不超时;自然对话阶段说「算了/取消/stop」立即终止不调 CLI;已调 CLI 后用户取消 CLI 无中途取消信号,等 CLI 退出后再复述结果。
174
+
175
+ ## 4. 验证清单
176
+
177
+ CLI 退出后必须用 `ls` / `Read` 校验产物。验证失败视为整体失败,不要谎报成功。
178
+
179
+ | 路径 | 说明 |
180
+ |-------------------------------------|-------------------------------|
181
+ | `<projectDir>/package.json` | 模板渲染产出 |
182
+ | `<projectDir>/playwright.config.ts` | Playwright 基础配置 |
183
+ | `<projectDir>/tsconfig.json` | TS 配置 |
184
+ | `<projectDir>/src/skeletons/` | 业务骨架目录(非空) |
185
+ | `<projectDir>/src/web/component/` | 页面组件目录 |
186
+ | `<projectDir>/src/report/` | 报告辅助目录 |
187
+ | `~/.ep-stage/projects.index.json5` | 用户级索引,应新增本项目条目 |
188
+
189
+ > **不再校验** `<projectDir>/.env`(CLI 不再写)和 `<projectDir>/stage-context.md`(CLI 不再写,元信息已沉到 projects.index.json5)。
190
+
191
+ **不验证什么**:模板占位符 `{{projectName}}` 是否替换(已由 stage-create prepublish 校验);业务系统登录配置(中性化后不再涉及)。
192
+
193
+ ## 5. 完成提示
194
+
195
+ Step 7 验证与依赖安装都通过后,按以下中文格式呈现结果。不要用英文 success/done/created:
196
+
197
+ ```markdown
198
+ **创建胶水测试项目任务清单**
199
+
200
+ - [x] 第 1 步 — 抽取项目名与落点
201
+ - [x] 第 2 步 — 补齐核心参数(含 cwd 确认)
202
+ - [x] 第 3 步 — 调用脚手架 CLI
203
+ - [x] 第 4 步 — 验证脚手架产物
204
+ - [x] 第 5 步 — 安装依赖与浏览器
205
+ - [x] 6 写入项目索引
206
+ - [x] 第 7 步 — 输出摘要
207
+
208
+ 1. 项目路径:`<projectDir 绝对路径>`
209
+ 2. 下一步指令:对某需求跑 `/glue-generate-testcase <需求目录下的 code_list.json5 路径>` 生成用例
210
+ ```
211
+
212
+ 其中“下一步指令”是 `glue-create-project` `glue-generate-testcase` 的上下游链路承接入口,必须保留并靠前呈现。
213
+
214
+ 成功摘要中不要再列出以下细节:
215
+
216
+ - 模式:本 skill 固定胶水模式,成功摘要无需重复。
217
+ - 调用方式:`--debug` / npx 仅在排障时说明,成功摘要无需重复。
218
+ - 产物校验明细:验证失败时报告,成功摘要无需列清单。
219
+ - 依赖安装明细:失败或跳过时报告,成功摘要无需列耗时和包数。
220
+ - 索引登记明细:索引缺失时报告;成功摘要无需展开 `~/.ep-stage/projects.index.json5`。
221
+
222
+ **失败时不要发完成提示**:第 4 节任一验证项失败或依赖安装失败 §3 报告,不允许在失败信息里混合"项目创建完成"字样。
223
+
224
+ ## 6. 引导场景
225
+
226
+ - **A(缺脚手架)**:N/A — 本 skill 本身即建脚手架的入口,不存在"缺脚手架"前置。
227
+ - **其他**:cwd 是 git 仓库根 → Step 2 二次确认;中文目录名 → Step 2 建议改 kebab-case。
@@ -110,6 +110,11 @@ export type BusinessRule = {
110
110
  rule: string;
111
111
  scope: string[];
112
112
  assertion: string;
113
+ /** 阻断/校验提示主文案(delete scope 规则的断言值来源) */
114
+ assertionHint?: string;
115
+ /** 条件性删除的可删条件描述(如「记录为草稿(DRAFT)状态」);仅 delete scope 规则使用,
116
+ * 存在时下游生成「满足条件删除成功 + 不满足条件阻断」两类删除用例 */
117
+ deletableCondition?: string;
113
118
  };
114
119
  /** 业务角色事实 */
115
120
  export type BusinessRoleItem = {
@@ -1 +1 @@
1
- {"version":3,"file":"code-list-json5.d.ts","sourceRoot":"","sources":["../../../src/extractors/code-list-json5.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-list-json5.d.ts","sourceRoot":"","sources":["../../../src/extractors/code-list-json5.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,10 @@ export type StageSkeletonCrudFlowSlots = {
92
92
  createButton: string;
93
93
  addAutofillTrigger?: string;
94
94
  addSaveButton: string;
95
+ /** 新增页「保存」按钮(草稿保存,弹窗不关闭);条件性删除的草稿用例需要 */
96
+ addDraftSaveButton?: string;
97
+ /** 新增页「关闭」按钮;草稿保存后弹窗不关闭,需显式关闭回列表页 */
98
+ addDialogCloseButton?: string;
95
99
  listSearchSubmit: string;
96
100
  listResultValueLocatorTemplate: string;
97
101
  listEditActionLocatorTemplate: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stage-skeleton-script.d.ts","sourceRoot":"","sources":["../../../src/generators/stage-skeleton-script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-skeleton-script.d.ts","sourceRoot":"","sources":["../../../src/generators/stage-skeleton-script.ts"],"names":[],"mappings":"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"}