@agile-team/wl-skills-kit 1.2.1 → 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 +120 -0
  2. package/README.md +169 -366
  3. package/bin/wl-skills.js +149 -43
  4. package/files/.github/copilot-instructions.md +104 -43
  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 +64 -21
  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/core/prototype-scan/USAGE.md +95 -0
  38. package/files/.github/skills/core/template-extract/SKILL.md +139 -0
  39. package/files/.github/skills/core/template-extract/USAGE.md +93 -0
  40. package/files/.github/skills/domain/README.md +51 -0
  41. package/files/.github/skills/ops/code-fix/SKILL.draft.md +108 -0
  42. package/files/.github/skills/sync/dict-sync/SKILL.draft.md +100 -0
  43. package/files/.github/skills/{menu-sync → sync/menu-sync}/SKILL.md +258 -258
  44. package/files/.github/skills/sync/menu-sync/USAGE.md +104 -0
  45. package/files/.github/skills/{menu-sync → sync/menu-sync}/env/guide.md +83 -83
  46. package/files/.github/skills/sync/permission-sync/SKILL.draft.md +91 -0
  47. package/files/.github/standards/01-toolchain.md +57 -0
  48. package/files/.github/standards/02-code-structure.md +111 -0
  49. package/files/.github/standards/03-comments.md +53 -0
  50. package/files/.github/standards/04-coding-basics.md +33 -0
  51. package/files/.github/standards/05-logging.md +38 -0
  52. package/files/.github/standards/06-security.md +44 -0
  53. package/files/.github/standards/07-config.md +52 -0
  54. package/files/.github/standards/08-git.md +60 -0
  55. package/files/.github/standards/09-typescript.md +71 -0
  56. package/files/.github/standards/10-pinia.md +57 -0
  57. package/files/.github/standards/11-form-validation.md +81 -0
  58. package/files/.github/standards/12-base-table.md +116 -0
  59. package/files/.github/standards/13-platform-components.md +123 -0
  60. package/files/.github/standards/index.md +89 -0
  61. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/data.ts +196 -196
  62. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.scss +150 -150
  63. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.vue +79 -79
  64. package/files/docs/jh-date-range.md +257 -257
  65. package/files/docs/jh-date.md +222 -222
  66. package/files/docs/jh-dept-picker.md +190 -190
  67. package/files/docs/jh-drag-row.md +590 -590
  68. package/files/docs/jh-file-upload.md +216 -216
  69. package/files/docs/jh-picker.md +218 -218
  70. package/files/docs/jh-select.md +148 -148
  71. package/files/docs/jh-text.md +248 -248
  72. package/files/docs/jh-user-picker.md +197 -197
  73. package/package.json +4 -1
  74. package/files/.github/docs/menu-sync-design.md +0 -264
  75. package/files/.github/docs/use-skill.md +0 -382
  76. package/files/.github/docs/wl-skills-kit.md +0 -266
  77. package/files/.github/skills/convention-extract/SKILL.md +0 -236
  78. /package/files/.github/{docs → reports}/SYS_MENU_INFO.md +0 -0
  79. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-CHANGE-HISTORY.md +0 -0
  80. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-FORM-ROUTE.md +0 -0
  81. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-LIST.md +0 -0
  82. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-MASTER-DETAIL.md +0 -0
  83. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-RECORD-FORM.md +0 -0
  84. /package/files/.github/skills/{page-codegen → core/page-codegen/templates/universal}/TPL-TREE-LIST.md +0 -0
  85. /package/files/.github/skills/{prototype-scan → core/prototype-scan}/SKILL.md +0 -0
  86. /package/files/.github/skills/{menu-sync → sync/menu-sync}/env/env.local.json +0 -0
package/README.md CHANGED
@@ -1,432 +1,235 @@
1
1
  # @agile-team/wl-skills-kit
2
2
 
3
- **AI Skill 模板包**一条命令,将 AI 编码指令、组件文档、通用组件、领域样例导入到你的 Vue 3 前端项目。
3
+ **AI Skill 模板包 v2.1** 一条命令将 13 条编码规范、6 个 AI Skill、组件文档、领域样例导入 Vue 3 项目。
4
4
 
5
- 让 AICopilot / Cursor / Windsurf 等)**直接理解你的项目规范和组件体系**,从 Axure 原型 / 详细设计文档 生成可运行的完整页面代码。
5
+ 让 AI 编辑器(Copilot / Cursor / Windsurf / Claude Code / Cline / Kiro / Trae / 通用 Agents)**真正理解项目规范**,从原型/详设到完整页面代码全流程自动化。
6
6
 
7
7
  ---
8
8
 
9
- ## 快速开始
9
+ ## TL;DR
10
10
 
11
11
  ```bash
12
- # 在你的项目根目录执行(无需安装,直接运行)
13
- npx @agile-team/wl-skills-kit
14
-
15
- # 预览将写入哪些文件(不实际写入)
16
- npx @agile-team/wl-skills-kit --dry-run
17
-
18
- # 增量更新(仅覆盖有变化的文件)
19
- npx @agile-team/wl-skills-kit@latest update
20
-
21
- # 构建前清理 AI 开发辅助文件(保留组件代码)
22
- npx @agile-team/wl-skills-kit clean
12
+ npx @robot-admin/git-standards init # 工程化前置(必须)
13
+ npx @agile-team/wl-skills-kit # 安装 AI 体系
14
+ # 在 AI 对话中:
15
+ "扫描 docs/prototypes/ 下的原型生成页面清单"
16
+ "基于上一步生成所有 api.md,再 codegen 出页面"
23
17
  ```
24
18
 
25
- 117 个文件按原始路径导入到你的项目,**无其他副作用**。
26
-
27
19
  ---
28
20
 
29
- ## 导入了什么?
30
-
31
- 执行后你的项目会新增以下内容:
21
+ ## 这个包到底干什么?
32
22
 
33
23
  ```
34
- 你的项目/
35
- ├── .github/
36
- │ ├── copilot-instructions.md ← AI 自动加载的编码规范(项目总纲)
37
- │ ├── skills/ ← 5 个 AI Skill
38
- │ ├── prototype-scan/SKILL.md ← ① 原型扫描(Axure HTML / 详设文档 → page-spec JSON)
39
- │ │ ├── api-contract/SKILL.md ← ② 接口约定(page-spec → api.md)
40
- │ │ ├── page-codegen/ ← ③ 页面代码生成
41
- │ │ ├── SKILL.md ← 主规则文件(约束 + 规范)
42
- │ │ │ ├── TPL-LIST.md ← 标准列表页模板
43
- │ │ │ ├── TPL-FORM-ROUTE.md ← 复杂表单独立路由模板
44
- │ │ ├── TPL-MASTER-DETAIL.md ← 主从表模板
45
- │ │ │ ├── TPL-TREE-LIST.md ← 左树右列表模板
46
- │ │ │ ├── TPL-DETAIL-TABS.md ← 详情 Tab + 子表模板
47
- │ │ ├── TPL-CHANGE-HISTORY.md ← 变更历史比对模板
48
- │ │ │ ├── TPL-RECORD-FORM.md ← 录入型实绩页模板
49
- │ │ │ ├── TPL-OPERATION-STATION.md← 工序操作站模板
50
- │ │ │ └── TPL-DRIVEN.md ← 配置驱动模板识别参考
51
- │ │ ├── menu-sync/SKILL.md ← ④ 菜单同步(pages.ts → 后端菜单表)
52
- │ │ └── convention-extract/SKILL.md ← ⑤ 规范审计(用规范审计代码,输出偏差报告)
53
- │ └── docs/ ← 设计文档
54
- │ ├── use-skill.md ← Skill 使用 + 移植一站式指南
55
- │ ├── menu-sync-design.md ← 菜单同步方案设计
56
- │ ├── SYS_MENU_INFO.md ← 菜单配置(page-codegen 自动生成,menu-sync 读取)
57
- │ └── wl-skills-kit.md ← 本包详细设计文档
58
-
59
- ├── docs/ ← 12 个平台组件 API 文档
60
- │ ├── request.md ← getAction / postAction 等 HTTP 工具
61
- │ ├── page-query-hook-best-practices.md ← AbstractPageQueryHook 最佳实践
62
- │ ├── jh-select.md ← 下拉选择组件
63
- │ ├── jh-date.md / jh-date-range.md ← 日期 / 日期范围选择
64
- │ ├── jh-drag-row.md ← 上下分栏拖拽组件
65
- │ ├── jh-pagination.md ← 分页组件
66
- │ ├── jh-file-upload.md ← 文件上传
67
- │ ├── jh-text.md ← 文本翻译
68
- │ ├── jh-picker.md ← 通用选择器
69
- │ ├── jh-user-picker.md ← 用户选择器
70
- │ └── jh-dept-picker.md ← 部门选择器
71
-
72
- ├── src/
73
- │ ├── components/
74
- │ │ ├── global/ ← 6 个全局自动注册组件
75
- │ │ │ ├── C_Splitter/ ← 左右分割面板
76
- │ │ │ ├── C_Tree/ ← 带搜索的树形面板
77
- │ │ │ ├── C_TagStatus/ ← 状态标签(彩色 Tag)
78
- │ │ │ ├── C_ParentView/ ← 父级视图容器
79
- │ │ │ ├── C_SvgIcon/ ← SVG 图标
80
- │ │ │ └── C_RightToolbar/ ← 右侧工具栏
81
- │ │ ├── local/ ← 4 个按需导入组件
82
- │ │ │ ├── c_formModal/ ← 通用表单弹窗(add/edit/view 三模式)
83
- │ │ │ ├── c_formSections/ ← 表单分区组件
84
- │ │ │ ├── c_listModal/ ← 列表选择弹窗
85
- │ │ │ └── c_spliterTitle/ ← 分栏标题
86
- │ │ └── remote/ ← 5 个远程组件 README(API 文档)
87
- │ │ ├── BaseQuery/ ← 声明式查询区
88
- │ │ ├── BaseTable/ ← 声明式表格
89
- │ │ ├── BaseToolbar/ ← 声明式工具栏
90
- │ │ ├── BaseForm/ ← 声明式表单
91
- │ │ └── AGGrid/ ← 高性能数据网格
92
- │ └── types/
93
- │ └── page.ts ← 类型桶文件(统一 re-export)
94
-
95
- └── demo/ ← 13 个领域样例页面(AI 学习 + 开发参考)
96
- ├── README.md ← 样例索引 + 模板类型标注
97
- ├── produce/aiflow/ ← 生产域 8 个页面
98
- │ ├── mmwr-customer-archive/ ← LIST + Tabs + c_formModal
99
- │ ├── mmwr-temp-customer-archive/ ← LIST
100
- │ ├── mmwr-customer-apply-add/ ← LIST
101
- │ ├── mmwr-customer-apply-add-form/← FORM_ROUTE
102
- │ ├── mmwr-customer-apply-change/ ← LIST
103
- │ ├── mmwr-customer-apply-change-form/ ← FORM_ROUTE
104
- │ ├── mmwr-customer-apply-change-history/ ← CHANGE_HISTORY
105
- │ └── mmwr-customer-detail/ ← DETAIL_TABS
106
- └── sale/demo/ ← 销售域 5 个页面
107
- ├── domestic-trade-order/ ← LIST 标准列表
108
- ├── metallurgical-spec/ ← MASTER_DETAIL 上下分栏
109
- ├── add-demo/ ← FORM_ROUTE 表单页
110
- ├── billet-flame-cut-plan/ ← LIST 变体
111
- └── heat-batch-return/ ← LIST + 自定义弹窗
24
+ 原型/口述需求
25
+
26
+ [Skill: prototype-scan]
27
+ 《页面清单》(reports/PROTOTYPE_SCAN_*.md)
28
+
29
+ [Skill: api-contract]
30
+ api.md(页面级前后端契约)
31
+
32
+ [Skill: page-codegen]
33
+ data.ts + index.vue + index.scss(13 条 standards 自动满足)
34
+
35
+ [Skill: convention-audit]
36
+ reports/AUDIT_AI_*.md + AUDIT_HUMAN_*.md
37
+
38
+ [Skill: menu-sync]
39
+ 线上菜单注册完毕,UI 可访问
112
40
  ```
113
41
 
114
42
  ---
115
43
 
116
- ## 核心价值:5 AI Skill
117
-
118
- 安装后,AI 编辑器自动识别这些 Skill,形成完整的**原型 → 代码**流水线:
119
-
120
- ```
121
- Axure 原型 / 详设文档
122
-
123
-
124
- ① prototype-scan ─── 扫描 → page-spec JSON(结构化页面描述)
125
-
126
-
127
- ② api-contract ───── 生成 → api.md(前后端接口约定,先于代码生成)
128
-
129
-
130
- ③ page-codegen ───── 生成 → index.vue + data.ts + index.scss + api.md + mock
131
- │ (4 文件/页 + pages.ts 注册 + mock 数据)
132
- │ 写入 → SYS_MENU_INFO.md(询问用户选择覆盖/追加模式)
133
-
134
- ④ menu-sync ──────── 读取 SYS_MENU_INFO.md → 同步到后端菜单表
135
- (自动调 API 或手动在后台创建,效果等价)
136
-
137
- ⑤ convention-audit 按需:用规范审计代码 → 偏差报告 + 整改建议
138
- ```
44
+ ## ⚠️ 仓库结构 vs 业务项目安装结构(**必看**)
139
45
 
140
- ### 支持 9 种页面模板
46
+ `wl-skills-kit` 是一个 **npm 模板包**:仓库本身的结构 ≠ 你 `npx` 之后业务项目里看到的结构。两者**严格区分**:
141
47
 
142
- | 模板 | 模式 | 说明 |
143
- |------|------|------|
144
- | TPL-LIST | LIST | 查询 + 工具栏 + 表格 + 分页 |
145
- | TPL-FORM-ROUTE | FORM_ROUTE | 复杂表单(多 Tab、多子表)独立路由 |
146
- | TPL-MASTER-DETAIL | MASTER_DETAIL | jh-drag-row 上下分栏主从表 |
147
- | TPL-TREE-LIST | TREE_LIST | C_Splitter 左树 + 右列表 |
148
- | TPL-DETAIL-TABS | DETAIL_TABS | 上方表单 + 下方 Tab 子表 |
149
- | TPL-CHANGE-HISTORY | CHANGE_HISTORY | 左变更时间线 + 右字段比对 |
150
- | TPL-RECORD-FORM | RECORD_FORM | 查询 + 表单录入(无分页) |
151
- | TPL-OPERATION-STATION | OPERATION_STATION | 待处理 + 已处理联动操作 |
152
- | TPL-DRIVEN | TEMPLATE_DRIVEN | 配置驱动模板页识别参考 |
153
-
154
- ---
155
-
156
- ## 使用方式
157
-
158
- ### 方式一:完整流程(Axure 原型 → 代码)
159
-
160
- > 最推荐。一个模块 5-8 个页面,约 5-10 分钟出完整代码。
161
-
162
- **对 AI 说**:
48
+ ### A. 本仓库结构(开发/维护 wl-skills-kit 时)
163
49
 
164
50
  ```
165
- 帮我扫描 C:\Users\xxx\原型包\ 下的所有HTML
51
+ wl-skills-kit/ ← 你正看的这个仓库
52
+ ├── README.md 本文档(业务方 + 维护者都看)
53
+ ├── CHANGELOG.md
54
+ ├── package.json name: @agile-team/wl-skills-kit
55
+
56
+ ├── bin/
57
+ │ └── wl-skills.js CLI 实现(init / update / clean)
58
+
59
+ ├── files/ ★★★ 真正会被打包并复制到业务项目的内容 ★★★
60
+ │ └── .github/
61
+ │ ├── copilot-instructions.md 源 AI 主入口(编辑这里,不要编辑业务项目里的副本)
62
+ │ ├── standards/ 13 条规范
63
+ │ ├── skills/ Skill 目录(含 _compat/ 多编辑器适配源)
64
+ │ ├── guides/ 人读指南
65
+ │ └── reports/ 领域基线模板(菜单/字典/权限)
66
+ │ ├── docs/ 组件 API 文档
67
+ │ └── demo/ 领域样例
68
+
69
+ ├── kit-internal/ ★★ 仅仓库可见,不会安装到业务项目 ★★
70
+ │ ├── README.md 维护者首页
71
+ │ ├── architecture.md 架构总览
72
+ │ ├── CONTRIBUTING.md 贡献流程
73
+ │ ├── standards.MAINTAIN.md standards 维护要点
74
+ │ ├── templates.MAINTAIN.md templates 维护要点
75
+ │ ├── jenkins-pipeline.md Jenkins CI 参考模板(不强加业务项目)
76
+ │ ├── skills/ 各 Skill 的 *.MAINTAIN.md
77
+ │ └── history/ 归档:旧版 ARCHITECTURE-PLAN 等
78
+
79
+ └── .npmignore 排除 kit-internal/ 等不发布的内容
166
80
  ```
167
81
 
168
- AI 自动执行 5 步:扫描 → 生成接口约定 → 生成页面代码 → 注册路由 → 创建菜单。
82
+ > **维护准则**:
83
+ > - 业务规范要改 → 改 `files/.github/standards/*.md`
84
+ > - Skill 流程要改 → 改 `files/.github/skills/<scope>/<name>/SKILL.md`
85
+ > - 多 AI 编辑器适配要改 → 改 `files/.github/skills/_compat/`(**不是**改业务项目里的根配置文件)
86
+ > - 维护文档要写 → 进 `kit-internal/`(不会污染业务项目)
169
87
 
170
- ### 方式二:详设文档 代码(更高精度)
171
-
172
- **对 AI 说**:
173
-
174
- ```
175
- 按照这份详设文档帮我生成页面
88
+ ### B. 业务项目结构(执行 `npx @agile-team/wl-skills-kit` 之后)
176
89
 
177
- ## 前置声明
178
- - 业务域/模块:生产 > 生产棒线材 > AI流程
179
- - 服务前缀:/mmwr/
180
- - 页面清单:客户档案、临时客户档案
181
90
  ```
182
-
183
- 详设文档中明确写出字段英文名和字典 code,精度可达 95-100%。
184
-
185
- ### 方式三:碎片化使用(按需调用单个 Skill)
186
-
187
- | 你想做什么 | 对 AI 说 | 触发的 Skill |
188
- |-----------|---------|-------------|
189
- | 扫描原型,输出页面清单 | "扫描这些原型" | prototype-scan |
190
- | 给页面生成接口文档 | "生成 api.md" | api-contract |
191
- | 只生成单个页面代码 | "帮我生成客户档案页面" | page-codegen |
192
- | 把 pages.ts 同步到菜单表 | "帮我创建菜单" | menu-sync |
193
- | 审计项目代码是否合规 | "审计项目规范" / "规范检查" | convention-audit |
194
- | 查看组件怎么用 | "jh-select 怎么用" | AI 读取 docs/jh-select.md |
195
- | 参考样例写代码 | "参考 demo 里的客户档案" | AI 读取 demo/ 下的代码 |
196
-
197
- ### 方式四:新项目初始化
198
-
199
- ```bash
200
- # 1. 创建项目后,导入 Skill 体系
201
- npx @agile-team/wl-skills-kit
202
-
203
- # 2. 对 AI 说 "提炼项目规范"
204
- # → 自动扫描你的代码生成 copilot-instructions.md
205
-
206
- # 3. 改写 page-codegen 模板(替换基类、组件、API 调用方式)
207
- # → 详见 .github/docs/use-skill.md 第四章
208
-
209
- # 4. 开始使用:发 Axure 原型给 AI
91
+ 你的业务项目/
92
+
93
+ ├── .github/ ← 来自本包 files/.github/
94
+ │ ├── copilot-instructions.md Copilot 主入口(精简 ~320 行)
95
+ │ ├── standards/ 13 条模块化规范 + index.md 门控
96
+ │ │ ├── 01-toolchain.md
97
+ │ │ ├── 02-code-structure.md
98
+ │ │ ├── ... (共 13 条)
99
+ │ │ └── 13-platform-components.md
100
+ │ ├── skills/ 6 个启用 Skill + 3 个 PLANNED 草稿
101
+ │ │ ├── _registry.md ★ 触发词 SKILL 路径单一数据源
102
+ │ │ ├── _compat/ AI 编辑器适配(配置 + headers)
103
+ │ │ ├── core/ 核心通用 Skill
104
+ │ │ │ ├── prototype-scan/ { SKILL.md, USAGE.md }
105
+ │ │ │ ├── api-contract/ { SKILL.md, USAGE.md }
106
+ │ │ │ ├── page-codegen/ { SKILL.md, USAGE.md, templates/ }
107
+ │ │ │ ├── convention-audit/ { SKILL.md, USAGE.md }
108
+ │ │ │ └── template-extract/ { SKILL.md, USAGE.md }
109
+ │ │ ├── sync/ 数据同步类
110
+ │ │ │ ├── menu-sync/ { SKILL.md, USAGE.md, env/ }
111
+ │ │ │ ├── dict-sync/ [PLANNED] SKILL.draft.md
112
+ │ │ │ └── permission-sync/ [PLANNED] SKILL.draft.md
113
+ │ │ ├── ops/ 运维类
114
+ │ │ │ └── code-fix/ [PLANNED] SKILL.draft.md
115
+ │ │ └── domain/ 领域专属(按需创建)
116
+ │ ├── guides/ 人读指南(usage.md / architecture.md
117
+ │ └── reports/ AI 生成报告(追加不覆盖)
118
+ │ ├── SYS_MENU_INFO.md 线上菜单基线
119
+ │ ├── SYS_DICT_INFO.md 线上字典基线
120
+ │ ├── SYS_PERMISSION_INFO.md 线上权限基线
121
+ │ └── AUDIT_*.md / PAGE_CODEGEN_*.md / ... (随用随生成)
122
+
123
+ ├── 多 AI 编辑器配置(解耦:可单独删除任意一个不影响其他)
124
+ ├── CLAUDE.md Claude Code
125
+ ├── AGENTS.md 通用 Agents
126
+ ├── .cursorrules Cursor 旧版
127
+ ├── .cursor/rules/conventions.mdc Cursor 新版(含 mdc frontmatter)
128
+ ├── .windsurfrules Windsurf
129
+ ├── .clinerules Cline
130
+ ├── .kiro/steering/conventions.md Kiro(含 inclusion frontmatter)
131
+ ├── .trae/rules/conventions.md Trae(含 alwaysApply frontmatter)
132
+
133
+ ├── docs/ 12 个组件 API 文档
134
+ ├── demo/ 13 个领域样例
135
+ └── src/
136
+ ├── components/ 全局/局部/远程组件
137
+ └── types/ 类型桶文件
210
138
  ```
211
139
 
212
- ---
213
-
214
- ## 多编辑器 / AI 工具支持
215
-
216
- 安装后自动生成 **8 个编辑器配置文件**,内容统一来自 `copilot-instructions.md`(单一源头),确保所有 AI 工具读取到相同的项目规范。
217
-
218
- ### 各工具配置一览
219
-
220
- | AI 工具 | 配置文件路径 | 规范加载 | Skill 自动调度 | 备注 |
221
- |---------|-------------|---------|---------------|------|
222
- | **GitHub Copilot** (VS Code) | `.github/copilot-instructions.md` | ✅ 自动 | ✅ 原生 Skill 识别 + 注册表双保险 | **主力工具,体验最完整** |
223
- | **Cursor** | `.cursorrules` + `.cursor/rules/conventions.mdc` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | `.mdc` 带 `alwaysApply: true` 前缀 |
224
- | **Windsurf (Cascade)** | `.windsurfrules` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | 规范内嵌调度指令 |
225
- | **Kiro** | `.kiro/steering/conventions.md` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | steering/ 下的 md 自动加载 |
226
- | **Trae** | `.trae/rules/conventions.md` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | rules/ 下的 md 自动加载 |
227
- | **Claude Code / CLI** | `CLAUDE.md` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | 也支持 `@import` 语法 |
228
- | **Roo Code / Cline** | `.clinerules` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | 支持 tool_use 读文件 |
229
- | **AGENTS.md 兼容** | `AGENTS.md` | ✅ 自动 | ✅ 通过注册表自动 `read_file` | Linux Foundation 通用标准,兜底 |
230
-
231
- ### Skill 自动调度机制(v1.1.2+)
232
-
233
- 所有编辑器配置文件均由 `copilot-instructions.md` 生成,其中内嵌了 **Skills 自动调度注册表**。
234
- 该注册表以强制指令形式告知 AI:
235
-
236
- 1. **触发关键词匹配** — 用户说"生成页面"/"扫描原型"/"接口约定"等关键词时,AI 必须先 `read_file` 对应的 `SKILL.md`
237
- 2. **完整流水线** — 用户提供原型/详设并要求批量生成时,按 prototype-scan → api-contract → page-codegen → menu-sync 顺序依次执行
238
- 3. **单独使用** — 用户只说"帮我生成客户档案页面"时,只读取 page-codegen 的 SKILL.md,不必跑完整流水线
239
-
240
- 这意味着 **所有支持 `read_file` / tool_use 的 AI 工具都能自动调度 Skill**,无需手动引用。
241
-
242
- > **总结**:v1.1.2 起,**编码规范 + Skill 调度** 均为全编辑器自动加载(零配置)。各工具唯一的区别仅在于原生 Skill 识别(Copilot 独有) vs 注册表驱动的 `read_file` 调度(通用)。
140
+ > **业务项目方准则**:
141
+ > - 主入口是 `.github/copilot-instructions.md`(Copilot 用),**其他 8 个根配置文件是它的拷贝 + 各自特化 frontmatter**
142
+ > - 修改规范 **不要**改业务项目里的副本,**升级 wl-skills-kit 包 + `update`** 才不会被覆盖
143
+ > - reports/ 里的内容是团队累积数据,`update` 不会覆盖,可放心 commit
243
144
 
244
145
  ---
245
146
 
246
147
  ## CLI 命令
247
148
 
248
- ### `init`(默认)
249
-
250
- 首次安装或完整重装 — 全量写入所有文件。
251
-
252
149
  ```bash
253
- npx @agile-team/wl-skills-kit # 等同于 init
254
- npx @agile-team/wl-skills-kit init
255
- npx @agile-team/wl-skills-kit --dry-run # 预览模式
256
- ```
257
-
258
- ### `update`
259
-
260
- 增量更新 — 基于 MD5 比对,仅覆盖有变化的文件,跳过未变化的文件。
261
-
262
- ```bash
263
- npx @agile-team/wl-skills-kit@latest update
264
- npx @agile-team/wl-skills-kit update --dry-run
265
- ```
266
-
267
- 输出示例:
268
- ```
269
- ✔ 完成!
270
- 新增: 3 个文件 ← 新版本新增的文件
271
- 更新: 5 个文件 ← 内容有变化,已覆盖
272
- 未变: 109 个文件 ← MD5 一致,未动
273
- ```
274
-
275
- > 需要先执行过 `init` 才能使用 `update`(依赖 `.wl-skills-manifest.json` 清单文件)。
276
-
277
- ### `clean`
150
+ # 全量安装(默认)
151
+ npx @agile-team/wl-skills-kit
278
152
 
279
- 构建前清理 移除 AI 开发辅助文件(Skill、文档、样例、编辑器配置),**保留组件代码**。
153
+ # 增量更新(仅覆盖有变化的文件,自动保护 reports/)
154
+ npx @agile-team/wl-skills-kit update
280
155
 
281
- ```bash
156
+ # 构建前清理(保留 src/components + src/types)
282
157
  npx @agile-team/wl-skills-kit clean
283
- npx @agile-team/wl-skills-kit clean --dry-run
284
- ```
285
-
286
- **保护路径**(永远不会被清理):
287
- - `src/components/` — 全局/局部/远程组件
288
- - `src/types/` — 类型桶文件
289
-
290
- **清理范围**:
291
- - `.github/` — Skill 文件 + 设计文档
292
- - `docs/` — 组件 API 文档
293
- - `demo/` — 领域样例
294
- - 编辑器配置 — `.cursorrules` / `AGENTS.md` / `CLAUDE.md` 等 8 个文件
295
- - `.wl-skills-manifest.json` — 清单文件自身
296
-
297
- > 适用于 CI/CD 构建流程:`npx @agile-team/wl-skills-kit clean && npm run build`
298
-
299
- ---
300
-
301
- ## 安装行为说明
302
158
 
303
- | 会做 | ❌ 不会做 |
304
- | ----------------------------------- | ---------------------------- |
305
- | 写入 `.github/` `docs/` `src/` `demo/` | 不修改 `package.json` |
306
- | 已存在的同名文件会被覆盖 | 不修改 `node_modules/` |
307
- | 自动创建不存在的目录 | 不执行 postinstall |
308
- | 生成 `.wl-skills-manifest.json` 清单 | 不删除任何文件(init/update) |
159
+ # 清理但保留 reports/(菜单/字典/权限累积数据)
160
+ npx @agile-team/wl-skills-kit clean --keep-reports
309
161
 
310
- ### 安全路径(不会被覆盖)
311
-
312
- 以下路径不在分发范围,本地修改永远安全:
313
-
314
- ```
315
- .github/skills/my-domain-skill/ ← 自定义 Skill
316
- .github/docs/my-domain-doc.md ← 自定义文档
317
- src/components/local/my_custom/ ← 自定义组件
318
- src/views/ ← 业务页面代码
319
- mock/ ← Mock 数据
162
+ # 任何命令都可加 --dry-run 预览
163
+ npx @agile-team/wl-skills-kit update --dry-run
320
164
  ```
321
165
 
322
166
  ---
323
167
 
324
- ## 注意事项
325
-
326
- ### 1. Skill 生成代码的前置依赖
327
-
328
- AI 生成的代码依赖以下包,**首次使用前请确认已安装**:
168
+ ## Skill 概览
329
169
 
330
- ```bash
331
- # 核心依赖(项目大概率已有)
332
- vue / vue-router / element-plus / @jhlc/common-core
333
-
334
- # 易遗漏的依赖
335
- pnpm add -D mockjs vite-plugin-mock # Mock 数据支持
336
- pnpm add lodash-es # RECORD_FORM 模板用到 debounce
337
- pnpm add xlsx # 仅导出/导入功能需要
338
- ```
339
-
340
- > ⚠️ `lodash` `lodash-es`,模板代码 import 的是 ESM 版 `lodash-es`,必须单独安装。
341
-
342
- ### 2. Vite 配置检查
343
-
344
- 确保 `vite.config.ts` 已注册 mock 插件:
345
-
346
- ```typescript
347
- import { viteMockServe } from "vite-plugin-mock";
348
- // plugins 中添加:
349
- viteMockServe({ mockPath: "./mock", enable: command === "serve" })
350
- ```
351
-
352
- ### 3. 类型桶文件
353
-
354
- `src/types/page.ts` 统一 re-export 以下类型,避免在 data.ts 中写长路径 import:
355
-
356
- ```typescript
357
- import { AbstractPageQueryHook, BaseQueryItemDesc, ActionButtonDesc, TableColumnDesc, BusLogicDataType } from "@/types/page";
358
- ```
359
-
360
- ### 4. menu-sync 的 env.local.json
170
+ | Skill | 状态 | 路径 | 核心用途 |
171
+ | ------------------ | --------- | ---------------------------------------- | ----------------------------- |
172
+ | `prototype-scan` | 启用 | `skills/core/prototype-scan/` | 原型/详设/口述 → 页面清单 |
173
+ | `api-contract` | ✅ 启用 | `skills/core/api-contract/` | 生成 api.md 前后端契约 |
174
+ | `page-codegen` | ✅ 启用 | `skills/core/page-codegen/` | 4 文件骨架生成 + 模板调度 |
175
+ | `convention-audit` | ✅ 启用 | `skills/core/convention-audit/` | 13 条规范扫描 + 双报告 |
176
+ | `template-extract` | ✅ 启用 | `skills/core/template-extract/` | 现有页面 领域模板 |
177
+ | `menu-sync` | 启用 | `skills/sync/menu-sync/` | 菜单基线 ↔ 后端接口 |
178
+ | `dict-sync` | ⏳ PLANNED | `skills/sync/dict-sync/` | 字典基线 ↔ 后端接口 |
179
+ | `permission-sync` | ⏳ PLANNED | `skills/sync/permission-sync/` | 权限基线 ↔ 后端接口 |
180
+ | `code-fix` | PLANNED | `skills/ops/code-fix/` | 受控自动修复偏差 |
361
181
 
362
- 菜单同步需要网关地址和 Token,首次使用时按 `.github/skills/menu-sync/env/guide.md` 填写:
182
+ 每个启用 Skill 同目录都有 **`SKILL.md`(AI 触发用)+ `USAGE.md`(团队成员阅读)**。
363
183
 
364
- ```
365
- .github/skills/menu-sync/env/env.local.json ← 本地维护,已 gitignore
366
- ```
184
+ ---
367
185
 
368
- ### 5. 更新策略
186
+ ## AI 编辑器适配(解耦设计)
369
187
 
370
- ```bash
371
- # 方式一:增量更新(推荐 — 仅覆盖变化的文件,速度快)
372
- npx @agile-team/wl-skills-kit@latest update
188
+ `init` / `update` 读取 `files/.github/skills/_compat/editors.json` 生成对应配置:
373
189
 
374
- # 方式二:全量重装(适合版本跨度大、或清单文件丢失的情况)
375
- npx @agile-team/wl-skills-kit@latest
376
- ```
377
-
378
- - **通用改进** PR 到 wl-skills-kit 仓库,合并后所有项目受益
379
- - **领域专有** 放在安全路径下,永远不会被覆盖
190
+ | 编辑器 | 输出路径 | Frontmatter |
191
+ | -------------- | ----------------------------------- | ----------------------- |
192
+ | GitHub Copilot | `.github/copilot-instructions.md` | - |
193
+ | Claude Code | `CLAUDE.md` | - |
194
+ | Cursor (rules) | `.cursorrules` | - |
195
+ | Cursor (mdc) | `.cursor/rules/conventions.mdc` | description+globs+alwaysApply |
196
+ | Windsurf | `.windsurfrules` | - |
197
+ | Cline | `.clinerules` | - |
198
+ | Kiro | `.kiro/steering/conventions.md` | inclusion: always |
199
+ | Trae | `.trae/rules/conventions.md` | description+globs+alwaysApply |
200
+ | 通用 Agent | `AGENTS.md` | - |
380
201
 
381
- ### 6. Manifest 清单文件
202
+ **解耦验证**:在 `editors.json` 中将任意编辑器 `enabled: false`,重新 `update` —— 该编辑器配置不再生成,其他编辑器**完全不受影响**。
382
203
 
383
- `init` 和 `update` 执行后会在项目根目录生成 `.wl-skills-manifest.json`,记录所有写入的文件路径及 MD5 哈希。该文件用于:
204
+ ---
384
205
 
385
- - `update` 命令的增量比对(跳过未变化的文件)
386
- - `clean` 命令的精准删除(只删除 Skill 体系写入的文件)
206
+ ## 受保护路径
387
207
 
388
- > 建议将 `.wl-skills-manifest.json` 加入 `.gitignore`(每台开发机独立维护即可)。
208
+ | 命令 | 保护路径 | 说明 |
209
+ | ------------------------ | --------------------------------- | -------------------------- |
210
+ | `init` / `update` | `.github/reports/*.md` | 已存在则跳过,不覆盖累积 |
211
+ | `clean`(默认) | `src/components/` + `src/types/` | 业务代码必需,永不删除 |
212
+ | `clean --keep-reports` | + `.github/reports/` | 保留菜单/字典/权限基线 |
389
213
 
390
214
  ---
391
215
 
392
- ## 技术栈适配
216
+ ## 进一步阅读
393
217
 
394
- 当前模板基于以下技术栈:
395
-
396
- | 层面 | 技术 |
397
- |------|------|
398
- | 框架 | Vue 3.2 + Vite + TypeScript |
399
- | UI | Element Plus + @jhlc/jh-ui + @jhlc/common-core |
400
- | 状态 | Pinia |
401
- | 样式 | Windi CSS + SCSS |
402
- | 架构 | Module Federation 子应用 |
403
- | 页面模式 | AbstractPageQueryHook 配置化驱动 |
404
-
405
- > 移植到其他技术栈项目需改写 page-codegen 模板,详见 `.github/docs/use-skill.md` 第四章。
218
+ - 📚 业务方使用指南:`.github/guides/usage.md`(业务项目内)
219
+ - 🏗️ 架构与决策:`.github/guides/architecture.md`(业务项目内)
220
+ - 🔧 维护者文档:[kit-internal/README.md](kit-internal/README.md)(仅本仓库)
221
+ - 🤖 多编辑器适配机制:[files/.github/skills/_compat/README.md](files/.github/skills/_compat/README.md)
222
+ - 🛠️ Jenkins 流水线参考:[kit-internal/jenkins-pipeline.md](kit-internal/jenkins-pipeline.md)
406
223
 
407
224
  ---
408
225
 
409
- ## 贡献
410
-
411
- ```bash
412
- git clone git@github.com:ChenyCHENYU/wl-skills-kit.git
413
- cd wl-skills-kit
414
- # 修改 files/ 下的内容
415
- npx . --dry-run # 本地预览
416
- # 提 PR → Review → 合并 → npm publish
417
- ```
418
-
419
- ### 可贡献内容
226
+ ## 反馈与贡献
420
227
 
421
- | 类型 | 路径 | 说明 |
422
- |------|------|------|
423
- | Skill 修复 | `files/.github/skills/` | 修正生成规则或模板 bug |
424
- | 组件文档 | `files/docs/` | 新增或更新 jh-* 文档 |
425
- | 领域样例 | `files/demo/{domain}/` | 各业务域贡献真实页面样例 |
426
- | 通用组件 | `files/src/components/` | 新增可复用组件 |
228
+ - 使用问题 / Bug:联系 CHENY(工号 409322)
229
+ - 仓库贡献:见 [kit-internal/CONTRIBUTING.md](kit-internal/CONTRIBUTING.md)
427
230
 
428
231
  ---
429
232
 
430
- ## License
233
+ ## 许可证
431
234
 
432
- UNLICENSED — 内部使用,未授权外部分发。
235
+ UNLICENSED — 内部使用