@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
package/README.md
CHANGED
|
@@ -1,432 +1,255 @@
|
|
|
1
1
|
# @agile-team/wl-skills-kit
|
|
2
2
|
|
|
3
|
-
**AI Skill
|
|
3
|
+
**AI Skill 模板包 v2.1** — 一条命令将 13 条编码规范、6 个 AI Skill、组件文档、领域样例导入 Vue 3 项目。
|
|
4
4
|
|
|
5
|
-
让 AI
|
|
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
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
│
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
│
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
│
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
│
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
##
|
|
44
|
+
## ⚠️ 仓库结构 vs 业务项目安装结构(**必看**)
|
|
117
45
|
|
|
118
|
-
|
|
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
|
-
```
|
|
46
|
+
`wl-skills-kit` 是一个 **npm 模板包**:仓库本身的结构 ≠ 你 `npx` 之后业务项目里看到的结构。两者**严格区分**:
|
|
139
47
|
|
|
140
|
-
###
|
|
141
|
-
|
|
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
|
-
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
82
|
+
> **维护准则**:
|
|
83
|
+
> - 业务规范要改 → 改 `files/.github/standards/*.md`
|
|
84
|
+
> - Skill 流程要改 → 改 `files/.github/skills/<scope>/<name>/SKILL.md`
|
|
85
|
+
> - 多 AI 编辑器适配要改 → 改 `files/.github/skills/_compat/`(**不是**改业务项目里的根配置文件)
|
|
86
|
+
> - 维护文档要写 → 进 `kit-internal/`(不会污染业务项目)
|
|
171
87
|
|
|
172
|
-
|
|
88
|
+
### B. 业务项目结构(执行 `npx @agile-team/wl-skills-kit` 之后)
|
|
173
89
|
|
|
174
90
|
```
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
-
|
|
179
|
-
|
|
180
|
-
-
|
|
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/ 类型桶文件
|
|
181
138
|
```
|
|
182
139
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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
|
|
210
|
-
```
|
|
211
|
-
|
|
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
|
-
|
|
254
|
-
npx @agile-team/wl-skills-kit
|
|
255
|
-
|
|
256
|
-
|
|
150
|
+
# 全量安装(默认)
|
|
151
|
+
npx @agile-team/wl-skills-kit
|
|
152
|
+
|
|
153
|
+
# 增量更新(仅覆盖有变化的文件,自动保护 reports/)
|
|
154
|
+
npx @agile-team/wl-skills-kit update
|
|
257
155
|
|
|
258
|
-
|
|
156
|
+
# 构建前清理(保留 src/components + src/types)
|
|
157
|
+
npx @agile-team/wl-skills-kit clean
|
|
259
158
|
|
|
260
|
-
|
|
159
|
+
# 清理但保留 reports/(菜单/字典/权限累积数据)
|
|
160
|
+
npx @agile-team/wl-skills-kit clean --keep-reports
|
|
261
161
|
|
|
262
|
-
|
|
263
|
-
npx @agile-team/wl-skills-kit@latest update
|
|
162
|
+
# 任何命令都可加 --dry-run 预览
|
|
264
163
|
npx @agile-team/wl-skills-kit update --dry-run
|
|
265
164
|
```
|
|
266
165
|
|
|
267
|
-
|
|
268
|
-
```
|
|
269
|
-
✔ 完成!
|
|
270
|
-
新增: 3 个文件 ← 新版本新增的文件
|
|
271
|
-
更新: 5 个文件 ← 内容有变化,已覆盖
|
|
272
|
-
未变: 109 个文件 ← MD5 一致,未动
|
|
273
|
-
```
|
|
166
|
+
> 全局安装后也可直接用 `wl-skills` 命令(如 `wl-skills update`)。
|
|
274
167
|
|
|
275
|
-
|
|
168
|
+
---
|
|
276
169
|
|
|
277
|
-
|
|
170
|
+
## 从早期版本升级
|
|
278
171
|
|
|
279
|
-
|
|
172
|
+
> **适用场景**:已安装 v1.x 或 v2.0 的业务项目,希望升级到当前版本。
|
|
280
173
|
|
|
281
174
|
```bash
|
|
282
|
-
|
|
283
|
-
npx @agile-team/wl-skills-kit
|
|
175
|
+
# 执行增量更新即可
|
|
176
|
+
npx @agile-team/wl-skills-kit update
|
|
284
177
|
```
|
|
285
178
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
179
|
+
`update` 命令会自动完成:
|
|
180
|
+
1. **写入新文件** — 新结构下的所有文件覆盖写入
|
|
181
|
+
2. **迁移清理** — 检测并移除旧版遗留文件(如 `skills/prototype-scan/`、`docs/menu-sync-design.md` 等),避免新旧路径并存产生歧义
|
|
182
|
+
3. **保护累积数据** — `reports/*.md` 已存在则跳过,团队累积的菜单/字典数据不丢失
|
|
289
183
|
|
|
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`
|
|
184
|
+
> **注意**:如果项目在旧的 `.github/skills/menu-sync/env/env.local.json` 中有自定义配置,`update` 会将其迁移位置(删旧、新路径文件由 `init` 写入默认模板)。**请在 `update` 前备份** 或 `update` 后手动迁移到 `.github/skills/sync/menu-sync/env/env.local.json`。
|
|
298
185
|
|
|
299
186
|
---
|
|
300
187
|
|
|
301
|
-
##
|
|
302
|
-
|
|
303
|
-
| ✅ 会做 | ❌ 不会做 |
|
|
304
|
-
| ----------------------------------- | ---------------------------- |
|
|
305
|
-
| 写入 `.github/` `docs/` `src/` `demo/` | 不修改 `package.json` |
|
|
306
|
-
| 已存在的同名文件会被覆盖 | 不修改 `node_modules/` |
|
|
307
|
-
| 自动创建不存在的目录 | 不执行 postinstall |
|
|
308
|
-
| 生成 `.wl-skills-manifest.json` 清单 | 不删除任何文件(init/update) |
|
|
309
|
-
|
|
310
|
-
### 安全路径(不会被覆盖)
|
|
188
|
+
## Skill 概览
|
|
311
189
|
|
|
312
|
-
|
|
190
|
+
| Skill | 状态 | 路径 | 核心用途 |
|
|
191
|
+
| ------------------ | --------- | ---------------------------------------- | ----------------------------- |
|
|
192
|
+
| `prototype-scan` | ✅ 启用 | `skills/core/prototype-scan/` | 原型/详设/口述 → 页面清单 |
|
|
193
|
+
| `api-contract` | ✅ 启用 | `skills/core/api-contract/` | 生成 api.md 前后端契约 |
|
|
194
|
+
| `page-codegen` | ✅ 启用 | `skills/core/page-codegen/` | 4 文件骨架生成 + 模板调度 |
|
|
195
|
+
| `convention-audit` | ✅ 启用 | `skills/core/convention-audit/` | 13 条规范扫描 + 双报告 |
|
|
196
|
+
| `template-extract` | ✅ 启用 | `skills/core/template-extract/` | 现有页面 → 领域模板 |
|
|
197
|
+
| `menu-sync` | ✅ 启用 | `skills/sync/menu-sync/` | 菜单基线 ↔ 后端接口 |
|
|
198
|
+
| `dict-sync` | ⏳ PLANNED | `skills/sync/dict-sync/` | 字典基线 ↔ 后端接口 |
|
|
199
|
+
| `permission-sync` | ⏳ PLANNED | `skills/sync/permission-sync/` | 权限基线 ↔ 后端接口 |
|
|
200
|
+
| `code-fix` | ⏳ PLANNED | `skills/ops/code-fix/` | 受控自动修复偏差 |
|
|
313
201
|
|
|
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 数据
|
|
320
|
-
```
|
|
202
|
+
每个启用 Skill 同目录都有 **`SKILL.md`(AI 触发用)+ `USAGE.md`(团队成员阅读)**。
|
|
321
203
|
|
|
322
204
|
---
|
|
323
205
|
|
|
324
|
-
##
|
|
325
|
-
|
|
326
|
-
### 1. Skill 生成代码的前置依赖
|
|
327
|
-
|
|
328
|
-
AI 生成的代码依赖以下包,**首次使用前请确认已安装**:
|
|
329
|
-
|
|
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`,必须单独安装。
|
|
206
|
+
## 多 AI 编辑器适配(解耦设计)
|
|
341
207
|
|
|
342
|
-
|
|
208
|
+
`init` / `update` 读取 `files/.github/skills/_compat/editors.json` 生成对应配置:
|
|
343
209
|
|
|
344
|
-
|
|
210
|
+
| 编辑器 | 输出路径 | Frontmatter |
|
|
211
|
+
| -------------- | ----------------------------------- | ----------------------- |
|
|
212
|
+
| GitHub Copilot | `.github/copilot-instructions.md` | - |
|
|
213
|
+
| Claude Code | `CLAUDE.md` | - |
|
|
214
|
+
| Cursor (rules) | `.cursorrules` | - |
|
|
215
|
+
| Cursor (mdc) | `.cursor/rules/conventions.mdc` | description+globs+alwaysApply |
|
|
216
|
+
| Windsurf | `.windsurfrules` | - |
|
|
217
|
+
| Cline | `.clinerules` | - |
|
|
218
|
+
| Kiro | `.kiro/steering/conventions.md` | inclusion: always |
|
|
219
|
+
| Trae | `.trae/rules/conventions.md` | description+globs+alwaysApply |
|
|
220
|
+
| 通用 Agent | `AGENTS.md` | - |
|
|
345
221
|
|
|
346
|
-
|
|
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
|
|
361
|
-
|
|
362
|
-
菜单同步需要网关地址和 Token,首次使用时按 `.github/skills/menu-sync/env/guide.md` 填写:
|
|
363
|
-
|
|
364
|
-
```
|
|
365
|
-
.github/skills/menu-sync/env/env.local.json ← 本地维护,已 gitignore
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
### 5. 更新策略
|
|
369
|
-
|
|
370
|
-
```bash
|
|
371
|
-
# 方式一:增量更新(推荐 — 仅覆盖变化的文件,速度快)
|
|
372
|
-
npx @agile-team/wl-skills-kit@latest update
|
|
373
|
-
|
|
374
|
-
# 方式二:全量重装(适合版本跨度大、或清单文件丢失的情况)
|
|
375
|
-
npx @agile-team/wl-skills-kit@latest
|
|
376
|
-
```
|
|
222
|
+
**解耦验证**:在 `editors.json` 中将任意编辑器 `enabled: false`,重新 `update` —— 该编辑器配置不再生成,其他编辑器**完全不受影响**。
|
|
377
223
|
|
|
378
|
-
|
|
379
|
-
- **领域专有** → 放在安全路径下,永远不会被覆盖
|
|
380
|
-
|
|
381
|
-
### 6. Manifest 清单文件
|
|
382
|
-
|
|
383
|
-
`init` 和 `update` 执行后会在项目根目录生成 `.wl-skills-manifest.json`,记录所有写入的文件路径及 MD5 哈希。该文件用于:
|
|
224
|
+
---
|
|
384
225
|
|
|
385
|
-
|
|
386
|
-
- `clean` 命令的精准删除(只删除 Skill 体系写入的文件)
|
|
226
|
+
## 受保护路径
|
|
387
227
|
|
|
388
|
-
|
|
228
|
+
| 命令 | 保护路径 | 说明 |
|
|
229
|
+
| ------------------------ | --------------------------------- | -------------------------- |
|
|
230
|
+
| `init` / `update` | `.github/reports/*.md` | 已存在则跳过,不覆盖累积 |
|
|
231
|
+
| `clean`(默认) | `src/components/` + `src/types/` | 业务代码必需,永不删除 |
|
|
232
|
+
| `clean --keep-reports` | + `.github/reports/` | 保留菜单/字典/权限基线 |
|
|
389
233
|
|
|
390
234
|
---
|
|
391
235
|
|
|
392
|
-
##
|
|
236
|
+
## 进一步阅读
|
|
393
237
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
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` 第四章。
|
|
238
|
+
- 📚 业务方使用指南:`.github/guides/usage.md`(业务项目内)
|
|
239
|
+
- 🏗️ 架构与决策:`.github/guides/architecture.md`(业务项目内)
|
|
240
|
+
- 🔧 维护者文档:[kit-internal/README.md](kit-internal/README.md)(仅本仓库)
|
|
241
|
+
- 🤖 多编辑器适配机制:[files/.github/skills/_compat/README.md](files/.github/skills/_compat/README.md)
|
|
242
|
+
- 🛠️ Jenkins 流水线参考:[kit-internal/jenkins-pipeline.md](kit-internal/jenkins-pipeline.md)
|
|
406
243
|
|
|
407
244
|
---
|
|
408
245
|
|
|
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
|
-
### 可贡献内容
|
|
246
|
+
## 反馈与贡献
|
|
420
247
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
| Skill 修复 | `files/.github/skills/` | 修正生成规则或模板 bug |
|
|
424
|
-
| 组件文档 | `files/docs/` | 新增或更新 jh-* 文档 |
|
|
425
|
-
| 领域样例 | `files/demo/{domain}/` | 各业务域贡献真实页面样例 |
|
|
426
|
-
| 通用组件 | `files/src/components/` | 新增可复用组件 |
|
|
248
|
+
- 使用问题 / Bug:联系 CHENY(工号 409322)
|
|
249
|
+
- 仓库贡献:见 [kit-internal/CONTRIBUTING.md](kit-internal/CONTRIBUTING.md)
|
|
427
250
|
|
|
428
251
|
---
|
|
429
252
|
|
|
430
|
-
##
|
|
253
|
+
## 许可证
|
|
431
254
|
|
|
432
|
-
UNLICENSED —
|
|
255
|
+
UNLICENSED — 内部使用
|