@qilitt-mickey/vue3-temp-skill 1.1.33 → 1.1.35

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 (50) hide show
  1. package/README.md +16 -14
  2. package/SKILL.md +4 -2
  3. package/bin/cli.js +18 -4
  4. package/package.json +2 -1
  5. package/references/addon-enable.md +1 -1
  6. package/references/api-check.md +1 -1
  7. package/references/auth-pages.md +1 -1
  8. package/references/base-code-dict.md +1 -1
  9. package/references/chart-echarts.md +1 -1
  10. package/references/code-quality.md +1 -1
  11. package/references/core-kernel.md +1 -1
  12. package/references/crud-pages.md +244 -244
  13. package/references/data-compare.md +1 -1
  14. package/references/data-mapping.md +1 -1
  15. package/references/data-screen.md +1 -1
  16. package/references/data-writeback.md +1 -1
  17. package/references/design-handoff.md +25 -35
  18. package/references/design-system.md +1 -1
  19. package/references/design-verify.md +27 -2
  20. package/references/detail-page.md +1 -1
  21. package/references/directives-advanced.md +7 -7
  22. package/references/download-export.md +1 -1
  23. package/references/feedback-loading.md +1 -1
  24. package/references/feedback-ui.md +1 -1
  25. package/references/file-management.md +7 -7
  26. package/references/flowchart-g6.md +1 -1
  27. package/references/form-advanced.md +1 -1
  28. package/references/graph-relation.md +7 -7
  29. package/references/http-api.md +1 -1
  30. package/references/i18n-localization.md +1 -1
  31. package/references/icons.md +1 -1
  32. package/references/layout-theme.md +1 -1
  33. package/references/mobile-h5.md +1 -1
  34. package/references/particles.md +7 -7
  35. package/references/permission-auth.md +1 -1
  36. package/references/project-inventory.md +1 -1
  37. package/references/qrcode-barcode.md +1 -1
  38. package/references/rich-text.md +1 -1
  39. package/references/seamless-scroll.md +1 -1
  40. package/references/table-vxe.md +1 -1
  41. package/references/tree-table.md +7 -7
  42. package/references/ui-components.md +1 -1
  43. package/references/verify-captcha.md +1 -1
  44. package/references/websocket-realtime.md +7 -7
  45. package/references/wechat-js.md +1 -1
  46. package/references/workflow-bpmn.md +1 -1
  47. package/scripts/check.mjs +10 -2
  48. package/scripts/field-schema-audit.mjs +246 -0
  49. package/scripts/handoff.mjs +388 -22
  50. package/scripts/match.py +12 -8
package/README.md CHANGED
@@ -115,29 +115,31 @@ npx @qilitt-mickey/vue3-temp-skill@latest install all
115
115
 
116
116
  ### 设计落地(可选)
117
117
 
118
- handoff JSON 可以来自对话、临时文件或管道。状态默认保存在用户级状态目录,**不在业务项目创建 `.handoff/`**:
118
+ 本技能是**通用**的,不依赖任何宿主目录。状态默认保存在**项目内 `.design-handoff/`**,便于随项目携带和跨环境复用。
119
119
 
120
- - 默认路径:`~/.workbuddy/state/vue3-temp-skill/<项目哈希>/handoff.json`
121
- - Windows 示例:`%USERPROFILE%\.workbuddy\state\vue3-temp-skill\<项目哈希>\handoff.json`
120
+ 设计技能产出两类内容(均为标准产出,不一定落盘):
121
+
122
+ - **设计 HTML**:完整自包含页面,AI 直接阅读获取精确 px 值
123
+ - **`design-handoff/v1` JSON**:结构化契约,是工程落地的机器输入
124
+
125
+ `handoff.mjs` 不解析 HTML,只读 JSON 契约 + 扫描真实项目当前态,生成可执行的实施 diff。
122
126
 
123
127
  ```bash
124
- # 动手前:校验 JSON 规格并建立 session
128
+ # 1) 生成实施计划(读 JSON + 扫描项目,输出 Markdown diff)
129
+ node scripts/handoff.mjs plan --project ./my-vue-app --design-json C:/temp/handoff.json
130
+ # 也可直接指向设计 HTML 作为视觉参照:追加 --design-html C:/temp/design.html
131
+ # 不传 --design-json 时,按序自动发现:<项目>/.design-handoff/handoff.json、<项目>/design/design-handoff.json
132
+
133
+ # 2) 动手前:校验 JSON 规格并建立 session(可选)
125
134
  node scripts/handoff.mjs init --project ./my-vue-app --file C:/temp/handoff.json
126
135
 
127
- # 落地后:确认关键接线存在
136
+ # 3) 落地后:确认关键接线存在
128
137
  node scripts/handoff.mjs check --project ./my-vue-app --require-session
129
138
  ```
130
139
 
131
- 也支持显式指定状态目录(适合 CI 或多工作区):追加 `--state-dir <项目外状态目录>`。
132
-
133
- 通过 npm 包 CLI:
134
-
135
- ```bash
136
- npx @qilitt-mickey/vue3-temp-skill handoff init --project ./my-vue-app --file C:/temp/handoff.json
137
- npx @qilitt-mickey/vue3-temp-skill handoff check --project ./my-vue-app --require-session
138
- ```
140
+ 显式指定状态目录:追加 `--state-dir <目录>`(默认 `<项目>/.design-handoff/`)。
139
141
 
140
- `handoff.mjs` 只做两件事:确认 JSON 规格完整,确认目标项目存在落地所需关键接线。它不统计改动文件数量,也不要求全项目遍历。
142
+ `handoff.mjs` 职责:`plan` 生成逐区域改动清单;`init/check` 只确认 JSON 规格完整 + 目标项目存在关键接线。它不统计改动文件数量,也不要求全项目遍历。
141
143
 
142
144
  ## 与模版的关系
143
145
 
package/SKILL.md CHANGED
@@ -75,9 +75,11 @@ tags: [vue3, typescript, element-plus, pinia, vite, unocss, crud, demo, code-qua
75
75
 
76
76
  ### 4. 设计交接
77
77
 
78
- - 发现 `$schema: design-handoff/v1` 后,读取 `references/design-handoff.md`。
79
- - 动手前初始化 handoff session;设计决定视觉、结构和交互意图,本技能只负责映射到真实模板并保留业务逻辑。
78
+ - 发现 `$schema: design-handoff/v1` 或设计 HTML 后,读取 `references/design-handoff.md`。
79
+ - **先跑 `node scripts/handoff.mjs plan --project <项目> [--design-json <path>] [--design-html <path>]`** 生成逐区域实施 diff;AI 按 diff 顺序改代码,设计 HTML 作为精确 px 值的视觉参照(AI 直接读,本技能不解析 HTML)。
80
+ - 动手前可选 `handoff init` 保存当次规格;设计决定视觉、结构和交互意图,本技能只负责映射到真实模板并保留业务逻辑。
80
81
  - 只修改 handoff 明确覆盖的文件和页面;不为通过检查虚构修改、不强制全项目遍历。
82
+ - 业务按钮(如「增加一行可编辑数据」「表格提交」)只调样式/位置,绝不删除。
81
83
  - 项目级视觉改造只有在用户明确要求时才执行;单页 Demo 默认只处理当前页面及必要共享组件。
82
84
 
83
85
  ### 5. 验证与交付
package/bin/cli.js CHANGED
@@ -348,7 +348,8 @@ ${bold("命令:")}
348
348
  update [target] 更新已安装的技能(默认更新全部已安装目标)
349
349
  uninstall [target] 卸载技能(默认卸载全部已安装目标)
350
350
  list 查看已安装的目标和版本
351
- handoff init 校验 handoff JSON 规格,在用户级目录建立会话(不污染业务项目)
351
+ handoff init 校验 handoff JSON 规格,在项目内 .design-handoff/ 建立会话
352
+ handoff plan 读 JSON + 扫描项目,生成逐区域实施 diff(Markdown)
352
353
  handoff check 确认目标项目存在设计落地所需的关键接线
353
354
 
354
355
  ${bold("目标 (target):")}
@@ -614,19 +615,32 @@ function cmdHandoff(sub, args, projectDir) {
614
615
  const requireSession = args.includes("--require-session");
615
616
  const scriptDir = path.join(SKILL_DIR, "scripts");
616
617
 
617
- if (sub !== "init" && sub !== "check") {
618
- console.error(red("✗ handoff 子命令: init | check"));
618
+ if (sub !== "init" && sub !== "check" && sub !== "plan") {
619
+ console.error(red("✗ handoff 子命令: init | check | plan"));
619
620
  console.error(dim(" handoff init --project <dir> --file <handoff.json> [--state-dir <dir>]"));
620
621
  console.error(dim(" handoff check --project <dir> [--state-dir <dir>] [--require-session]"));
621
- console.error(dim(" 默认状态目录见 README.md「设计落地」"));
622
+ console.error(dim(" handoff plan --project <dir> [--design-json <path>] [--design-html <path>] [--view <path>]"));
623
+ console.error(dim(" 默认状态目录:<项目>/.design-handoff/(通用,不依赖宿主)"));
622
624
  process.exit(1);
623
625
  }
624
626
 
627
+ const designJsonIdx = args.indexOf("--design-json");
628
+ const designJson = designJsonIdx !== -1 ? path.resolve(args[designJsonIdx + 1]) : null;
629
+ const designHtmlIdx = args.indexOf("--design-html");
630
+ const designHtml = designHtmlIdx !== -1 ? path.resolve(args[designHtmlIdx + 1]) : null;
631
+ const viewIdx = args.indexOf("--view");
632
+ const view = viewIdx !== -1 ? path.resolve(args[viewIdx + 1]) : null;
633
+
625
634
  const script = path.join(scriptDir, "handoff.mjs");
626
635
  const childArgs = [script, sub, "--project", proj];
627
636
  if (sub === "init" && handoffFile) childArgs.push("--file", handoffFile);
628
637
  if (stateDir) childArgs.push("--state-dir", stateDir);
629
638
  if (sub === "check" && requireSession) childArgs.push("--require-session");
639
+ if (sub === "plan") {
640
+ if (designJson) childArgs.push("--design-json", designJson);
641
+ if (designHtml) childArgs.push("--design-html", designHtml);
642
+ if (view) childArgs.push("--view", view);
643
+ }
630
644
 
631
645
  try {
632
646
  execFileSync(process.execPath, childArgs, { stdio: "inherit" });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qilitt-mickey/vue3-temp-skill",
3
- "version": "1.1.33",
3
+ "version": "1.1.35",
4
4
  "description": "Vue 3 企业级中后台项目开发规范技能包 — core-kernel 架构、按需功能模块",
5
5
  "bin": {
6
6
  "vue3-temp-skill": "./bin/cli.js"
@@ -25,6 +25,7 @@
25
25
  "release:major": "node release.js major",
26
26
  "check": "node scripts/check.mjs",
27
27
  "prepack": "node scripts/check.mjs",
28
+ "audit": "node scripts/field-schema-audit.mjs",
28
29
  "validate": "node scripts/validate.mjs",
29
30
  "match": "python scripts/match.py",
30
31
  "match:batch": "python scripts/match.py --batch",
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: addon-enable
2
+ name: addon-enable
3
3
  description: 精简模板 addon 启用手册。记录出厂删除的依赖及须恢复的每一处代码/配置;命中 chart/vant/file-viewer 等 addon 或装依赖时必读。
4
4
  scope: project
5
5
  tags: [addon, enable, restore, tsconfig, vant, echarts, file-viewer, slim-template]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: api-check
2
+ name: api-check
3
3
  description: 前后端接口联调核对清单。对接后端或生成 API 后对照契约;写法细则见 http-api。
4
4
  scope: project
5
5
  tags: [api, backend, integration, contract, http, checklist, mock]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: auth-pages
2
+ name: auth-pages
3
3
  description: 登录/注册/忘记密码认证流程、API 模式、userStore 集成、路由配置
4
4
  scope: project
5
5
  tags: [登录, 注册, 忘记密码, 重置密码, 认证, auth, login, register, signup, forgot-password, 找回密码]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: base-code-dict
2
+ name: base-code-dict
3
3
  description: 基础代码字典获取、缓存、useApp().baseCodeGet、filterValue
4
4
  scope: project
5
5
  tags: [字典, baseCode, 码表, 下拉字典, 数据字典]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: chart-echarts
2
+ name: chart-echarts
3
3
  description: ECharts 图表与 ReEchart 封装。词云等扩展按项目依赖。
4
4
  scope: project
5
5
  tags: [echarts, ReEchart, chart, wordcloud, 折线图, 柱状图, 饼图, 统计图, 雷达图, 散点图, 热力图, 趋势图, 地图, 甘特图, K线图]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: code-quality
2
+ name: code-quality
3
3
  description: 生成后强制质量闸门。写完/改完代码后重读本清单、对照落盘文件、必跑 lint:fix 与 type-check,最终回复含「代码质量审查」结果块。
4
4
  scope: project
5
5
  tags: [code-review, quality, checklist, lint, typescript, vue3, security, performance, gate]
@@ -1,5 +1,5 @@
1
1
  ---
2
- skill: core-kernel
2
+ name: core-kernel
3
3
  description: 始终加载的架构内核。硬约束、应用壳摘要、样式契约、工程摘要。业务开发前必读。
4
4
  scope: project
5
5
  tags: [vue3, kernel, conventions, layout, router, http, crud, inventory]