@qilitt-mickey/vue3-temp-skill 1.1.3 → 1.1.5
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 +15 -8
- package/SKILL.md +49 -15
- package/package.json +1 -1
- package/references/code-quality.md +45 -18
- package/references/core-kernel.md +1 -1
package/README.md
CHANGED
|
@@ -6,9 +6,10 @@ Vue 3 企业级中后台项目开发规范技能包 — 让 AI 按团队规范
|
|
|
6
6
|
|
|
7
7
|
外置 AI Skill:`/vue3-temp-skill <需求>` → 自动命中模块 → 按项目约定生成 → 自查。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**设计要点**:
|
|
10
10
|
|
|
11
|
-
- **始终加载** `core-kernel` + `project-inventory
|
|
11
|
+
- **始终加载** `core-kernel` + `project-inventory`(生成前)
|
|
12
|
+
- **生成后强制闸门** `code-quality`:重读清单 → 对照落盘文件 → `pnpm lint:fix` + `pnpm type-check` → 最终回复必须含「代码质量审查」结果块(仅列入命中模块不算完成)
|
|
12
13
|
- **Vite / 脚本 / 入口不单独成 Skill**(工程摘要在 core-kernel)
|
|
13
14
|
- **组件 / Hook 分核心与附加**,专项能力按需命中
|
|
14
15
|
- 按 `references/` 内完整示例编写;复用已有封装;选型表指定库勿擅自替换(新依赖须待确认)
|
|
@@ -30,13 +31,18 @@ Vue 3 企业级中后台项目开发规范技能包 — 让 AI 按团队规范
|
|
|
30
31
|
|
|
31
32
|
## 模块一览
|
|
32
33
|
|
|
33
|
-
###
|
|
34
|
+
### 始终加载(生成前)
|
|
34
35
|
|
|
35
36
|
| 模块 | 覆盖 |
|
|
36
37
|
|------|------|
|
|
37
38
|
| core-kernel | 硬约束、壳、CRUD 积木、工程摘要 |
|
|
38
39
|
| project-inventory | 库精确版本 / 组件 / Hook / 选型对照 / **第九节安装表** |
|
|
39
|
-
|
|
40
|
+
|
|
41
|
+
### 生成后强制闸门
|
|
42
|
+
|
|
43
|
+
| 模块 | 覆盖 |
|
|
44
|
+
|------|------|
|
|
45
|
+
| code-quality | 清单自查 + `pnpm lint:fix` + `pnpm type-check` + 最终回复「代码质量审查」结果块 |
|
|
40
46
|
|
|
41
47
|
### 标准业务面
|
|
42
48
|
|
|
@@ -85,11 +91,12 @@ npx @qilitt-mickey/vue3-temp-skill@latest install all
|
|
|
85
91
|
|
|
86
92
|
## 生成工作流(AI)
|
|
87
93
|
|
|
88
|
-
1. 解析需求 →
|
|
89
|
-
2. 读 core-kernel + inventory
|
|
94
|
+
1. 解析需求 → 命中**功能**路由表
|
|
95
|
+
2. 读 core-kernel + inventory(生成前)
|
|
90
96
|
3. **addon**:查业务 `package.json`,缺失则按 inventory 第九节精确版本征得确认后 `pnpm add`(含 `-D` 插件)
|
|
91
|
-
4.
|
|
92
|
-
5.
|
|
97
|
+
4. 读功能模块;仓库有 Re*/Hook/utils 则复用,页面写法用 Skill 示例
|
|
98
|
+
5. 生成落盘
|
|
99
|
+
6. **强制闸门 code-quality**:重读清单 → 自查刚改文件 → `pnpm lint:fix` + `pnpm type-check` → 修正 → 最终回复输出「代码质量审查」结果块(缺块 / 缺 lint:fix = 未完成)
|
|
93
100
|
|
|
94
101
|
## 源码位置
|
|
95
102
|
|
package/SKILL.md
CHANGED
|
@@ -8,11 +8,12 @@ tags: [vue3, typescript, element-plus, vant, pinia, vite, unocss, crud, componen
|
|
|
8
8
|
# Vue 3 项目开发规范技能包
|
|
9
9
|
|
|
10
10
|
> 用户通过 `/vue3-temp-skill` + 自然语言描述需求,AI 应当:
|
|
11
|
-
> 1.
|
|
12
|
-
> 2. **始终加载** `core-kernel` + `
|
|
11
|
+
> 1. 分析需求,按下方**模块路由表**命中功能模块(可多模块)
|
|
12
|
+
> 2. **始终加载** `core-kernel` + `project-inventory`(生成前必读)
|
|
13
13
|
> 3. 加载命中的功能模块详细规范(`references/`)
|
|
14
14
|
> 4. **以本 Skill 内示例为准编写代码**(复用已有封装;选型表指定的库勿擅自替换)
|
|
15
|
-
> 5.
|
|
15
|
+
> 5. **生成完成后强制执行 `code-quality` 闸门**(见工作流第 6 步):重读清单 → 对照刚改文件自查 → 必跑 `pnpm lint:fix` + `pnpm type-check` → 不通过就地修正 → 最终回复必须含「代码质量审查」结果块
|
|
16
|
+
> ⚠️ 仅在「命中模块」里写出 `code-quality` **不算**执行审查;没有审查结果块 = 任务未完成;只跑 type-check 未跑 lint:fix 也不算完成
|
|
16
17
|
|
|
17
18
|
---
|
|
18
19
|
|
|
@@ -51,13 +52,20 @@ tags: [vue3, typescript, element-plus, vant, pinia, vite, unocss, crud, componen
|
|
|
51
52
|
|
|
52
53
|
## 模块路由表(AI 内部匹配用)
|
|
53
54
|
|
|
54
|
-
###
|
|
55
|
+
### 始终加载(生成前必读)
|
|
55
56
|
|
|
56
57
|
| 模块 | 文件 | 职责 |
|
|
57
58
|
|------|------|------|
|
|
58
59
|
| **core-kernel** | `references/core-kernel.md` | 硬约束、应用壳、CRUD 积木、工程摘要、资产分层 |
|
|
59
|
-
| **
|
|
60
|
-
|
|
60
|
+
| **project-inventory** | `references/project-inventory.md` | 库/组件/Hook/工具/选型对照 |
|
|
61
|
+
|
|
62
|
+
### 生成后强制闸门(不是「命中模块」,写完代码后必须单独执行)
|
|
63
|
+
|
|
64
|
+
| 模块 | 文件 | 职责 |
|
|
65
|
+
|------|------|------|
|
|
66
|
+
| **code-quality** | `references/code-quality.md` | **写完/改完代码之后**再执行:对照清单自查 + `pnpm lint:fix` + `pnpm type-check` + 输出审查结果块;失败则修正后重跑 |
|
|
67
|
+
|
|
68
|
+
> `code-quality` **不要**只放进「命中模块」列表交差。它是闸门:生成前可预览清单,但**正式审查必须在落盘之后**,并在最终回复中可见。
|
|
61
69
|
|
|
62
70
|
### 标准业务面(按需)
|
|
63
71
|
|
|
@@ -104,8 +112,8 @@ tags: [vue3, typescript, element-plus, vant, pinia, vite, unocss, crud, componen
|
|
|
104
112
|
|
|
105
113
|
### 匹配规则
|
|
106
114
|
|
|
107
|
-
1. 单模块清晰 → 该模块 +
|
|
108
|
-
2. 多模块组合 →
|
|
115
|
+
1. 单模块清晰 → 该模块 + 始终加载(core-kernel + project-inventory);结束后跑 code-quality 闸门。
|
|
116
|
+
2. 多模块组合 → 同时加载功能模块(例:带权限客户列表 = `crud-pages` + `permission-auth` + `http-api`),结束后同样强制 code-quality。
|
|
109
117
|
3. 兜底 → 仅始终加载,并询问是否专项能力。
|
|
110
118
|
4. 业务开发默认**不**改 `vite.config.ts` / `build/**`;仅当用户明确要求改构建时,参考 `core-kernel` 工程摘要后再动。
|
|
111
119
|
5. **按用户说的效果匹配**(不要求用户懂代码/指令名):
|
|
@@ -205,12 +213,13 @@ reset(); // 重置(配合 formRef.resetFields)
|
|
|
205
213
|
|
|
206
214
|
### 1. 需求分析
|
|
207
215
|
|
|
208
|
-
|
|
216
|
+
提取字段、查询、交互;按路由表列出**功能**模块 ID(不含把 `code-quality` 当功能命中)。
|
|
209
217
|
|
|
210
|
-
### 2.
|
|
218
|
+
### 2. 加载规范(生成前)
|
|
211
219
|
|
|
212
|
-
- 必读:`core-kernel.md`、`project-inventory.md
|
|
220
|
+
- 必读:`core-kernel.md`、`project-inventory.md`
|
|
213
221
|
- 加读:命中的功能模块 md
|
|
222
|
+
- 可顺带浏览 `code-quality.md` 约束,但**不能替代**第 6 步正式审查
|
|
214
223
|
|
|
215
224
|
### 3. 依赖与插件探查(命中 addon 时必做)
|
|
216
225
|
|
|
@@ -226,15 +235,40 @@ reset(); // 重置(配合 formRef.resetFields)
|
|
|
226
235
|
|
|
227
236
|
### 5. 生成代码
|
|
228
237
|
|
|
229
|
-
完整可运行:类型、API、页面、路由片段(如需要)、样式约定。
|
|
238
|
+
完整可运行:类型、API、页面、路由片段(如需要)、样式约定。
|
|
239
|
+
**本步结束后不得直接结束对话**,必须进入第 6 步。
|
|
240
|
+
|
|
241
|
+
### 6. 自动质量审查闸门(强制 · 生成后)
|
|
230
242
|
|
|
231
|
-
|
|
243
|
+
> 目标:杜绝「命中了 code-quality 但没真正审查」的假完成。
|
|
232
244
|
|
|
233
|
-
|
|
245
|
+
按顺序执行(缺一不可):
|
|
246
|
+
|
|
247
|
+
1. **重读** `references/code-quality.md`(生成后再读一次,不要只靠记忆)。
|
|
248
|
+
2. **对照刚写入/修改的文件**逐项过清单(尤其:选型、HTTP/`Result`、列表布局、权限、无多余 console)。
|
|
249
|
+
3. **跑命令**(在业务项目根目录,**两项均必跑**):先 `pnpm lint:fix`(无则 `pnpm lint` / `pnpm exec eslint . --fix`),再 `pnpm type-check`(无则 `pnpm exec vue-tsc --noEmit`)。失败则修代码后重跑两条,直到全部通过或明确阻塞原因。禁止只跑 type-check 就收工。
|
|
250
|
+
4. **就地修正**:审查发现的问题必须改完再进入第 7 步;禁止带着已知规范 / lint 问题收工。
|
|
251
|
+
5. **写入最终回复的「代码质量审查」结果块**(格式见下);无此块视为任务未完成。
|
|
252
|
+
|
|
253
|
+
#### 最终回复必含结构
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
## 命中模块
|
|
257
|
+
- <功能模块…>(勿把 code-quality 仅列在此处代替审查)
|
|
258
|
+
|
|
259
|
+
## 代码质量审查
|
|
260
|
+
- 闸门:已执行 code-quality(生成后)
|
|
261
|
+
- 清单:选型 / 类型 / 组件 / API / 安全 / 业务 / 列表布局(如适用) / 风格 → 通过 | 已修正:…
|
|
262
|
+
- 命令:`pnpm lint:fix` → 通过 | 失败原因…;`pnpm type-check` → 通过 | 失败原因…
|
|
263
|
+
- 待确认:…
|
|
264
|
+
|
|
265
|
+
## 变更说明
|
|
266
|
+
- …
|
|
267
|
+
```
|
|
234
268
|
|
|
235
269
|
### 7. 输出
|
|
236
270
|
|
|
237
|
-
|
|
271
|
+
在完成第 6 步结果块之后,再说明变更与待确认项(接口路径、字段类型、是否允许新依赖 / 是否已安装 addon)。
|
|
238
272
|
|
|
239
273
|
---
|
|
240
274
|
|
package/package.json
CHANGED
|
@@ -1,14 +1,38 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill: code-quality
|
|
3
|
-
description:
|
|
3
|
+
description: 生成后强制质量闸门。写完/改完 Vue/TS 代码后必须重读本清单、对照落盘文件自查、必跑 lint:fix 与 type-check,并在最终回复输出「代码质量审查」结果块。仅把本模块列入命中模块不算完成。
|
|
4
4
|
scope: project
|
|
5
|
-
tags: [code-review, quality, checklist, lint, typescript, vue3, security, performance]
|
|
5
|
+
tags: [code-review, quality, checklist, lint, typescript, vue3, security, performance, gate]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# 代码质量审查清单(生成后强制闸门)
|
|
9
|
+
|
|
10
|
+
> **何时执行**:任意 `/vue3-temp-skill` 任务在**文件已写入或修改之后**,结束对话前必须执行本闸门。
|
|
11
|
+
> **不算完成**:只在「命中模块」里写 `code-quality`;或只跑了 type-check / 未跑 `lint:fix`;或未对照本清单;或最终回复无「代码质量审查」结果块。
|
|
12
|
+
> **须按** Skill 功能模块示例 + 本清单审查;不通过必须修正后再收工。
|
|
13
|
+
|
|
14
|
+
## 强制执行协议(AI 必须按序做)
|
|
15
|
+
|
|
16
|
+
1. **重读本文件**(生成后再读,禁止仅凭开场记忆勾选)。
|
|
17
|
+
2. **列出本轮改动文件路径**,逐文件对照下方清单相关项。
|
|
18
|
+
3. **执行命令**(业务项目根目录,**两项均必跑,缺一不可**):
|
|
19
|
+
- 必跑:`pnpm lint:fix`(自动修复可修问题;若无该脚本则用 `pnpm lint`,再无则 `pnpm exec eslint . --fix`)
|
|
20
|
+
- 必跑:`pnpm type-check`(若无该脚本则用 `pnpm exec vue-tsc --noEmit`)
|
|
21
|
+
- 顺序建议:先 `lint:fix`,再 `type-check`(lint 可能改写文件,须以最终落盘结果过类型检查)
|
|
22
|
+
4. **失败则修代码 → 重跑上述两条命令**,直到全部通过或写出明确阻塞(缺依赖、环境等)。`lint:fix` 后仍有无法自动修复的报错,必须手改后再跑,禁止跳过。
|
|
23
|
+
5. **在最终回复追加结果块**(缺此块 = 未完成):
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## 代码质量审查
|
|
27
|
+
- 闸门:已执行 code-quality(生成后)
|
|
28
|
+
- 改动文件:`path/a`、`path/b`、…
|
|
29
|
+
- 清单:选型 ✅ / 类型 ✅ / 组件 ✅ / API ✅ / 安全 ✅ / 业务 ✅ / 列表布局 ✅或N/A / 风格 ✅
|
|
30
|
+
- 已修正:…(无则写「无」)
|
|
31
|
+
- 命令:`pnpm lint:fix` → 通过 | 失败:…;`pnpm type-check` → 通过 | 失败:…
|
|
32
|
+
- 待确认:…
|
|
33
|
+
```
|
|
9
34
|
|
|
10
|
-
|
|
11
|
-
> 须按 Skill 模块内示例与本清单审查。
|
|
35
|
+
---
|
|
12
36
|
|
|
13
37
|
## 〇、项目选型(最高优先级)
|
|
14
38
|
|
|
@@ -253,25 +277,28 @@ const fullName = computed(() => `${user.firstName} ${user.lastName}`);
|
|
|
253
277
|
|
|
254
278
|
## 审查流程
|
|
255
279
|
|
|
256
|
-
1.
|
|
257
|
-
2.
|
|
258
|
-
3.
|
|
259
|
-
4.
|
|
280
|
+
1. **生成/改码落盘之后**(不是生成前):执行上方「强制执行协议」。
|
|
281
|
+
2. **发现问题**:立即修正并重跑 `pnpm lint:fix` + `pnpm type-check`,不要带着已知问题收工。
|
|
282
|
+
3. **不确定项**:写入结果块「待确认」,必要时在代码加 `// TODO: 需要确认`。
|
|
283
|
+
4. **严重问题**(安全 / 类型错误 / lint 报错 / 列表布局硬约束违反):必须修正后再输出最终回复。
|
|
284
|
+
5. **最终回复**:必须含「代码质量审查」结果块;禁止只用「命中模块含 code-quality」代替。
|
|
260
285
|
|
|
261
286
|
## 快速自检命令
|
|
262
287
|
|
|
263
|
-
|
|
288
|
+
完成代码修改后,运行以下命令验证(**均必跑**):
|
|
264
289
|
|
|
265
290
|
```bash
|
|
266
|
-
#
|
|
267
|
-
|
|
291
|
+
# 必跑:Lint 自动修复(优先用项目脚本)
|
|
292
|
+
pnpm lint:fix
|
|
268
293
|
|
|
269
|
-
#
|
|
270
|
-
|
|
294
|
+
# 必跑:TypeScript 类型检查(优先用项目脚本)
|
|
295
|
+
pnpm type-check
|
|
271
296
|
|
|
272
|
-
#
|
|
273
|
-
npx stylelint "src/**/*.{css,scss,vue}"
|
|
274
|
-
|
|
275
|
-
# 全量检查(推荐)
|
|
297
|
+
# 无 lint:fix 时的回退
|
|
276
298
|
pnpm lint
|
|
299
|
+
# 或
|
|
300
|
+
pnpm exec eslint . --fix
|
|
301
|
+
|
|
302
|
+
# 无 type-check 脚本时的回退
|
|
303
|
+
pnpm exec vue-tsc --noEmit
|
|
277
304
|
```
|
|
@@ -359,7 +359,7 @@ function handleSizeChange(size: number) {
|
|
|
359
359
|
|
|
360
360
|
| 项 | 说明 |
|
|
361
361
|
|----|------|
|
|
362
|
-
| 包管理 | pnpm;脚本 `dev` / `build` / `type-check` / `lint` |
|
|
362
|
+
| 包管理 | pnpm;脚本 `dev` / `build` / `type-check` / `lint` / `lint:fix`(质量闸门必跑后两者) |
|
|
363
363
|
| 默认插件 | Vue/JSX、AutoImport、SVG、UnoCSS、Favicon、Mock(`VITE_USE_MOCK`)、Gzip、Visualizer、混淆、DevTools |
|
|
364
364
|
| 去 console | `build/build.ts`:非 `VITE_DEBUGGER` 时 Terser `drop_console`(**无** vite-plugin-remove-console) |
|
|
365
365
|
| 功能附属插件 | FileViewer → `file-management`;vConsole → `mobile-h5`;精确版本与 `pnpm` 命令见 `project-inventory` 第九节 |
|