@agile-team/wl-skills-kit 2.10.1 → 2.11.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.
- package/CHANGELOG.md +18 -0
- package/README.md +7 -7
- package/bin/wl-skills.js +49 -16
- package/files/.github/copilot-instructions.md +23 -465
- package/files/.wl-skills/copilot-instructions-full.md +233 -0
- package/files/{docs → .wl-skills/docs}/jh-pagination.md +2 -2
- package/files/{docs → .wl-skills/docs}/page-query-hook-best-practices.md +3 -3
- package/files/{.github → .wl-skills}/guides/README.md +1 -1
- package/files/{.github → .wl-skills}/guides/architecture.md +5 -5
- package/files/{.github → .wl-skills}/guides/mcp-setup.md +1 -1
- package/files/{.github → .wl-skills}/guides/usage.md +8 -8
- package/files/{.github → .wl-skills}/reports/SYS_MENU_INFO.md +1 -1
- package/files/{.github → .wl-skills}/reports/SYS_PERMISSION_INFO.md +1 -1
- package/files/{.github → .wl-skills}/reports//347/273/204/344/273/266/346/217/220/345/217/226/345/273/272/350/256/256.md +1 -1
- package/files/{.github → .wl-skills}/skills/_best-practices.md +5 -5
- package/files/{.github → .wl-skills}/skills/_compat/README.md +1 -1
- package/files/{.github → .wl-skills}/skills/_compat/editors.json +1 -1
- package/files/{.github → .wl-skills}/skills/_pipeline.md +9 -9
- package/files/{.github → .wl-skills}/skills/_registry.md +3 -3
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/SKILL.md +27 -27
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/USAGE.md +22 -22
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/business-index.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/business-open-questions.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/module-dictionary.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/module-field.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/module-index.md +2 -2
- package/files/{.github → .wl-skills}/skills/core/business-doc-extract/templates/module-requirement.md +2 -2
- package/files/{.github → .wl-skills}/skills/core/convention-audit/SKILL.md +6 -6
- package/files/{.github → .wl-skills}/skills/core/convention-audit/USAGE.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/page-codegen/SKILL.md +10 -10
- package/files/{.github → .wl-skills}/skills/core/page-codegen/USAGE.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-DETAIL-TABS.md +7 -7
- package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-DRIVEN.md +5 -5
- package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-FORM-ROUTE.md +2 -2
- package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-RECORD-FORM.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-TREE-LIST.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/prototype-scan/SKILL.md +11 -11
- package/files/{.github → .wl-skills}/skills/core/prototype-scan/USAGE.md +3 -3
- package/files/{.github → .wl-skills}/skills/core/spec-doc-parse/SKILL.md +9 -9
- package/files/{.github → .wl-skills}/skills/core/spec-doc-parse/USAGE.md +6 -6
- package/files/{.github → .wl-skills}/skills/core/template-extract/SKILL.md +1 -1
- package/files/{.github → .wl-skills}/skills/core/template-extract/USAGE.md +1 -1
- package/files/{.github → .wl-skills}/skills/sync/_mcp-guardrail.md +3 -3
- package/files/{.github → .wl-skills}/skills/sync/dict-sync/SKILL.md +5 -5
- package/files/{.github → .wl-skills}/skills/sync/dict-sync/USAGE.md +2 -2
- package/files/{.github → .wl-skills}/skills/sync/menu-sync/SKILL.md +6 -6
- package/files/{.github → .wl-skills}/skills/sync/menu-sync/USAGE.md +3 -3
- package/files/{.github → .wl-skills}/skills/sync/menu-sync/env/guide.md +2 -2
- package/files/{.github → .wl-skills}/skills/sync/permission-sync/SKILL.md +3 -3
- package/files/{.github → .wl-skills}/skills/sync/permission-sync/USAGE.md +1 -1
- package/files/{src → .wl-skills/src}/components/global/C_Splitter/index.vue +2 -2
- package/files/{src → .wl-skills/src}/components/local/c_formModal/README.md +1 -1
- package/files/{src → .wl-skills/src}/components/local/c_formSections/README.md +2 -2
- package/files/{src → .wl-skills/src}/components/remote/BaseForm/README.md +2 -2
- package/files/{src → .wl-skills/src}/components/remote/BaseQuery/README.md +4 -4
- package/files/{src → .wl-skills/src}/components/remote/BaseTable/README.md +2 -2
- package/files/{src → .wl-skills/src}/components/remote/BaseToolbar/README.md +1 -1
- package/files/{.github → .wl-skills}/standards/02-code-structure.md +1 -1
- package/files/{.github → .wl-skills}/standards/08-git.md +1 -1
- package/files/{.github → .wl-skills}/standards/11-form-validation.md +1 -1
- package/files/{.github → .wl-skills}/standards/13-platform-components.md +15 -15
- package/files/{.github → .wl-skills}/standards/14-layout-containers.md +4 -4
- package/files/{demo → .wl-skills/templates}/README.md +3 -3
- package/lib/vite-plugin-wl-skills.js +97 -0
- package/package.json +2 -2
- /package/files/{docs → .wl-skills/docs}/jh-date-range.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-date.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-dept-picker.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-drag-row.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-file-upload.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-picker.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-select.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-text.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-textarea.md +0 -0
- /package/files/{docs → .wl-skills/docs}/jh-user-picker.md +0 -0
- /package/files/{docs → .wl-skills/docs}/mock-architecture.md +0 -0
- /package/files/{docs → .wl-skills/docs}/request.md +0 -0
- /package/files/{.github → .wl-skills}/reports/README.md +0 -0
- /package/files/{.github → .wl-skills}/reports/SYS_DICT_INFO.md +0 -0
- /package/files/{.github → .wl-skills}/reports//350/247/204/350/214/203/345/256/241/346/237/245/346/212/245/345/221/212.md" +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/agents.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/claude-code.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/cline.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/cursor-mdc.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/cursor-rules.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/github-copilot.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/kiro.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/qoder.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/trae.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/_compat/headers/windsurf.txt +0 -0
- /package/files/{.github → .wl-skills}/skills/core/api-contract/SKILL.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/api-contract/USAGE.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/_index.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/domains/_CONTRIBUTING.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/domains/produce/TPL-OPERATION-STATION.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/domains/sale/README.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-CHANGE-HISTORY.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-LIST.md +0 -0
- /package/files/{.github → .wl-skills}/skills/core/page-codegen/templates/universal/TPL-MASTER-DETAIL.md +0 -0
- /package/files/{.github → .wl-skills}/skills/domain/README.md +0 -0
- /package/files/{.github → .wl-skills}/skills/ops/code-fix/SKILL.md +0 -0
- /package/files/{.github → .wl-skills}/skills/ops/code-fix/USAGE.md +0 -0
- /package/files/{.github → .wl-skills}/skills/sync/env.local.json +0 -0
- /package/files/{.github → .wl-skills}/skills/sync/menu-sync/env/env.local.json +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_ParentView/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_RightToolbar/data.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_RightToolbar/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_RightToolbar/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Splitter/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_SvgIcon/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_SvgIcon/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_SvgIcon/svgicon.js +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_TagStatus/README.md +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_TagStatus/config.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_TagStatus/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_TagStatus/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_TagStatus/types.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Tree/README.md +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Tree/data.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Tree/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Tree/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/global/C_Tree/types.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formModal/data.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formModal/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formModal/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formSections/data.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formSections/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_formSections/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_listModal/data.ts +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_listModal/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_listModal/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_spliterTitle/index.scss +0 -0
- /package/files/{src → .wl-skills/src}/components/local/c_spliterTitle/index.vue +0 -0
- /package/files/{src → .wl-skills/src}/components/remote/AGGrid/README.md +0 -0
- /package/files/{src → .wl-skills/src}/types/page.ts +0 -0
- /package/files/{.github → .wl-skills}/standards/01-toolchain.md +0 -0
- /package/files/{.github → .wl-skills}/standards/03-comments.md +0 -0
- /package/files/{.github → .wl-skills}/standards/04-coding-basics.md +0 -0
- /package/files/{.github → .wl-skills}/standards/05-logging.md +0 -0
- /package/files/{.github → .wl-skills}/standards/06-security.md +0 -0
- /package/files/{.github → .wl-skills}/standards/07-config.md +0 -0
- /package/files/{.github → .wl-skills}/standards/09-typescript.md +0 -0
- /package/files/{.github → .wl-skills}/standards/10-pinia.md +0 -0
- /package/files/{.github → .wl-skills}/standards/12-base-table.md +0 -0
- /package/files/{.github → .wl-skills}/standards/index.md +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add/api.md +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add-form/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add-form/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-add-form/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-form/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-form/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-form/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-history/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-history/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-apply-change-history/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-archive/api.md +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-archive/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-archive/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-archive/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-detail/api.md +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-detail/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-detail/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-customer-detail/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-temp-customer-archive/api.md +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-temp-customer-archive/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-temp-customer-archive/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/produce/aiflow/mmwr-temp-customer-archive/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/add-demo/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/add-demo/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/add-demo/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/billet-flame-cut-plan/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/billet-flame-cut-plan/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/billet-flame-cut-plan/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/domestic-trade-order/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/domestic-trade-order/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/domestic-trade-order/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/heat-batch-return/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/heat-batch-return/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/heat-batch-return/index.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/heat-batch-return/meltDialog.vue +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/metallurgical-spec/data.ts +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/metallurgical-spec/index.scss +0 -0
- /package/files/{demo → .wl-skills/templates}/sale/demo/metallurgical-spec/index.vue +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.11.0] - 2026-06-14
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- **目录架构重构:.github/ 散落 → .wl-skills/ 统一隔离**:所有 Skill、规范、指南、报告、文档、模板统一收纳到 `.wl-skills/` 目录,项目根目录仅保留 7 个编辑器入口薄壳文件,一步清理、一步还原
|
|
8
|
+
- **入口文件薄壳化**:`copilot-instructions.md` 从 19KB 完整指令瘦身为 ~1KB 入口指引 + 内容目录,完整指令迁移到 `.wl-skills/copilot-instructions-full.md`(完整地图架构)
|
|
9
|
+
- **完整地图架构**:入口文件包含完整 Skill 路由表(11 个 Skill + 触发词 + 读取路径)、14 条规范清单、10 个场景速查、5 条护栏,AI 读完入口即知全貌,无需追链
|
|
10
|
+
- **_compat 适配层迁移**:`_compat/editors.json` + `headers/` 从 `.github/skills/_compat/` 移至 `.wl-skills/skills/_compat/`
|
|
11
|
+
- **init/update 自动迁移**:`wl-skills update` 自动检测并清理旧版 `.github/skills|standards|guides|reports/` 目录,迁移到新结构
|
|
12
|
+
- **clean 命令适配**:`--keep-reports` 同时兼容旧版 `.github/reports/` 和新版 `.wl-skills/reports/` 路径
|
|
13
|
+
- **保护路径扩展**:`.wl-skills/src/components/` 和 `.wl-skills/src/types/` 纳入 clean 保护
|
|
14
|
+
|
|
15
|
+
### Migration
|
|
16
|
+
|
|
17
|
+
- 已安装 v2.10.x 的项目执行 `npx @agile-team/wl-skills-kit@latest update` 即可自动迁移
|
|
18
|
+
- 旧版 `.github/skills/`、`.github/standards/`、`.github/guides/`、`.github/reports/` 目录将被自动清理
|
|
19
|
+
- `.github/copilot-instructions.md` 自动替换为薄壳入口
|
|
20
|
+
|
|
3
21
|
## [2.10.1] - 2026-06-14
|
|
4
22
|
|
|
5
23
|
### Added
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @agile-team/wl-skills-kit
|
|
2
2
|
|
|
3
|
-
**AI Skill 模板包 v2.
|
|
3
|
+
**AI Skill 模板包 v2.11.0** — 一键将 14 条规范、11 个 AI Skill、17 个 MCP Tool、编辑器 MCP 配置、文档导入 Vue 3 项目。
|
|
4
4
|
|
|
5
5
|
让 AI 编辑器(Copilot / Cursor / Windsurf / Claude Code / Cline / Kiro / Trae / Qoder / 通用 Agents)**真正理解项目规范**,从原型/详设到完整页面代码全流程自动化。
|
|
6
6
|
|
|
@@ -162,9 +162,9 @@ wl-skills-kit/ ← 你正看的这个仓库
|
|
|
162
162
|
|
|
163
163
|
> **维护准则**:
|
|
164
164
|
>
|
|
165
|
-
> - 业务规范要改 → 改 `files/.
|
|
166
|
-
> - Skill 流程要改 → 改 `files/.
|
|
167
|
-
> - 多 AI 编辑器适配要改 → 改 `files/.
|
|
165
|
+
> - 业务规范要改 → 改 `files/.wl-skills/standards/*.md`
|
|
166
|
+
> - Skill 流程要改 → 改 `files/.wl-skills/skills/<scope>/<name>/SKILL.md`
|
|
167
|
+
> - 多 AI 编辑器适配要改 → 改 `files/.wl-skills/skills/_compat/`(**不是**改业务项目里的根配置文件)
|
|
168
168
|
> - 维护文档要写 → 进 `kit-internal/`(不会污染业务项目)
|
|
169
169
|
|
|
170
170
|
### B. 业务项目结构(执行 `npx @agile-team/wl-skills-kit` 之后)
|
|
@@ -348,7 +348,7 @@ npx @agile-team/wl-skills-kit update
|
|
|
348
348
|
|
|
349
349
|
## 多 AI 编辑器适配(解耦设计)
|
|
350
350
|
|
|
351
|
-
`init` / `update` 读取 `files/.
|
|
351
|
+
`init` / `update` 读取 `files/.wl-skills/skills/_compat/editors.json` 生成对应配置:
|
|
352
352
|
|
|
353
353
|
| 编辑器 | 输出路径 | Frontmatter |
|
|
354
354
|
| -------------- | --------------------------------- | ----------------------------- |
|
|
@@ -405,11 +405,11 @@ AbstractPageQueryHook + BaseQuery + BaseToolbar + BaseTable(render-type="agGrid"
|
|
|
405
405
|
- 🧭 全盘分析与智能体搭建:[docs/全盘分析与智能体搭建指南.md](docs/全盘分析与智能体搭建指南.md)
|
|
406
406
|
- 🔁 Agent Pipeline 运行手册:[docs/agent-pipeline-runbook.md](docs/agent-pipeline-runbook.md)
|
|
407
407
|
- 🛡️ MCP Tool 风险矩阵:[docs/mcp-tool-risk-matrix.md](docs/mcp-tool-risk-matrix.md)
|
|
408
|
-
- 📝 业务文档抽取 Skill:[files/.
|
|
408
|
+
- 📝 业务文档抽取 Skill:[files/.wl-skills/skills/core/business-doc-extract/USAGE.md](files/.wl-skills/skills/core/business-doc-extract/USAGE.md)
|
|
409
409
|
- 📚 业务方使用指南:`.github/guides/usage.md`(业务项目内)
|
|
410
410
|
- 🏗️ 架构与决策:`.github/guides/architecture.md`(业务项目内)
|
|
411
411
|
- 🔧 维护者文档:[kit-internal/README.md](kit-internal/README.md)(仅本仓库)
|
|
412
|
-
- 🤖 多编辑器适配机制:[files/.
|
|
412
|
+
- 🤖 多编辑器适配机制:[files/.wl-skills/skills/\_compat/README.md](files/.wl-skills/skills/_compat/README.md)
|
|
413
413
|
- 🛠️ Jenkins 流水线参考:[kit-internal/jenkins-pipeline.md](kit-internal/jenkins-pipeline.md)
|
|
414
414
|
|
|
415
415
|
---
|
package/bin/wl-skills.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* wl-skills-kit CLI v2.
|
|
4
|
+
* wl-skills-kit CLI v2.11.0
|
|
5
5
|
*
|
|
6
6
|
* 命令:
|
|
7
7
|
* init 全量安装(默认,向后兼容)
|
|
@@ -119,7 +119,7 @@ if (showHelp) {
|
|
|
119
119
|
|
|
120
120
|
选项:
|
|
121
121
|
--dry-run 预览模式,不实际写入/删除任何文件
|
|
122
|
-
--keep-reports clean 命令保留 .
|
|
122
|
+
--keep-reports clean 命令保留 .wl-skills/reports/(默认一起删除)
|
|
123
123
|
--force 强制执行,跳过同版本检测(忽略已安装状态)
|
|
124
124
|
--domain <name> mock-clean 指定要清理的业务域(如 sale、mdata)
|
|
125
125
|
--all mock-clean 清理全部 mock(保留 _utils.ts)
|
|
@@ -145,7 +145,7 @@ if (showHelp) {
|
|
|
145
145
|
npx @agile-team/wl-skills-kit mock-clean --all --dry-run 预览将要清理的 mock 文件
|
|
146
146
|
|
|
147
147
|
保护路径(init / update 不覆盖已存在的):
|
|
148
|
-
.
|
|
148
|
+
.wl-skills/reports/ AI 生成报告(团队累积数据,存在则跳过)
|
|
149
149
|
|
|
150
150
|
清理保护路径(clean 不删除):
|
|
151
151
|
src/components/ 通用组件(被业务页面 import,构建必需)
|
|
@@ -246,20 +246,20 @@ function writeManifest(data) {
|
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
// 受保护路径(clean 不删除)
|
|
249
|
-
const PROTECTED_PREFIXES = ["src/components/", "src/types/"];
|
|
249
|
+
const PROTECTED_PREFIXES = ["src/components/", "src/types/", ".wl-skills/src/components/", ".wl-skills/src/types/"];
|
|
250
250
|
function isProtected(relPath) {
|
|
251
251
|
return PROTECTED_PREFIXES.some((p) => relPath.startsWith(p));
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
// reports/ 中的 AI 生成报告:init/update 遇到已存在不覆盖(团队累积数据)
|
|
255
255
|
function isReportFile(relPath) {
|
|
256
|
-
return relPath.startsWith(".github/reports/") && relPath.endsWith(".md");
|
|
256
|
+
return (relPath.startsWith(".wl-skills/reports/") || relPath.startsWith(".github/reports/")) && relPath.endsWith(".md");
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
// ─── 旧版遗留路径(v1.x/v2.0 → v2.1 迁移清理)───────────────────────────
|
|
260
260
|
// update 时自动检测并移除,避免旧结构与新结构并存产生歧义。
|
|
261
261
|
const LEGACY_PATHS = [
|
|
262
|
-
// Skill
|
|
262
|
+
// v2.1: Skill 目录重组 flat → core/sync/ops
|
|
263
263
|
".github/skills/prototype-scan/SKILL.md",
|
|
264
264
|
".github/skills/api-contract/SKILL.md",
|
|
265
265
|
".github/skills/page-codegen/SKILL.md",
|
|
@@ -275,34 +275,42 @@ const LEGACY_PATHS = [
|
|
|
275
275
|
".github/skills/menu-sync/SKILL.md",
|
|
276
276
|
".github/skills/menu-sync/env/env.local.json",
|
|
277
277
|
".github/skills/menu-sync/env/guide.md",
|
|
278
|
-
".github/skills/convention-extract/SKILL.md",
|
|
279
|
-
// docs/ 废弃文件:内容已迁移至 guides/ 或 reports/(v2.0)
|
|
278
|
+
".github/skills/convention-extract/SKILL.md",
|
|
280
279
|
".github/docs/menu-sync-design.md",
|
|
281
280
|
".github/docs/use-skill.md",
|
|
282
281
|
".github/docs/wl-skills-kit.md",
|
|
283
|
-
".github/docs/SYS_MENU_INFO.md",
|
|
284
|
-
// _compat/ 旧说明文件(v2.0 → v2.1 重构为可执行配置层)
|
|
282
|
+
".github/docs/SYS_MENU_INFO.md",
|
|
285
283
|
".github/skills/_compat/ai-model-matrix.md",
|
|
286
284
|
".github/skills/_compat/editor-setup.md",
|
|
287
285
|
];
|
|
288
286
|
|
|
287
|
+
// ─── v2.11 迁移:.github/ → .wl-skills/ 目录重构 ────────────────────────────
|
|
288
|
+
// update 时自动检测旧目录结构并清理
|
|
289
|
+
const LEGACY_DIR_PREFIXES = [
|
|
290
|
+
".github/skills/",
|
|
291
|
+
".github/standards/",
|
|
292
|
+
".github/guides/",
|
|
293
|
+
".github/reports/",
|
|
294
|
+
];
|
|
295
|
+
|
|
289
296
|
// ─── 编辑器配置生成(从 _compat/editors.json 读取,特化 frontmatter 注入)─────
|
|
290
297
|
|
|
291
298
|
const AUTO_HEADER_NOTE =
|
|
292
|
-
"<!-- 由 @agile-team/wl-skills-kit
|
|
299
|
+
"<!-- 由 @agile-team/wl-skills-kit 自动生成。薄壳入口 → .wl-skills/copilot-instructions-full.md -->\n" +
|
|
293
300
|
"<!-- 请勿手动编辑本文件,更新时重新执行:npx @agile-team/wl-skills-kit@latest update -->\n\n";
|
|
294
301
|
|
|
295
302
|
function getEditorConfigs(raw) {
|
|
303
|
+
// v2.11+: _compat 目录已迁移到 .wl-skills/skills/_compat/
|
|
296
304
|
const editorsJsonPath = path.join(
|
|
297
305
|
FILES_DIR,
|
|
298
|
-
".
|
|
306
|
+
".wl-skills",
|
|
299
307
|
"skills",
|
|
300
308
|
"_compat",
|
|
301
309
|
"editors.json",
|
|
302
310
|
);
|
|
303
311
|
const headersDir = path.join(
|
|
304
312
|
FILES_DIR,
|
|
305
|
-
".
|
|
313
|
+
".wl-skills",
|
|
306
314
|
"skills",
|
|
307
315
|
"_compat",
|
|
308
316
|
"headers",
|
|
@@ -477,6 +485,8 @@ function runInstall(incremental) {
|
|
|
477
485
|
if (incremental) {
|
|
478
486
|
let migrated = 0;
|
|
479
487
|
if (dryRun) console.log("\n [Step 3] 旧版遗留文件检查(迁移清理):\n");
|
|
488
|
+
|
|
489
|
+
// v2.1 旧版单文件清理
|
|
480
490
|
for (const legacyRel of LEGACY_PATHS) {
|
|
481
491
|
const legacyFull = path.join(TARGET_DIR, legacyRel);
|
|
482
492
|
if (fs.existsSync(legacyFull)) {
|
|
@@ -488,6 +498,28 @@ function runInstall(incremental) {
|
|
|
488
498
|
migrated++;
|
|
489
499
|
}
|
|
490
500
|
}
|
|
501
|
+
|
|
502
|
+
// v2.11 目录重构迁移:.github/skills|standards|guides|reports/ → .wl-skills/
|
|
503
|
+
for (const prefix of LEGACY_DIR_PREFIXES) {
|
|
504
|
+
const legacyDir = path.join(TARGET_DIR, prefix);
|
|
505
|
+
if (fs.existsSync(legacyDir)) {
|
|
506
|
+
const legacyFiles = walkDir(legacyDir, legacyDir);
|
|
507
|
+
for (const f of legacyFiles) {
|
|
508
|
+
const legacyFile = path.join(legacyDir, f);
|
|
509
|
+
if (dryRun) {
|
|
510
|
+
console.log(" 迁移清理 " + prefix + f + " (v2.11 目录重构)");
|
|
511
|
+
} else {
|
|
512
|
+
removeFileAndEmptyParents(legacyFile);
|
|
513
|
+
}
|
|
514
|
+
migrated++;
|
|
515
|
+
}
|
|
516
|
+
// 删除空目录
|
|
517
|
+
if (!dryRun && fs.existsSync(legacyDir)) {
|
|
518
|
+
try { fs.rmSync(legacyDir, { recursive: true, force: true }); } catch {}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
|
|
491
523
|
if (!dryRun && migrated > 0) {
|
|
492
524
|
console.log(
|
|
493
525
|
" 迁移: " +
|
|
@@ -713,12 +745,12 @@ function runClean() {
|
|
|
713
745
|
const allFiles = Object.keys(manifest.files);
|
|
714
746
|
const toRemove = allFiles.filter((f) => {
|
|
715
747
|
if (isProtected(f)) return false;
|
|
716
|
-
if (keepReports && f.startsWith(".github/reports/")) return false;
|
|
748
|
+
if (keepReports && (f.startsWith(".wl-skills/reports/") || f.startsWith(".github/reports/"))) return false;
|
|
717
749
|
return true;
|
|
718
750
|
});
|
|
719
751
|
const toKeep = allFiles.filter((f) => {
|
|
720
752
|
if (isProtected(f)) return true;
|
|
721
|
-
if (keepReports && f.startsWith(".github/reports/")) return true;
|
|
753
|
+
if (keepReports && (f.startsWith(".wl-skills/reports/") || f.startsWith(".github/reports/"))) return true;
|
|
722
754
|
return false;
|
|
723
755
|
});
|
|
724
756
|
|
|
@@ -754,7 +786,7 @@ function runClean() {
|
|
|
754
786
|
console.log(
|
|
755
787
|
" 保留: " +
|
|
756
788
|
toKeep.length +
|
|
757
|
-
" 个文件(src/components/ + src/types/ + .
|
|
789
|
+
" 个文件(src/components/ + src/types/ + .wl-skills/reports/)",
|
|
758
790
|
);
|
|
759
791
|
} else {
|
|
760
792
|
console.log(
|
|
@@ -773,6 +805,7 @@ function expectedManifestFiles() {
|
|
|
773
805
|
for (const relPath of files) {
|
|
774
806
|
expected[relPath] = fileMd5(path.join(FILES_DIR, relPath));
|
|
775
807
|
}
|
|
808
|
+
// v2.11+: copilot-instructions.md 是薄壳入口,完整地图在 .wl-skills/
|
|
776
809
|
const instructionsSrc = path.join(
|
|
777
810
|
FILES_DIR,
|
|
778
811
|
".github",
|