@agile-team/wl-skills-kit 2.1.0 → 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 CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.1.1] - 2026-04-26
4
+
5
+ ### 🔧 修复与迁移增强
6
+
7
+ #### bin 字段修复
8
+ - `package.json` 新增 `"main": "./bin/wl-skills.js"` —— 修复 npm v9+ 发布时 bin 条目被剔除导致 `npx` 无法找到入口的问题
9
+ - bin 命令从 `wl-skills-kit` 重命名为 `wl-skills`(避免与包名重复触发 npm 校验警告;全局安装后可直接用 `wl-skills update`)
10
+
11
+ #### 旧版用户升级支持
12
+ - `bin/wl-skills.js` 新增 `LEGACY_PATHS` 迁移清理机制:
13
+ - `update` 时自动检测并移除 v1.x/v2.0 遗留文件(旧 flat 结构 Skill 路径、废弃 `docs/` 文件等)
14
+ - 共 24 个旧版路径纳入清理名单,避免新旧结构并存产生 AI 调度歧义
15
+ - 输出 "迁移: N 个旧版文件已移除" 统计信息
16
+ - README 新增"从早期版本升级"章节(含 `env.local.json` 迁移注意事项)
17
+
18
+ ---
19
+
3
20
  ## [2.1.0] - 2026-04-26
4
21
 
5
22
  ### 🎯 多 AI 编辑器适配解耦 + 文档体系完善
package/README.md CHANGED
@@ -163,6 +163,26 @@ npx @agile-team/wl-skills-kit clean --keep-reports
163
163
  npx @agile-team/wl-skills-kit update --dry-run
164
164
  ```
165
165
 
166
+ > 全局安装后也可直接用 `wl-skills` 命令(如 `wl-skills update`)。
167
+
168
+ ---
169
+
170
+ ## 从早期版本升级
171
+
172
+ > **适用场景**:已安装 v1.x 或 v2.0 的业务项目,希望升级到当前版本。
173
+
174
+ ```bash
175
+ # 执行增量更新即可
176
+ npx @agile-team/wl-skills-kit update
177
+ ```
178
+
179
+ `update` 命令会自动完成:
180
+ 1. **写入新文件** — 新结构下的所有文件覆盖写入
181
+ 2. **迁移清理** — 检测并移除旧版遗留文件(如 `skills/prototype-scan/`、`docs/menu-sync-design.md` 等),避免新旧路径并存产生歧义
182
+ 3. **保护累积数据** — `reports/*.md` 已存在则跳过,团队累积的菜单/字典数据不丢失
183
+
184
+ > **注意**:如果项目在旧的 `.github/skills/menu-sync/env/env.local.json` 中有自定义配置,`update` 会将其迁移位置(删旧、新路径文件由 `init` 写入默认模板)。**请在 `update` 前备份** 或 `update` 后手动迁移到 `.github/skills/sync/menu-sync/env/env.local.json`。
185
+
166
186
  ---
167
187
 
168
188
  ## Skill 概览
package/bin/wl-skills.js CHANGED
@@ -162,6 +162,36 @@ function isReportFile(relPath) {
162
162
  return relPath.startsWith(".github/reports/") && relPath.endsWith(".md");
163
163
  }
164
164
 
165
+ // ─── 旧版遗留路径(v1.x/v2.0 → v2.1 迁移清理)───────────────────────────
166
+ // update 时自动检测并移除,避免旧结构与新结构并存产生歧义。
167
+ const LEGACY_PATHS = [
168
+ // Skill 目录重组:flat → core/sync/ops 分级(v2.1)
169
+ ".github/skills/prototype-scan/SKILL.md",
170
+ ".github/skills/api-contract/SKILL.md",
171
+ ".github/skills/page-codegen/SKILL.md",
172
+ ".github/skills/page-codegen/TPL-LIST.md",
173
+ ".github/skills/page-codegen/TPL-MASTER-DETAIL.md",
174
+ ".github/skills/page-codegen/TPL-TREE-LIST.md",
175
+ ".github/skills/page-codegen/TPL-DETAIL-TABS.md",
176
+ ".github/skills/page-codegen/TPL-FORM-ROUTE.md",
177
+ ".github/skills/page-codegen/TPL-CHANGE-HISTORY.md",
178
+ ".github/skills/page-codegen/TPL-RECORD-FORM.md",
179
+ ".github/skills/page-codegen/TPL-DRIVEN.md",
180
+ ".github/skills/page-codegen/TPL-OPERATION-STATION.md",
181
+ ".github/skills/menu-sync/SKILL.md",
182
+ ".github/skills/menu-sync/env/env.local.json",
183
+ ".github/skills/menu-sync/env/guide.md",
184
+ ".github/skills/convention-extract/SKILL.md", // 已更名为 convention-audit
185
+ // docs/ 废弃文件:内容已迁移至 guides/ 或 reports/(v2.0)
186
+ ".github/docs/menu-sync-design.md",
187
+ ".github/docs/use-skill.md",
188
+ ".github/docs/wl-skills-kit.md",
189
+ ".github/docs/SYS_MENU_INFO.md", // 已迁移至 reports/
190
+ // _compat/ 旧说明文件(v2.0 → v2.1 重构为可执行配置层)
191
+ ".github/skills/_compat/ai-model-matrix.md",
192
+ ".github/skills/_compat/editor-setup.md",
193
+ ];
194
+
165
195
  // ─── 编辑器配置生成(从 _compat/editors.json 读取,特化 frontmatter 注入)─────
166
196
 
167
197
  const AUTO_HEADER_NOTE =
@@ -311,7 +341,33 @@ function runInstall(incremental) {
311
341
  }
312
342
  }
313
343
 
314
- // ── Step 3: manifest ────────────────────────────────────────────
344
+ // ── Step 3: 迁移清理(仅 update,清理旧版遗留文件)──────────────────
345
+
346
+ if (incremental) {
347
+ let migrated = 0;
348
+ if (dryRun) console.log("\n [Step 3] 旧版遗留文件检查(迁移清理):\n");
349
+ for (const legacyRel of LEGACY_PATHS) {
350
+ const legacyFull = path.join(TARGET_DIR, legacyRel);
351
+ if (fs.existsSync(legacyFull)) {
352
+ if (dryRun) {
353
+ console.log(" 迁移清理 " + legacyRel + " (旧版遗留,将被移除)");
354
+ } else {
355
+ removeFileAndEmptyParents(legacyFull);
356
+ }
357
+ migrated++;
358
+ }
359
+ }
360
+ if (!dryRun && migrated > 0) {
361
+ console.log(
362
+ " 迁移: " + migrated + " 个旧版文件已移除(路径已变更,见 CHANGELOG.md)",
363
+ );
364
+ }
365
+ if (dryRun && migrated === 0) {
366
+ console.log(" (无旧版遗留文件)");
367
+ }
368
+ }
369
+
370
+ // ── Step 4: 写 manifest ────────────────────────────────────────────
315
371
 
316
372
  if (!dryRun) writeManifest(newManifest);
317
373
 
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@agile-team/wl-skills-kit",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "AI Skill 模板包 — 一键导入 AI 指令 + 组件文档 + 通用组件 + 领域样例,覆盖 Copilot/Cursor/Windsurf/Kiro 等主流 AI 编辑器",
5
+ "main": "./bin/wl-skills.js",
5
6
  "bin": {
6
- "wl-skills-kit": "./bin/wl-skills.js"
7
+ "wl-skills": "./bin/wl-skills.js"
7
8
  },
8
9
  "files": [
9
10
  "bin/",