@agile-team/wl-skills-kit 1.2.0 → 2.1.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.
Files changed (86) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/README.md +169 -366
  3. package/bin/wl-skills.js +149 -43
  4. package/files/.github/copilot-instructions.md +105 -42
  5. package/files/.github/guides/README.md +13 -0
  6. package/files/.github/guides/architecture.md +555 -0
  7. package/files/.github/guides/usage.md +166 -0
  8. package/files/.github/reports/README.md +65 -0
  9. package/files/.github/reports/SYS_DICT_INFO.md +19 -0
  10. package/files/.github/reports/SYS_PERMISSION_INFO.md +20 -0
  11. 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
  12. 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
  13. package/files/.github/skills/_compat/README.md +108 -0
  14. package/files/.github/skills/_compat/editors.json +61 -0
  15. package/files/.github/skills/_compat/headers/agents.txt +8 -0
  16. package/files/.github/skills/_compat/headers/claude-code.txt +7 -0
  17. package/files/.github/skills/_compat/headers/cline.txt +7 -0
  18. package/files/.github/skills/_compat/headers/cursor-mdc.txt +16 -0
  19. package/files/.github/skills/_compat/headers/cursor-rules.txt +7 -0
  20. package/files/.github/skills/_compat/headers/github-copilot.txt +1 -0
  21. package/files/.github/skills/_compat/headers/kiro.txt +10 -0
  22. package/files/.github/skills/_compat/headers/trae.txt +11 -0
  23. package/files/.github/skills/_compat/headers/windsurf.txt +7 -0
  24. package/files/.github/skills/_registry.md +81 -0
  25. package/files/.github/skills/{api-contract → core/api-contract}/SKILL.md +126 -29
  26. package/files/.github/skills/core/api-contract/USAGE.md +110 -0
  27. package/files/.github/skills/core/convention-audit/SKILL.md +189 -0
  28. package/files/.github/skills/core/convention-audit/USAGE.md +99 -0
  29. package/files/.github/skills/{page-codegen → core/page-codegen}/SKILL.md +67 -22
  30. package/files/.github/skills/core/page-codegen/USAGE.md +102 -0
  31. package/files/.github/skills/core/page-codegen/templates/_index.md +46 -0
  32. package/files/.github/skills/core/page-codegen/templates/domains/_CONTRIBUTING.md +107 -0
  33. package/files/.github/skills/{page-codegen → core/page-codegen/templates/domains/produce}/TPL-OPERATION-STATION.md +442 -442
  34. package/files/.github/skills/core/page-codegen/templates/domains/sale/README.md +26 -0
  35. package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-DETAIL-TABS.md +94 -39
  36. package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-DRIVEN.md +124 -124
  37. package/files/.github/skills/{prototype-scan → core/prototype-scan}/SKILL.md +87 -3
  38. package/files/.github/skills/core/prototype-scan/USAGE.md +95 -0
  39. package/files/.github/skills/core/template-extract/SKILL.md +139 -0
  40. package/files/.github/skills/core/template-extract/USAGE.md +93 -0
  41. package/files/.github/skills/domain/README.md +51 -0
  42. package/files/.github/skills/ops/code-fix/SKILL.draft.md +108 -0
  43. package/files/.github/skills/sync/dict-sync/SKILL.draft.md +100 -0
  44. package/files/.github/skills/{menu-sync → sync/menu-sync}/SKILL.md +258 -258
  45. package/files/.github/skills/sync/menu-sync/USAGE.md +104 -0
  46. package/files/.github/skills/{menu-sync → sync/menu-sync}/env/guide.md +83 -83
  47. package/files/.github/skills/sync/permission-sync/SKILL.draft.md +91 -0
  48. package/files/.github/standards/01-toolchain.md +57 -0
  49. package/files/.github/standards/02-code-structure.md +111 -0
  50. package/files/.github/standards/03-comments.md +53 -0
  51. package/files/.github/standards/04-coding-basics.md +33 -0
  52. package/files/.github/standards/05-logging.md +38 -0
  53. package/files/.github/standards/06-security.md +44 -0
  54. package/files/.github/standards/07-config.md +52 -0
  55. package/files/.github/standards/08-git.md +60 -0
  56. package/files/.github/standards/09-typescript.md +71 -0
  57. package/files/.github/standards/10-pinia.md +57 -0
  58. package/files/.github/standards/11-form-validation.md +81 -0
  59. package/files/.github/standards/12-base-table.md +116 -0
  60. package/files/.github/standards/13-platform-components.md +123 -0
  61. package/files/.github/standards/index.md +89 -0
  62. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/data.ts +196 -196
  63. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.scss +150 -150
  64. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.vue +79 -79
  65. package/files/docs/jh-date-range.md +257 -257
  66. package/files/docs/jh-date.md +222 -222
  67. package/files/docs/jh-dept-picker.md +190 -190
  68. package/files/docs/jh-drag-row.md +590 -590
  69. package/files/docs/jh-file-upload.md +216 -216
  70. package/files/docs/jh-picker.md +218 -218
  71. package/files/docs/jh-select.md +148 -148
  72. package/files/docs/jh-text.md +248 -248
  73. package/files/docs/jh-user-picker.md +197 -197
  74. package/package.json +4 -1
  75. package/files/.github/docs/menu-sync-design.md +0 -264
  76. package/files/.github/docs/use-skill.md +0 -382
  77. package/files/.github/docs/wl-skills-kit.md +0 -266
  78. package/files/.github/skills/convention-extract/SKILL.md +0 -236
  79. /package/files/.github/{docs → reports}/SYS_MENU_INFO.md +0 -0
  80. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-CHANGE-HISTORY.md +0 -0
  81. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-FORM-ROUTE.md +0 -0
  82. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-LIST.md +0 -0
  83. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-MASTER-DETAIL.md +0 -0
  84. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-RECORD-FORM.md +0 -0
  85. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-TREE-LIST.md +0 -0
  86. /package/files/.github/skills/{menu-sync → sync/menu-sync}/env/env.local.json +0 -0
@@ -1,236 +0,0 @@
1
- ---
2
- name: convention-audit
3
- description: "Use when: auditing project source code against the established coding conventions in copilot-instructions.md. Scans files and outputs a deviation report with remediation suggestions. Triggers on: audit code, check conventions, 规范审计, 规范检查, 代码审计, 对齐规范, 规范偏差."
4
- ---
5
-
6
- # Skill: 规范审计(convention-audit)
7
-
8
- 以 `copilot-instructions.md` 为唯一规范源头,扫描项目源码,找出不符合规范的文件和写法,输出偏差报告及整改建议。
9
-
10
- > **核心理念**:规范是"标准",代码要对齐标准。不从代码提炼规范,而是用规范审计代码。
11
-
12
- ---
13
-
14
- ## 适用场景
15
-
16
- | 场景 | 说明 |
17
- |------|------|
18
- | 新项目导入 wl-skills-kit 后 | 扫描旧代码,输出整改清单,逐步迁移到标准模式 |
19
- | 日常 Code Review 辅助 | AI 比对单文件或目录,快速发现偏差 |
20
- | 项目迁移/升级 | 老项目引入新架构,批量评估改造量 |
21
- | 团队培训 | 新成员提交代码前,用审计验证是否符合规范 |
22
-
23
- ---
24
-
25
- ## 审计维度(10 项)
26
-
27
- ### 1. 页面结构审计
28
-
29
- **标准**:每个页面目录必须包含 4 个文件:
30
- ```
31
- [kebab-case目录]/
32
- ├── index.vue ← 纯模板+解构
33
- ├── data.ts ← AbstractPageQueryHook 类 + API_CONFIG
34
- ├── index.scss ← 样式
35
- └── api.md ← 接口约定
36
- ```
37
-
38
- **检查项**:
39
- - [ ] 目录名是否 kebab-case
40
- - [ ] 是否缺少 data.ts(逻辑写在 index.vue 里)
41
- - [ ] 是否缺少 api.md
42
- - [ ] 是否存在多余文件(如独立的 api.ts)
43
-
44
- ### 2. data.ts 模式审计
45
-
46
- **标准**:使用 `class extends AbstractPageQueryHook` 配置化开发。
47
-
48
- **检查项**:
49
- - [ ] 是否有 `API_CONFIG` 常量(URL 配置集中管理)
50
- - [ ] 是否继承 `AbstractPageQueryHook`
51
- - [ ] 是否通过 `createPage()` 工厂函数导出
52
- - [ ] `queryDef()` / `toolbarDef()` / `columnsDef()` 是否齐全
53
- - [ ] 字典字段是否使用 `logicType: BusLogicDataType.dict`
54
- - [ ] 操作列是否使用 `operations` 配置而非手写 slot
55
-
56
- **严重偏差(红灯)**:
57
- - ❌ 直接在 `<script setup>` 中写 `ref()` + `onMounted()` + 手动 fetch
58
- - ❌ 独立 api.ts 文件包含 axios 调用
59
- - ❌ 手动拼装表格列而不用 `columnsDef()`
60
-
61
- ### 3. index.vue 模式审计
62
-
63
- **标准**:纯模板 + createPage 解构,不写业务逻辑。
64
-
65
- **检查项**:
66
- - [ ] `<script setup lang="ts">` 是否只有 import + createPage 解构 + onMounted
67
- - [ ] 是否引用了 BaseQuery / BaseToolbar / BaseTable / jh-pagination 四件套
68
- - [ ] 最外层 class 是否为 `app-container app-page-container`
69
- - [ ] 是否有内联业务逻辑(computed、watch、methods 等)
70
-
71
- **严重偏差(红灯)**:
72
- - ❌ `<script setup>` 超过 30 行(大概率混入了业务逻辑)
73
- - ❌ 手写 `<el-form>` + `<el-table>` 而非平台组件
74
- - ❌ 直接调用 axios / fetch
75
-
76
- ### 4. 命名规范审计
77
-
78
- | 位置 | 标准 | 检查方式 |
79
- |------|------|---------|
80
- | 路由/目录 | kebab-case | 目录名含大写或下划线 → 偏差 |
81
- | 字段名 | camelCase | data.ts 中 name 属性含下划线 → 偏差 |
82
- | 全局组件 | `C_PascalCase/` | src/components/global/ 下非此格式 → 偏差 |
83
- | 局部组件 | `c_camelCase/` | src/components/local/ 下非此格式 → 偏差 |
84
- | API URL | `/服务缩写/资源名CamelCase/操作` | URL 含下划线或全小写资源名 → 偏差 |
85
-
86
- ### 5. 组件使用审计
87
-
88
- **标准**:优先使用平台组件,禁止手写替代品。
89
-
90
- **检查项**:
91
- - [ ] 查询区域是否用 `<BaseQuery>` 而非手写 `<el-form>`
92
- - [ ] 工具栏是否用 `<BaseToolbar>` 而非手写按钮行
93
- - [ ] 表格是否用 `<BaseTable>` 而非裸 `<el-table>`
94
- - [ ] 分页是否用 `<jh-pagination>` 而非 `<el-pagination>`
95
- - [ ] 下拉选择是否用 `<jh-select>` 而非 `<el-select>`
96
- - [ ] 日期选择是否用 `<jh-date>` / `<jh-date-range>` 而非 `<el-date-picker>`
97
- - [ ] 弹窗是否优先使用 `c_formModal` 等公共组件
98
-
99
- ### 6. API 写法审计
100
-
101
- **标准**:使用 `getAction` / `postAction`(@jhlc/common-core),禁止直接用 axios。
102
-
103
- **检查项**:
104
- - [ ] 是否 import 了 axios / 自封装的 request
105
- - [ ] 是否使用 `getAction` / `postAction` / `putAction` / `deleteAction`
106
- - [ ] URL 是否集中在 `API_CONFIG` 中(不散落在各处)
107
-
108
- ### 7. 样式规范审计
109
-
110
- **检查项**:
111
- - [ ] 是否使用 `:deep()` 而非 `::v-deep` / `/deep/`
112
- - [ ] 页面样式是否写在 `index.scss` 中(非行内 style)
113
- - [ ] 是否使用 Windi CSS 工具类优先
114
-
115
- ### 8. 状态管理审计
116
-
117
- **检查项**:
118
- - [ ] 是否使用 Pinia 而非 Vuex
119
- - [ ] Store 是否从主应用远程加载(微前端场景)
120
-
121
- ### 9. 弹窗/组件提取审计
122
-
123
- **检查项**:
124
- - [ ] 2+ 页面复用的弹窗是否提取到 `src/components/local/c_xxxModal/`
125
- - [ ] 页面私有弹窗是否只在 c_modal 无法满足时才内联
126
-
127
- ### 10. 路由导航审计(微前端)
128
-
129
- **检查项**:
130
- - [ ] 前进导航是否使用 `location.href`(而非 `router.push()`)
131
- - [ ] 返回是否使用 `useRouter().back()`
132
-
133
- ---
134
-
135
- ## 执行步骤
136
-
137
- ### 第 1 步:确定审计范围
138
-
139
- 用户可指定:
140
- - **全量审计**:"审计整个项目" → 扫描 `src/views/` 全部页面
141
- - **模块审计**:"审计 produce/mmwr" → 只扫描该模块目录
142
- - **单页审计**:"审计 mmwr-customer-archive 页面" → 只扫描该页面
143
-
144
- ### 第 2 步:读取规范基线
145
-
146
- 读取 `.github/copilot-instructions.md` 获取当前项目的编码规范(唯一源头)。
147
-
148
- ### 第 3 步:扫描源码
149
-
150
- 按页面目录逐个扫描:
151
- 1. 列出目录内所有文件 → 检查结构完整性
152
- 2. 读取 `data.ts` → 检查 AbstractPageQueryHook 模式、API_CONFIG、命名等
153
- 3. 读取 `index.vue` → 检查模板结构、是否混入业务逻辑
154
- 4. 读取 `index.scss` → 检查样式规范
155
- 5. 检查 `components/` 子目录 → 评估弹窗提取合理性
156
-
157
- ### 第 4 步:输出偏差报告
158
-
159
- 报告格式如下:
160
-
161
- ```markdown
162
- # 规范审计报告
163
-
164
- ## 概要
165
-
166
- | 指标 | 值 |
167
- |------|----|
168
- | 扫描范围 | src/views/produce/mmwr/ |
169
- | 页面总数 | 12 |
170
- | 合规页面 | 8 |
171
- | 偏差页面 | 4 |
172
- | 严重偏差数 | 3 |
173
- | 轻微偏差数 | 7 |
174
-
175
- ## 严重偏差(必须整改)
176
-
177
- ### 🔴 [页面路径] — [偏差类型]
178
-
179
- **现状**:[当前代码的写法]
180
- **标准**:[规范要求的写法]
181
- **整改建议**:[具体怎么改]
182
- **影响范围**:[改动涉及哪些文件]
183
-
184
- ## 轻微偏差(建议整改)
185
-
186
- ### 🟡 [页面路径] — [偏差类型]
187
-
188
- **现状**:...
189
- **标准**:...
190
- **整改建议**:...
191
-
192
- ## 合规页面(无需改动)
193
-
194
- - ✅ mmwr-customer-archive/
195
- - ✅ mmwr-customer-detail/
196
- - ...
197
-
198
- ## 整改优先级建议
199
-
200
- 1. 先改严重偏差(结构性问题)
201
- 2. 再改轻微偏差(命名/样式等)
202
- 3. 新增页面一律使用 page-codegen Skill 自动生成,天然合规
203
- ```
204
-
205
- ### 第 5 步:按需生成整改代码
206
-
207
- 如果用户要求,可对偏差页面逐个生成整改后的代码。
208
- 整改时读取 `page-codegen/SKILL.md` 及对应模板,确保整改后代码完全合规。
209
-
210
- ---
211
-
212
- ## 偏差严重度定义
213
-
214
- | 级别 | 标记 | 定义 | 示例 |
215
- |------|------|------|------|
216
- | 🔴 严重 | 必须整改 | 架构性违反,影响可维护性和团队协作 | 不用 AbstractPageQueryHook、直接用 axios、index.vue 混入业务逻辑 |
217
- | 🟡 轻微 | 建议整改 | 风格/命名不统一,不影响功能 | 目录名用 camelCase 而非 kebab-case、缺少 api.md |
218
- | ✅ 合规 | 无需改动 | 完全符合规范 | — |
219
-
220
- ---
221
-
222
- ## 与其他 Skill 的关系
223
-
224
- | Skill | 关系 |
225
- |-------|------|
226
- | **page-codegen** | 审计发现偏差后,可调用 page-codegen 重新生成合规代码 |
227
- | **prototype-scan** | 审计不涉及原型,仅检查已有代码 |
228
- | **api-contract** | 审计可检查 api.md 是否存在但不检查其内容(内容由 api-contract 负责) |
229
-
230
- ---
231
-
232
- ## 注意事项
233
-
234
- 1. **规范是不可协商的** — 偏差报告中不会因为"旧代码一直这么写"就放行,旧代码不合规就是不合规
235
- 2. **AI 生成的代码必须合规** — 如果用 page-codegen 等 Skill 生成的代码出现偏差,那是 Skill 模板的 bug,需要反馈修复
236
- 3. **规范的演进** — 如果团队决定调整规范,更新 `copilot-instructions.md`(唯一源头),然后重新审计