@agile-team/wl-skills-kit 1.2.1 → 2.1.1
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/CHANGELOG.md +137 -0
- package/README.md +180 -357
- package/bin/wl-skills.js +206 -44
- package/files/.github/copilot-instructions.md +104 -43
- package/files/.github/guides/README.md +13 -0
- package/files/.github/guides/architecture.md +555 -0
- package/files/.github/guides/usage.md +166 -0
- package/files/.github/reports/README.md +65 -0
- package/files/.github/reports/SYS_DICT_INFO.md +19 -0
- package/files/.github/reports/SYS_PERMISSION_INFO.md +20 -0
- package/files/.github/reports//347/273/204/344/273/266/346/217/220/345/217/226/345/273/272/350/256/256.md +33 -0
- package/files/.github/reports//350/247/204/350/214/203/345/256/241/346/237/245/346/212/245/345/221/212.md +44 -0
- package/files/.github/skills/_compat/README.md +108 -0
- package/files/.github/skills/_compat/editors.json +61 -0
- package/files/.github/skills/_compat/headers/agents.txt +8 -0
- package/files/.github/skills/_compat/headers/claude-code.txt +7 -0
- package/files/.github/skills/_compat/headers/cline.txt +7 -0
- package/files/.github/skills/_compat/headers/cursor-mdc.txt +16 -0
- package/files/.github/skills/_compat/headers/cursor-rules.txt +7 -0
- package/files/.github/skills/_compat/headers/github-copilot.txt +1 -0
- package/files/.github/skills/_compat/headers/kiro.txt +10 -0
- package/files/.github/skills/_compat/headers/trae.txt +11 -0
- package/files/.github/skills/_compat/headers/windsurf.txt +7 -0
- package/files/.github/skills/_registry.md +81 -0
- package/files/.github/skills/{api-contract → core/api-contract}/SKILL.md +126 -29
- package/files/.github/skills/core/api-contract/USAGE.md +110 -0
- package/files/.github/skills/core/convention-audit/SKILL.md +189 -0
- package/files/.github/skills/core/convention-audit/USAGE.md +99 -0
- package/files/.github/skills/{page-codegen → core/page-codegen}/SKILL.md +64 -21
- package/files/.github/skills/core/page-codegen/USAGE.md +102 -0
- package/files/.github/skills/core/page-codegen/templates/_index.md +46 -0
- package/files/.github/skills/core/page-codegen/templates/domains/_CONTRIBUTING.md +107 -0
- package/files/.github/skills/{page-codegen → core/page-codegen/templates/domains/produce}/TPL-OPERATION-STATION.md +442 -442
- package/files/.github/skills/core/page-codegen/templates/domains/sale/README.md +26 -0
- package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-DETAIL-TABS.md +94 -39
- package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-DRIVEN.md +124 -124
- package/files/.github/skills/core/prototype-scan/USAGE.md +95 -0
- package/files/.github/skills/core/template-extract/SKILL.md +139 -0
- package/files/.github/skills/core/template-extract/USAGE.md +93 -0
- package/files/.github/skills/domain/README.md +51 -0
- package/files/.github/skills/ops/code-fix/SKILL.draft.md +108 -0
- package/files/.github/skills/sync/dict-sync/SKILL.draft.md +100 -0
- package/files/.github/skills/{menu-sync → sync/menu-sync}/SKILL.md +258 -258
- package/files/.github/skills/sync/menu-sync/USAGE.md +104 -0
- package/files/.github/skills/{menu-sync → sync/menu-sync}/env/guide.md +83 -83
- package/files/.github/skills/sync/permission-sync/SKILL.draft.md +91 -0
- package/files/.github/standards/01-toolchain.md +57 -0
- package/files/.github/standards/02-code-structure.md +111 -0
- package/files/.github/standards/03-comments.md +53 -0
- package/files/.github/standards/04-coding-basics.md +33 -0
- package/files/.github/standards/05-logging.md +38 -0
- package/files/.github/standards/06-security.md +44 -0
- package/files/.github/standards/07-config.md +52 -0
- package/files/.github/standards/08-git.md +60 -0
- package/files/.github/standards/09-typescript.md +71 -0
- package/files/.github/standards/10-pinia.md +57 -0
- package/files/.github/standards/11-form-validation.md +81 -0
- package/files/.github/standards/12-base-table.md +116 -0
- package/files/.github/standards/13-platform-components.md +123 -0
- package/files/.github/standards/index.md +89 -0
- package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/data.ts +196 -196
- package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.scss +150 -150
- package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.vue +79 -79
- package/files/docs/jh-date-range.md +257 -257
- package/files/docs/jh-date.md +222 -222
- package/files/docs/jh-dept-picker.md +190 -190
- package/files/docs/jh-drag-row.md +590 -590
- package/files/docs/jh-file-upload.md +216 -216
- package/files/docs/jh-picker.md +218 -218
- package/files/docs/jh-select.md +148 -148
- package/files/docs/jh-text.md +248 -248
- package/files/docs/jh-user-picker.md +197 -197
- package/package.json +6 -2
- package/files/.github/docs/menu-sync-design.md +0 -264
- package/files/.github/docs/use-skill.md +0 -382
- package/files/.github/docs/wl-skills-kit.md +0 -266
- package/files/.github/skills/convention-extract/SKILL.md +0 -236
- /package/files/.github/{docs → reports}/SYS_MENU_INFO.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-CHANGE-HISTORY.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-FORM-ROUTE.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-LIST.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-MASTER-DETAIL.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-RECORD-FORM.md +0 -0
- /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-TREE-LIST.md +0 -0
- /package/files/.github/skills/{prototype-scan → core/prototype-scan}/SKILL.md +0 -0
- /package/files/.github/skills/{menu-sync → sync/menu-sync}/env/env.local.json +0 -0
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
# AI Skill 使用与复用指南
|
|
2
|
-
|
|
3
|
-
> 如何使用 cx-ui-produce 的 5 个 AI Skill 高精度还原 Axure 原型 / 详设文档,以及如何将 Skill 体系移植到其他项目。
|
|
4
|
-
|
|
5
|
-
> **v1.4 更新**:page-codegen SKILL.md 已拆分为主文件 + 9 个独立模板文件(按模式名命名:TPL-LIST / TPL-MASTER-DETAIL / ... / TPL-DRIVEN),新增 OPERATION_STATION 和配置驱动模板识别规范。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 一、Skill 体系概览
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
13
|
-
│ prototype- │ │ api- │ │ page- │ │ menu- │ │ convention- │
|
|
14
|
-
│ scan │───→│ contract │───→│ codegen │───→│ sync │ │ extract │
|
|
15
|
-
│ │ │ │ │ │ │ │ │ │
|
|
16
|
-
│ Axure HTML │ │ page-spec │ │ page-spec │ │ pages.ts │ │ │
|
|
17
|
-
│ → page-spec │ │ → api.md │ │ → 4文件+注册 │ │ → 后端菜单表 │ │ 源码→规范文档│
|
|
18
|
-
│ JSON │ │ 每页一个 │ │ +菜单配置 │ │ (Phase 1) │ │ →instructions│
|
|
19
|
-
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
| Skill | 输入 | 输出 | 必须执行 | 移植时需要改吗 |
|
|
23
|
-
| ------------------ | ----------------------- | ------------------------------------------------- | -------- | ----------------------- |
|
|
24
|
-
| prototype-scan | Axure HTML / 详设文档 | page-spec JSON | ✅ 必须 | 不用改,直接复制 |
|
|
25
|
-
| api-contract | page-spec JSON | api.md | ✅ 推荐 | 微调 URL 命名规范 |
|
|
26
|
-
| page-codegen | page-spec JSON + api.md | index.vue + data.ts + index.scss + SYS_MENU_INFO.md | ✅ 必须 | **必须改**,代码模板绑项目(含 9 个 TPL-*.md 模板文件,按模式名命名) |
|
|
27
|
-
| menu-sync | SYS_MENU_INFO.md + env.local.json | 后端菜单表记录(AI 调 `/system/menu/save`) | ✅ 推荐 | 不用改,配置 env.local.json 即可(Phase 2 script 待接口就绪) |
|
|
28
|
-
| convention-audit | 项目源码 + copilot-instructions.md | 偏差报告 + 整改建议 | ❌ 按需 | 不用改,规范基线来自 copilot-instructions.md |
|
|
29
|
-
|
|
30
|
-
**核心结论:prototype-scan 直接复制,page-codegen 必须适配新项目的代码模板,convention-audit 用于审计项目代码是否符合规范。**
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 二、日常使用
|
|
35
|
-
|
|
36
|
-
### 工作流 A:Axure 原型 → 代码(最常用)
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
Step 1 发送 Axure HTML 文件夹路径
|
|
40
|
-
"帮我扫描 c:\Users\xxx\原型包\ 下的所有 HTML"
|
|
41
|
-
|
|
42
|
-
Step 2 AI 执行 prototype-scan → 输出 page-spec JSON
|
|
43
|
-
|
|
44
|
-
Step 3 确认 page-spec(检查字段数量,注意 notes 中的歧义项)
|
|
45
|
-
|
|
46
|
-
Step 4 AI 执行 api-contract → 输出每个页面的 api.md
|
|
47
|
-
(api.md 先于代码生成,确保 API_CONFIG 与接口一致)
|
|
48
|
-
|
|
49
|
-
Step 5 确认接口(服务缩写、资源名是否正确)
|
|
50
|
-
|
|
51
|
-
Step 6 AI 执行 page-codegen → 输出:
|
|
52
|
-
- index.vue + data.ts + index.scss + api.md(每页 4 文件)
|
|
53
|
-
- pages.ts 注册片段(已写入)
|
|
54
|
-
- mock/[页面名].ts(与 api.md URL/字段一致,vite-plugin-mock 自动加载)
|
|
55
|
-
- AI 询问用户:SYS_MENU_INFO.md 选择【覆盖】还是【追加】模式
|
|
56
|
-
- 写入 SYS_MENU_INFO.md(.github/docs/ 下)
|
|
57
|
-
|
|
58
|
-
Step 7 AI 输出校验报告(✅/❌ 各轮 diff 结果)
|
|
59
|
-
|
|
60
|
-
Step 8 菜单注册(二选一,效果等价)
|
|
61
|
-
方式 A - 自动:对 AI 说「帮我创建菜单」
|
|
62
|
-
→ AI 读取 SYS_MENU_INFO.md + env.local.json → 调 API 逐条创建
|
|
63
|
-
方式 B - 手动:按 SYS_MENU_INFO.md 表格在系统管理后台手动创建菜单
|
|
64
|
-
两种方式的菜单通过「组件路径」与 pages.ts 注册的文件路径关联
|
|
65
|
-
|
|
66
|
-
Step 9 启动开发验证
|
|
67
|
-
pnpm run dev → 打开页面,mock 数据自动生效,可立即调试
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**耗时预估**:1 个模块(5-8 页面)约 5-10 分钟
|
|
71
|
-
|
|
72
|
-
### 工作流 B:详设文档 → 代码(更高精度)
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
Step 1 发送详设文档(MD/Word/表格)
|
|
76
|
-
"按照这份详设文档帮我生成页面"
|
|
77
|
-
|
|
78
|
-
Step 2 AI 执行 prototype-scan 模式B → 输出 page-spec JSON
|
|
79
|
-
(字段英文名、字典code 直接读取,无需推断)
|
|
80
|
-
|
|
81
|
-
Step 3 其余步骤同工作流 A 的 Step 3-9
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**精度对比**:
|
|
85
|
-
- Axure → 90-95%(英文名/字典需推断)
|
|
86
|
-
- **详设文档(规范格式)→ 95-100%(字段名直接读取)**
|
|
87
|
-
|
|
88
|
-
**推荐在详设文档中明确写出的信息**(精度最大化):
|
|
89
|
-
|
|
90
|
-
```markdown
|
|
91
|
-
| 字段名(camelCase) | 中文名 | 类型 | 字典code |
|
|
92
|
-
|customerCode | 客户编码 | input | - |
|
|
93
|
-
|enableStatus | 启用状态 | dict | enable_status |
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 前置声明(放在详设文档或对话开头)
|
|
97
|
-
|
|
98
|
-
只需 3 个必填项,AI 自动推导目录结构、pages.ts 注册语法和命名前缀。
|
|
99
|
-
|
|
100
|
-
**必填**:
|
|
101
|
-
|
|
102
|
-
```markdown
|
|
103
|
-
## 前置声明
|
|
104
|
-
|
|
105
|
-
- 业务域/模块:生产 > 生产棒线材 > AI流程
|
|
106
|
-
- 服务前缀:/mmwr/
|
|
107
|
-
- 页面清单:客户档案、临时客户档案、客户申请新增、客户申请变更、客户详情
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**按需补充**(有就写,没有不写):
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
- 参考样例:src/views/produce/production-mmwr/aiflow/mmwr-customer-archive/
|
|
114
|
-
- 共享组件:新增/变更/详情共用 Tab 面板 → src/components/local/c_customerTabs/
|
|
115
|
-
- 特殊约定:带 _1 后缀的 HTML 是同一组件不同上下文,不重复生成
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
> **AI 推导规则**:业务域→注册函数(生产=`gProd` / 销售=`gSale`),模块→目录名(kebab-case),页面名→文件目录(kebab-case + 模块前缀)。无需手写 pages.ts 语法。
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 三、精度提升技巧
|
|
123
|
-
|
|
124
|
-
### 技巧 1:一次只处理一个模块
|
|
125
|
-
|
|
126
|
-
❌ 同时发 30 个 HTML → AI 上下文窗口压力大,容易遗漏
|
|
127
|
-
✅ 按业务模块分批(每批 5-8 页面)→ 精度更高
|
|
128
|
-
|
|
129
|
-
### 技巧 2:提前说明约定
|
|
130
|
-
|
|
131
|
-
在 Step 1 时附加说明,直接覆盖 AI 的推断:
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
帮我扫描这些原型:
|
|
135
|
-
- 服务缩写统一用 sale
|
|
136
|
-
- 所有带 _1 后缀的文件是同一组件在不同上下文(不重复生成)
|
|
137
|
-
- productLine 字典 code 用 product_line
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 技巧 3:确认 page-spec 再生成代码
|
|
141
|
-
|
|
142
|
-
**不要让 AI 跳过 Step 3 直接生成代码。**
|
|
143
|
-
|
|
144
|
-
page-spec JSON 是唯一可以低成本修正的节点:
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
page-spec 有误 → 改一行 JSON → 重新生成代码(秒级)
|
|
148
|
-
代码生成后发现遗漏 → 找具体文件/函数/字段 → 修复成本×10
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### 技巧 4:subTables 要明确交互意图
|
|
152
|
-
|
|
153
|
-
最常见的漏项是子表"能不能编辑"没讲清楚:
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
❌ 含糊:"页面有一个业务信息表"
|
|
157
|
-
✅ 明确:"业务信息表可以新增删除行(editable: true),但不能行内编辑"
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### 技巧 5:共享组件提前识别
|
|
161
|
-
|
|
162
|
-
如果多个页面共用同一个 Tab 面板 / 弹窗,在 Step 3 时告诉 AI:
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
基本信息/联系人/银行信息 等 8 个 Tab 在新增、变更、详情 3 个页面共用,
|
|
166
|
-
请提取到 src/components/local/c_customerTabs/
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 四、移植到新项目
|
|
172
|
-
|
|
173
|
-
### 第 1 步:复制 Skill 文件
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
目标项目/
|
|
177
|
-
├── .github/
|
|
178
|
-
│ ├── copilot-instructions.md ← 第2步生成
|
|
179
|
-
│ └── skills/
|
|
180
|
-
│ ├── prototype-scan/SKILL.md ← 直接复制,不改
|
|
181
|
-
│ ├── api-contract/SKILL.md ← 直接复制,微调命名规范
|
|
182
|
-
│ ├── page-codegen/SKILL.md ← 需要重写代码模板
|
|
183
|
-
│ └── convention-extract/SKILL.md ← 直接复制,用于审计代码合规性
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### 第 2 步:建立编码规范
|
|
187
|
-
|
|
188
|
-
复制 `.github/copilot-instructions.md` 作为基础模板,按新项目实际情况修改:
|
|
189
|
-
- 路由注册方式(`gSale`/`gProd` → 新项目的函数名)
|
|
190
|
-
- 组件库(如果仍是 Element Plus + @jhlc/jh-ui 则不改)
|
|
191
|
-
- 页面目录层级、服务缩写前缀
|
|
192
|
-
|
|
193
|
-
> **copilot-instructions.md 是唯一编码规范源头**,团队统一维护此文件。
|
|
194
|
-
> 项目引入后,执行 convention-audit Skill 审计已有代码,输出偏差报告和整改清单。
|
|
195
|
-
|
|
196
|
-
**前置条件清单**:
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
□ 技术栈(Vue2/Vue3)
|
|
200
|
-
□ 页面目录结构和命名规则
|
|
201
|
-
□ 状态管理方案(Pinia / Vuex)
|
|
202
|
-
□ API 调用方式(axios 封装、基类模式、独立API层)
|
|
203
|
-
□ UI 组件库和自定义组件清单
|
|
204
|
-
□ 样式方案(SCSS / Tailwind / ...)
|
|
205
|
-
□ 路由/菜单注册方式
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
**各 AI 工具加载方式**:
|
|
209
|
-
|
|
210
|
-
| AI 工具 | Skill 读取方式 | copilot-instructions 加载 |
|
|
211
|
-
| --- | --- | --- |
|
|
212
|
-
| VS Code Copilot | 自动读取 `.github/skills/*/SKILL.md` | ✅ 自动(`.github/copilot-instructions.md`) |
|
|
213
|
-
| Cursor | `.cursor/rules/` 下的 `.mdc` 文件 | ✅ 自动(`.cursorrules` 或 `.cursor/rules/`) |
|
|
214
|
-
| Windsurf (Cascade) | 自动读取 `.github/skills/*/SKILL.md` | ✅ 自动(`.windsurfrules`) |
|
|
215
|
-
| Kiro | `.kiro/steering/` 下的 `*.md` 文件 | ✅ 自动 |
|
|
216
|
-
| Trae | 工作区规则配置 | ✅ 自动 |
|
|
217
|
-
| Claude Code / Roo / Cline | `AGENTS.md` 或 `CLAUDE.md` | ❌ 手动注入或 AGENTS.md |
|
|
218
|
-
| Qodo / Qoder | `.qodo/` 配置 | ❌ 手动 |
|
|
219
|
-
| Gemini CLI | `GEMINI.md` | ❌ 手动 |
|
|
220
|
-
|
|
221
|
-
### 第 3 步:改写 page-codegen 代码模板
|
|
222
|
-
|
|
223
|
-
| 需改写的部分 | cx-ui-produce 当前写法 | 新项目要替换为 |
|
|
224
|
-
| ------------ | ------------------------- | ------------------------------------ |
|
|
225
|
-
| 基类 | `AbstractPageQueryHook` | 新项目的页面基类或 Composition API |
|
|
226
|
-
| 查询组件 | `BaseQuery` | 新项目的查询封装 |
|
|
227
|
-
| 表格组件 | `BaseTable` | `el-table` 或自定义封装 |
|
|
228
|
-
| 分页组件 | `jh-pagination` | `el-pagination` 或自定义 |
|
|
229
|
-
| API 调用 | `getAction / postAction` | 项目封装的请求方法 |
|
|
230
|
-
| 字典翻译 | `BusLogicDataType.dict` | 项目的字典方案 |
|
|
231
|
-
| 路由注册 | `pages.ts` + `gSale()` | 项目的路由配置方式 |
|
|
232
|
-
|
|
233
|
-
> **注意**:page-codegen 现为多文件结构(文件名即模式名,如 TPL-LIST.md、TPL-MASTER-DETAIL.md)。移植时需同时复制 `SKILL.md`(主规则文件)和全部 `TPL-*.md` 模板文件,然后替换模板中的组件写法。
|
|
234
|
-
|
|
235
|
-
**改写方法:从新项目中找 1-2 个标杆页面,提取其模式,替换模板中的对应部分。**
|
|
236
|
-
|
|
237
|
-
### 第 3.5 步:依赖安装检查(⚠️ 必做)
|
|
238
|
-
|
|
239
|
-
> Skill 生成的代码会 import 以下依赖。**新项目必须确认已安装**,否则生成后编译/运行报错。
|
|
240
|
-
|
|
241
|
-
#### 核心依赖(dependencies)
|
|
242
|
-
|
|
243
|
-
| 包名 | 用途 | 当前版本参考 | 说明 |
|
|
244
|
-
|---|---|---|---|
|
|
245
|
-
| `vue` | 框架 | ~3.2.25 | 新项目一定有 |
|
|
246
|
-
| `vue-router` | 路由(location.href 导航) | 4.4.3 | 新项目一定有 |
|
|
247
|
-
| `element-plus` | UI 组件(ElTag/ElMessage/ElMessageBox/ElTabs) | 2.2.6-prod.3 | 新项目一定有 |
|
|
248
|
-
| `@jhlc/common-core` | 平台核心(AbstractPageQueryHook/BaseQuery/BaseTable/getAction/postAction) | 3.1.0-prod.9 | 同平台项目一定有 |
|
|
249
|
-
| `lodash-es` | `debounce`(RECORD_FORM 保存防连点) | ^4.17.21 | ⚠️ **易遗漏**:package.json 可能只有 `lodash`,但代码 import 的是 `lodash-es`(ES module 版)。若缺失需手动安装:`pnpm add lodash-es` |
|
|
250
|
-
| `xlsx` | 导出/导入按钮功能 | ^0.18.5 | ⚠️ 仅在页面有"导出"/"导入"按钮时需要。若无此功能可跳过 |
|
|
251
|
-
|
|
252
|
-
#### 开发依赖(devDependencies)
|
|
253
|
-
|
|
254
|
-
| 包名 | 用途 | 当前版本参考 | 安装命令 |
|
|
255
|
-
|---|---|---|---|
|
|
256
|
-
| `mockjs` | Mock 数据生成(`Mock.mock`/`@cname`/`@date`) | ^1.1.0 | `pnpm add -D mockjs` |
|
|
257
|
-
| `vite-plugin-mock` | Vite 开发服自动加载 `mock/` 目录 | ^3.0.2 | `pnpm add -D vite-plugin-mock` |
|
|
258
|
-
|
|
259
|
-
#### Vite 配置检查
|
|
260
|
-
|
|
261
|
-
Mock 依赖安装后还需在 `vite.config.ts` 中注册插件:
|
|
262
|
-
|
|
263
|
-
```typescript
|
|
264
|
-
import { viteMockServe } from "vite-plugin-mock";
|
|
265
|
-
|
|
266
|
-
export default defineConfig(({ command }) => ({
|
|
267
|
-
plugins: [
|
|
268
|
-
viteMockServe({
|
|
269
|
-
mockPath: "./mock",
|
|
270
|
-
enable: command === "serve", // 仅 dev 模式启用
|
|
271
|
-
}),
|
|
272
|
-
],
|
|
273
|
-
}));
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
#### 项目配置检查
|
|
277
|
-
|
|
278
|
-
| 检查项 | 预期 | 缺失后果 |
|
|
279
|
-
|---|---|---|
|
|
280
|
-
| `src/types/page.ts` 桶文件 | 导出 `AbstractPageQueryHook`、`BaseQueryItemDesc`、`ActionButtonDesc`、`TableColumnDesc`、`BusLogicDataType` | TS 编译报错:找不到导出 |
|
|
281
|
-
| `tsconfig.json` 的 `paths` | `@/*` → `src/*` | import `@/types/page` 报错 |
|
|
282
|
-
| `mock/` 目录存在 | 项目根目录下有 `mock/` 文件夹 | vite-plugin-mock 无文件可加载 |
|
|
283
|
-
| `.env.dev` 含 `ENV_MOCK=true` | 控制 mock 开关 | mock 数据不生效 |
|
|
284
|
-
|
|
285
|
-
> **AI 生成代码时的自检规则**:生成完成后,AI 应检查 `package.json` 中是否存在上述依赖,若缺失则提示用户执行安装命令。
|
|
286
|
-
|
|
287
|
-
### 第 4 步:验证
|
|
288
|
-
|
|
289
|
-
拿一个中等复杂度的 Axure 页面走一遍完整流程,确认五轮校验无遗漏。
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## 五、已知局限与应对
|
|
294
|
-
|
|
295
|
-
| 局限 | 应对 |
|
|
296
|
-
|------|------|
|
|
297
|
-
| Axure 导出 HTML 结构不统一 | 团队统一 Axure 9.0+ 和导出设置 |
|
|
298
|
-
| 静态 HTML 看不出交互行为 | 检查 page-spec 的 notes 字段,补充交互说明 |
|
|
299
|
-
| 联动逻辑需人工补充 | 在 api.md 或详设文档中写明联动关系 |
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
## 六、演进方向
|
|
304
|
-
|
|
305
|
-
| 方向 | 做什么 | 状态 |
|
|
306
|
-
| --------------------- | --------------------------------------------- | ------ |
|
|
307
|
-
| page-spec JSON Schema | 定义正式 Schema,AI 输出后自动校验完整性 | 计划中 |
|
|
308
|
-
| 生成后字段 diff 脚本 | 对比 page-spec 字段 vs 代码实际字段,报缺失项 | 计划中 |
|
|
309
|
-
| 截图对比验证 | Axure 截图 ↔ Dev 页面截图,标注差异区域 | 远期 |
|
|
310
|
-
| .rp 原生解析 | 跳过 HTML 导出,直接读 Axure 源文件 | 远期 |
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## 七、Skill 迭代记录
|
|
315
|
-
|
|
316
|
-
| 版本 | 日期 | 改动 |
|
|
317
|
-
| ---- | ------- | ----------------------------------------------------------- |
|
|
318
|
-
| v1.0 | 2026-03 | 初版 4 个 Skill + copilot-instructions.md |
|
|
319
|
-
| v1.1 | 2026-04 | prototype-scan 输出改为 JSON page-spec + notes |
|
|
320
|
-
| v1.1 | 2026-04 | page-codegen 增加五轮强制校验 + SYS_MENU_INFO.md 生成 |
|
|
321
|
-
| v1.1 | 2026-04 | 修复子表交互遗漏(editable / inlineEdit 字段提取) |
|
|
322
|
-
| v1.2 | 2026-04 | page-codegen 补全 FORM_ROUTE 模板 + @/types/page 导入规范 |
|
|
323
|
-
| v1.2 | 2026-04 | 模板 C(TREE_LIST)补全 data.ts + 模板 D(DETAIL_TABS)新增 |
|
|
324
|
-
| v1.2 | 2026-04 | 合并 use-skill.md 和 skill-reuse-guide.md |
|
|
325
|
-
| v1.2 | 2026-04 | 4 个 SKILL.md 添加 YAML frontmatter 兼容 skills.sh |
|
|
326
|
-
| v1.3 | 2026-04 | 新增 menu-sync Skill(Phase 1:AI 调 /system/menu/save) |
|
|
327
|
-
| v1.3 | 2026-04 | Template E diff 改为 diff-field-col 包装器(旧值在字段下方)|
|
|
328
|
-
| v1.3 | 2026-04 | 路由导航规则修正:hidden→hidden 也必须用 location.href |
|
|
329
|
-
| v1.4 | 2026-04 | Template F(RECORD_FORM)录入型实绩页新增 |
|
|
330
|
-
| v1.4 | 2026-04 | page-codegen 拆分为主 SKILL.md(~825行)+ 9 个 TPL-*.md(按模式名命名) |
|
|
331
|
-
| v1.4 | 2026-04 | Template G(OPERATION_STATION)工序操作站新增 |
|
|
332
|
-
| v1.4 | 2026-04 | TPL-DRIVEN.md 配置驱动模板页识别参考新增 |
|
|
333
|
-
| v1.4 | 2026-04 | jh-dialog 只读例外规则补充(纯查看弹窗可不用 c_formModal) |
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
|
|
337
|
-
## 八、各 Skill 的触发词
|
|
338
|
-
|
|
339
|
-
| 操作 | 触发方式 |
|
|
340
|
-
| --------------- | ----------------------------------------------------- |
|
|
341
|
-
| 扫描 Axure 原型 | "扫描这些原型"、"解析 axure"、"页面清单" |
|
|
342
|
-
| 解析详设文档 | "按详设生成"、"从这份文档生成"、"详设文档" |
|
|
343
|
-
| 生成接口约定 | "接口约定"、"生成 api.md"、"api contract" |
|
|
344
|
-
| 生成页面代码 | "生成页面"、"代码生成"、"按原型生成"、"生成 vue 页面" |
|
|
345
|
-
| 同步菜单 | "帮我创建菜单"、"同步菜单"、"补菜单"、"注册菜单" |
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
## 九、文件清单
|
|
350
|
-
|
|
351
|
-
```
|
|
352
|
-
.github/
|
|
353
|
-
├── copilot-instructions.md ← AI 自动加载的编码规范
|
|
354
|
-
├── AGENTS.md ← Claude Code / Roo / Cline 专用入口
|
|
355
|
-
├── docs/
|
|
356
|
-
│ ├── use-skill.md ← 本文档(使用 + 复用 + 移植一站式指南)
|
|
357
|
-
│ ├── menu-sync-design.md ← 菜单配置方案设计
|
|
358
|
-
│ ├── wl-skills-kit.md ← wl-skills-kit 包说明与跨域复用指南
|
|
359
|
-
│ └── SYS_MENU_INFO.md ← 菜单注册记录
|
|
360
|
-
└── skills/
|
|
361
|
-
├── prototype-scan/SKILL.md ← Axure HTML → page-spec JSON
|
|
362
|
-
├── api-contract/SKILL.md ← page-spec → api.md
|
|
363
|
-
├── page-codegen/
|
|
364
|
-
│ ├── SKILL.md ← 主规则文件(约束+规范+模板索引,~825行)
|
|
365
|
-
│ ├── TPL-LIST.md ← LIST:标准列表页
|
|
366
|
-
│ ├── TPL-MASTER-DETAIL.md ← MASTER_DETAIL:主从表
|
|
367
|
-
│ ├── TPL-TREE-LIST.md ← TREE_LIST:树形+列表
|
|
368
|
-
│ ├── TPL-DETAIL-TABS.md ← DETAIL_TABS:详情Tab+子表
|
|
369
|
-
│ ├── TPL-FORM-ROUTE.md ← FORM_ROUTE:复杂表单独立路由
|
|
370
|
-
│ ├── TPL-CHANGE-HISTORY.md ← CHANGE_HISTORY:变更历史查询
|
|
371
|
-
│ ├── TPL-RECORD-FORM.md ← RECORD_FORM:录入型实绩页
|
|
372
|
-
│ ├── TPL-OPERATION-STATION.md ← OPERATION_STATION:工序操作站
|
|
373
|
-
│ └── TPL-DRIVEN.md ← TEMPLATE_DRIVEN:配置驱动识别参考
|
|
374
|
-
├── menu-sync/SKILL.md ← pages.ts → 后端菜单表
|
|
375
|
-
└── convention-extract/SKILL.md ← 规范审计(审计代码是否符合规范)
|
|
376
|
-
docs/
|
|
377
|
-
├── page-query-hook-best-practices.md
|
|
378
|
-
├── request.md
|
|
379
|
-
└── jh-*.md ← 平台组件使用文档
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
> **一句话总结**:prototype-scan 通用可直接复制,page-codegen 需按目标项目改写代码模板,convention-audit 用于审计项目代码合规性。copilot-instructions.md 是唯一规范源头。
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
# wl-skills-kit — AI Skill 模板包
|
|
2
|
-
|
|
3
|
-
> 统一维护、一键分发:AI 指令 + 组件文档 + 通用组件 + 领域样例。
|
|
4
|
-
> 安装即导入,无副作用,各项目通过 `npx @agile-team/wl-skills-kit` 同步更新。
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 一、定位
|
|
9
|
-
|
|
10
|
-
**wl-skills-kit** 是公司前端 AI 生态的基础设施包。
|
|
11
|
-
|
|
12
|
-
| 是什么 | 不是什么 |
|
|
13
|
-
| ---------------------------------------- | ----------------------------------- |
|
|
14
|
-
| 文件模板包,安装后按目录结构导入项目 | 不是运行时依赖 |
|
|
15
|
-
| AI 指令 + 文档 + 组件 + 样例的统一维护源 | 不修改 package.json / node_modules |
|
|
16
|
-
| 各项目同步更新的唯一通道 | 不执行 postinstall / 不删除任何文件 |
|
|
17
|
-
|
|
18
|
-
**一句话**:`npx @agile-team/wl-skills-kit` = 把模板文件复制到你的项目。完毕。
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 二、包目录结构
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
@agile-team/wl-skills-kit/
|
|
26
|
-
├── package.json ← name: "@agile-team/wl-skills-kit"
|
|
27
|
-
├── README.md
|
|
28
|
-
├── CHANGELOG.md
|
|
29
|
-
├── bin/
|
|
30
|
-
│ └── wl-skills.js ← CLI 入口(文件拷贝 + 进度提示)
|
|
31
|
-
│
|
|
32
|
-
└── files/ ← 1:1 映射到目标项目根目录
|
|
33
|
-
│
|
|
34
|
-
├── .github/ ← ① AI 指令(核心)
|
|
35
|
-
│ ├── copilot-instructions.md ← 项目规范总纲
|
|
36
|
-
│ ├── skills/
|
|
37
|
-
│ │ ├── prototype-scan/SKILL.md ← 原型扫描
|
|
38
|
-
│ │ ├── api-contract/SKILL.md ← 接口约定
|
|
39
|
-
│ │ ├── page-codegen/ ← 页面代码生成
|
|
40
|
-
│ │ │ ├── SKILL.md ← 主规则(~825 行)
|
|
41
|
-
│ │ │ └── TPL-*.md ← 9 个模板(LIST / FORM-ROUTE / MASTER-DETAIL /
|
|
42
|
-
│ │ │ TREE-LIST / DETAIL-TABS / CHANGE-HISTORY /
|
|
43
|
-
│ │ │ RECORD-FORM / OPERATION-STATION / DRIVEN)
|
|
44
|
-
│ │ ├── menu-sync/
|
|
45
|
-
│ │ │ ├── SKILL.md ← 菜单同步
|
|
46
|
-
│ │ │ └── env/guide.md ← env.local.json 配置说明(json 本身不分发)
|
|
47
|
-
│ │ └── convention-extract/SKILL.md ← 规范审计
|
|
48
|
-
│ └── docs/
|
|
49
|
-
│ ├── use-skill.md ← 使用 + 移植一站式指南
|
|
50
|
-
│ ├── menu-sync-design.md ← 菜单同步方案设计
|
|
51
|
-
│ ├── SYS_MENU_INFO.md ← 菜单注册记录模板
|
|
52
|
-
│ └── wl-skills-kit.md ← 本文档
|
|
53
|
-
│
|
|
54
|
-
├── docs/ ← ② 组件文档(12 个 md)
|
|
55
|
-
│ ├── request.md ← HTTP 请求工具
|
|
56
|
-
│ ├── page-query-hook-best-practices.md
|
|
57
|
-
│ ├── jh-select.md / jh-date.md / jh-date-range.md
|
|
58
|
-
│ ├── jh-drag-row.md / jh-pagination.md / jh-file-upload.md
|
|
59
|
-
│ └── jh-text.md / jh-user-picker.md / jh-dept-picker.md / jh-picker.md
|
|
60
|
-
│
|
|
61
|
-
├── src/
|
|
62
|
-
│ ├── components/ ← ③ 通用组件
|
|
63
|
-
│ │ ├── global/ ← C_Splitter / C_Tree / C_TagStatus
|
|
64
|
-
│ │ │ C_ParentView / C_SvgIcon / C_RightToolbar
|
|
65
|
-
│ │ ├── local/ ← c_formModal / c_formSections
|
|
66
|
-
│ │ │ c_listModal / c_spliterTitle
|
|
67
|
-
│ │ └── remote/ ← BaseQuery / BaseTable / BaseToolbar
|
|
68
|
-
│ │ BaseForm / AGGrid(仅 README)
|
|
69
|
-
│ └── types/page.ts ← ④ 类型桶文件
|
|
70
|
-
│
|
|
71
|
-
└── demo/ ← ⑤ 领域样例(AI 学习 + 开发参考)
|
|
72
|
-
├── README.md ← 样例索引 + 模板类型标注
|
|
73
|
-
├── produce/
|
|
74
|
-
│ └── aiflow/ ← 生产域 8 个页面
|
|
75
|
-
│ ├── mmwr-customer-archive/ ← LIST + Tabs + c_formModal
|
|
76
|
-
│ ├── mmwr-temp-customer-archive/ ← LIST
|
|
77
|
-
│ ├── mmwr-customer-apply-add/ ← LIST
|
|
78
|
-
│ ├── mmwr-customer-apply-add-form/ ← FORM_ROUTE
|
|
79
|
-
│ ├── mmwr-customer-apply-change/ ← LIST
|
|
80
|
-
│ ├── mmwr-customer-apply-change-form/ ← FORM_ROUTE
|
|
81
|
-
│ ├── mmwr-customer-apply-change-history/ ← CHANGE_HISTORY
|
|
82
|
-
│ └── mmwr-customer-detail/ ← DETAIL_TABS
|
|
83
|
-
└── sale/
|
|
84
|
-
└── demo/ ← 销售域 5 个页面(平台默认样例)
|
|
85
|
-
├── domestic-trade-order/ ← LIST 标准列表
|
|
86
|
-
├── metallurgical-spec/ ← MASTER_DETAIL 上下分栏
|
|
87
|
-
├── add-demo/ ← FORM_ROUTE(c_formSections)
|
|
88
|
-
├── billet-flame-cut-plan/ ← LIST 变体
|
|
89
|
-
└── heat-batch-return/ ← LIST + 自定义弹窗
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
> `files/` 下所有内容按原始路径写入项目根目录。**仅此而已,无其他逻辑。**
|
|
93
|
-
|
|
94
|
-
### 不分发的内容
|
|
95
|
-
|
|
96
|
-
| 路径 | 原因 |
|
|
97
|
-
| ------------------------------------------- | ---------------------------------------- |
|
|
98
|
-
| `src/components/template/*` | 高阶封装,v2.0 稳定后再纳入 |
|
|
99
|
-
| `src/components/local/c_customerTabs/` | 客户域专用 |
|
|
100
|
-
| `src/components/local/c_applyDetailDialog/` | 客户域专用 |
|
|
101
|
-
| `src/components/local/c_actionModal/` | 客户域专用 |
|
|
102
|
-
| `menu-sync/env/env.local.json` | 含 Token,各项目本地维护(已 gitignore) |
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 三、使用方式
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
# 安装 / 初始化(首次)
|
|
110
|
-
npx @agile-team/wl-skills-kit
|
|
111
|
-
|
|
112
|
-
# 同步更新(拉取最新模板)
|
|
113
|
-
npx @agile-team/wl-skills-kit@latest
|
|
114
|
-
|
|
115
|
-
# 预览变更(不写入,仅输出文件列表)
|
|
116
|
-
npx @agile-team/wl-skills-kit --dry-run
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
| ✅ 做什么 | ❌ 不做什么 |
|
|
120
|
-
| ------------------------------ | -------------------- |
|
|
121
|
-
| 写入 .github/ docs/ src/ demo/ | 不修改 package.json |
|
|
122
|
-
| 覆盖同名文件 | 不修改 node_modules/ |
|
|
123
|
-
| 创建不存在的目录 | 不执行 postinstall |
|
|
124
|
-
| | 不删除任何文件 |
|
|
125
|
-
|
|
126
|
-
### 安全路径(不会被覆盖)
|
|
127
|
-
|
|
128
|
-
以下路径不在分发范围内,本地修改永远安全:
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
.github/skills/my-domain-skill/ ← 自定义 Skill(非内置名)
|
|
132
|
-
.github/docs/my-domain-doc.md ← 自定义文档
|
|
133
|
-
src/components/local/my_custom/ ← 自定义组件
|
|
134
|
-
src/views/ ← 业务页面
|
|
135
|
-
mock/ ← Mock 数据
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
| 修改类型 | 做法 |
|
|
139
|
-
| -------- | --------------------------------------------------- |
|
|
140
|
-
| 通用改进 | **提 PR 到 wl-skills-kit 仓库**,合并后所有项目受益 |
|
|
141
|
-
| 领域专有 | 放在上述安全路径,不会被覆盖 |
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## 四、多编辑器支持
|
|
146
|
-
|
|
147
|
-
v1.0 聚焦 **GitHub Copilot**(`.github/` 目录即完整配置)。
|
|
148
|
-
|
|
149
|
-
v1.1 实现:CLI 安装时自动从 `.github/copilot-instructions.md` **动态生成**各编辑器配置文件。单一源头,更新 `copilot-instructions.md` 后重新运行即同步所有编辑器配置。
|
|
150
|
-
|
|
151
|
-
| 编辑器 | 配置路径 | 状态 |
|
|
152
|
-
| ------------------ | -------------------------------------------------------------- | ------- |
|
|
153
|
-
| **GitHub Copilot** | `.github/copilot-instructions.md` + `skills/` | ✅ v1.0 |
|
|
154
|
-
| **Cursor** | `.cursorrules` + `.cursor/rules/conventions.mdc` (alwaysApply) | ✅ v1.1 |
|
|
155
|
-
| **Windsurf** | `.windsurfrules` | ✅ v1.1 |
|
|
156
|
-
| **Kiro** | `.kiro/steering/conventions.md` | ✅ v1.1 |
|
|
157
|
-
| **Trae** | `.trae/rules/conventions.md` | ✅ v1.1 |
|
|
158
|
-
| **Claude Code** | `CLAUDE.md` | ✅ v1.1 |
|
|
159
|
-
| **Roo / Cline** | `.clinerules` | ✅ v1.1 |
|
|
160
|
-
| **AGENTS.md** | `AGENTS.md`(Linux Foundation 标准,通用兜底) | ✅ v1.1 |
|
|
161
|
-
|
|
162
|
-
> **原则**:AGENTS.md 是跨工具兜底标准,新工具出来大概率支持它。
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## 五、发布策略
|
|
167
|
-
|
|
168
|
-
| 方式 | 场景 | 命令 |
|
|
169
|
-
| -------------------- | ----------- | ---------------------------------------------------- |
|
|
170
|
-
| **npm 公有**(优先) | 公开发布 | `npm publish --access public` |
|
|
171
|
-
| **私有 npm**(备选) | 内网团队 | `npm config set @agile-team:registry http://npm.nisco.cn/` |
|
|
172
|
-
| **Git 直装** | 无 npm 仓库 | `npx git+http://git.nisco.cn/PSQF/wl-skills-kit.git` |
|
|
173
|
-
| **离线 tgz** | 隔离网络 | `npm pack` → `npx ./jhlc-wl-skills-kit-x.x.x.tgz` |
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## 六、贡献指南
|
|
178
|
-
|
|
179
|
-
### 可贡献内容
|
|
180
|
-
|
|
181
|
-
| 类型 | 示例 | 贡献者 |
|
|
182
|
-
| ---------- | ----------------------------------- | -------------- |
|
|
183
|
-
| Skill 修复 | 修复 page-codegen 生成 bug | 任何使用者 |
|
|
184
|
-
| 组件文档 | 新增 jh-xxx 文档 | 平台组件开发者 |
|
|
185
|
-
| 领域样例 | `demo/{domain}/{submodule}/{page}/` | 各域开发者 |
|
|
186
|
-
| 通用组件 | 新增 c_xxxModal | 架构组 |
|
|
187
|
-
|
|
188
|
-
### 样例贡献规范
|
|
189
|
-
|
|
190
|
-
每个样例目录必须包含:
|
|
191
|
-
|
|
192
|
-
| 文件 | 必须 | 说明 |
|
|
193
|
-
| ------------ | ---- | ---------------------------------------- |
|
|
194
|
-
| `index.vue` | ✅ | 视图层 |
|
|
195
|
-
| `data.ts` | ✅ | 逻辑层(必须用 `createPage()` 标准模式) |
|
|
196
|
-
| `index.scss` | ✅ | 样式层 |
|
|
197
|
-
| `api.md` | 可选 | 有 API 约定时提供 |
|
|
198
|
-
|
|
199
|
-
**质量要求**:使用 Mock 数据(不依赖后端即可运行),脱敏处理(无真实手机号、客户名等)。
|
|
200
|
-
|
|
201
|
-
### 贡献流程
|
|
202
|
-
|
|
203
|
-
```
|
|
204
|
-
① clone wl-skills-kit 仓库 → 创建 feature 分支
|
|
205
|
-
② 修改 + 本地测试(npx . --dry-run)
|
|
206
|
-
③ 提 PR → Review → 合并
|
|
207
|
-
④ npm version → npm publish
|
|
208
|
-
⑤ 各项目 npx @agile-team/wl-skills-kit@latest
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## 七、移植到新项目
|
|
214
|
-
|
|
215
|
-
详见 [use-skill.md](use-skill.md)「第四章:移植到新项目」。核心步骤:
|
|
216
|
-
|
|
217
|
-
1. `npx @agile-team/wl-skills-kit` → 导入全部文件
|
|
218
|
-
2. 执行 convention-audit Skill → 审计项目已有代码,输出偏差报告和整改建议
|
|
219
|
-
3. 改写 page-codegen 代码模板(替换基类、组件、API 调用方式)
|
|
220
|
-
4. 验证:拿一个页面走完整 Skill 流程
|
|
221
|
-
|
|
222
|
-
### 依赖检查(⚠️ 必做)
|
|
223
|
-
|
|
224
|
-
Skill 生成的代码依赖以下包,新项目需确认已安装:
|
|
225
|
-
|
|
226
|
-
| 包名 | 类型 | 用途 | 安装命令 |
|
|
227
|
-
| ------------------ | ------ | ----------------------- | ------------------------------ |
|
|
228
|
-
| `mockjs` | devDep | Mock 数据生成 | `pnpm add -D mockjs` |
|
|
229
|
-
| `vite-plugin-mock` | devDep | Vite 自动加载 mock/ | `pnpm add -D vite-plugin-mock` |
|
|
230
|
-
| `lodash-es` | dep | debounce(RECORD_FORM) | `pnpm add lodash-es` |
|
|
231
|
-
| `xlsx` | dep | 导出/导入按钮(按需) | `pnpm add xlsx` |
|
|
232
|
-
|
|
233
|
-
> ⚠️ `lodash` ≠ `lodash-es`,两者不互通,模板代码 import 的是 `lodash-es`(ESM)。
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
## 八、版本管理
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
MAJOR.MINOR.PATCH
|
|
241
|
-
│ │ └── Skill bug fix / 文档修正
|
|
242
|
-
│ └──────── 新增 Skill / 组件 / 领域样例 / 编辑器支持
|
|
243
|
-
└────────────── 目录结构变更(breaking)
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## 九、路线图
|
|
249
|
-
|
|
250
|
-
| 阶段 | 内容 | 优先级 |
|
|
251
|
-
| -------- | ----------------------------------------------------------------- | ------ |
|
|
252
|
-
| **v1.0** | Skills + 文档 + 组件 + demo 样例(Copilot) | 🔴 高 |
|
|
253
|
-
| **v1.1** | 多编辑器配置自动生成(Cursor / Windsurf / Kiro / Trae / Claude Code / AGENTS.md)| ✅ 已发布 |
|
|
254
|
-
| **v1.2** | `--dry-run` 预览 + `--diff` 变更对比 | 🟡 中 |
|
|
255
|
-
| **v2.0** | 纳入 `components/template/`(成熟后) | 🟢 低 |
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## 附录:社区参考
|
|
260
|
-
|
|
261
|
-
| 项目 | 说明 |
|
|
262
|
-
| ------------- | ------------------------------- |
|
|
263
|
-
| Ruler | 30+ AI agent 规则集中管理 |
|
|
264
|
-
| rule-porter | Cursor ↔ AGENTS.md 双向转换 |
|
|
265
|
-
| killer-skills | 社区 Skill 安装器 |
|
|
266
|
-
| AGENTS.md | Linux Foundation 跨工具指令标准 |
|