@captain_z/zsk 1.4.2 → 1.5.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.
Files changed (67) hide show
  1. package/README.md +23 -11
  2. package/dist/bin.js +174 -1
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/add-flow.js +3 -8
  5. package/dist/commands/add-flow.js.map +1 -1
  6. package/dist/commands/add.d.ts +1 -0
  7. package/dist/commands/add.js +22 -6
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/check.js +10 -2
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/demo.d.ts +31 -0
  12. package/dist/commands/demo.js +533 -0
  13. package/dist/commands/demo.js.map +1 -0
  14. package/dist/commands/issue.d.ts +8 -0
  15. package/dist/commands/issue.js +170 -6
  16. package/dist/commands/issue.js.map +1 -1
  17. package/dist/commands/module.js +23 -2
  18. package/dist/commands/module.js.map +1 -1
  19. package/dist/commands/project-init.js +6 -2
  20. package/dist/commands/project-init.js.map +1 -1
  21. package/dist/commands/remove.js +1 -1
  22. package/dist/commands/remove.js.map +1 -1
  23. package/dist/core/config.d.ts +14 -0
  24. package/dist/core/config.js.map +1 -1
  25. package/dist/core/installer.d.ts +5 -0
  26. package/dist/core/installer.js +50 -6
  27. package/dist/core/installer.js.map +1 -1
  28. package/dist/core/skills.d.ts +3 -4
  29. package/dist/core/skills.js +34 -43
  30. package/dist/core/skills.js.map +1 -1
  31. package/dist/core/targets.js +1 -1
  32. package/dist/core/targets.js.map +1 -1
  33. package/package.json +2 -2
  34. package/schemas/module.schema.json +1 -1
  35. package/schemas/zsk-config.schema.json +122 -2
  36. package/templates/issue/default/issue.md +35 -2
  37. package/templates/module/frontend-module/acceptance.md +18 -0
  38. package/templates/module/frontend-module/archive.md +17 -0
  39. package/templates/module/frontend-module/commit.md +15 -0
  40. package/templates/module/frontend-module/demo-outline.md +59 -0
  41. package/templates/module/frontend-module/demo-report.md +23 -0
  42. package/templates/module/frontend-module/deploy.md +18 -0
  43. package/templates/module/frontend-module/design.md +12 -0
  44. package/templates/module/frontend-module/module.yaml +4 -1
  45. package/templates/module/frontend-module/proposal.md +7 -0
  46. package/templates/module/frontend-module/ready.md +12 -0
  47. package/templates/module/frontend-module/review.md +12 -0
  48. package/templates/module/frontend-module/scenarios/index.md +13 -0
  49. package/templates/module/frontend-module/scenarios/p0-happy-path.spec.ts +13 -0
  50. package/templates/module/frontend-module/smoke.md +21 -0
  51. package/templates/module/frontend-module/spec.md +14 -0
  52. package/templates/module/frontend-module/tasks.md +13 -0
  53. package/templates/module/frontend-module/verify.md +12 -0
  54. package/templates/project-init/.issues/README.md +17 -1
  55. package/templates/project-init/.issues/_taxonomy.md +35 -0
  56. package/templates/project-init/.issues/index.md +7 -0
  57. package/templates/project-init/.raws/README.md +2 -1
  58. package/templates/project-init/.raws/backend-repositories/index.md +12 -0
  59. package/templates/project-init/.raws/index.md +3 -0
  60. package/templates/project-init/.raws/issues/index.md +4 -0
  61. package/templates/project-init/.zsk/checkpoints/index.md +4 -0
  62. package/templates/project-init/.zsk/config.yaml +56 -1
  63. package/templates/project-init/.zsk/learning/index.md +14 -0
  64. package/templates/project-init/.zsk/learning/proposals/.gitkeep +1 -0
  65. package/templates/project-init/.zsk/resource-manifest.json +55 -0
  66. package/templates/project-init/.zsk/workflow-state.json +6 -0
  67. package/templates/project-init/project-config.md +154 -0
package/README.md CHANGED
@@ -8,6 +8,7 @@ ZNorth Standard Kit CLI — `npx zsk` 一个命令装 / 刷新 / 移除一套 sk
8
8
  # 装(默认命令):向导自适应新装 / 刷新 / 追加
9
9
  npx @captain_z/zsk # 等同 `zsk add`
10
10
  npx @captain_z/zsk add
11
+ npx @captain_z/zsk install # add 的别名;更贴近 npm/CI 语义
11
12
 
12
13
  # 移除
13
14
  npx @captain_z/zsk remove
@@ -22,6 +23,7 @@ npx @captain_z/zsk config setup
22
23
  npx @captain_z/zsk config check
23
24
  npx @captain_z/zsk module init -m <module-id>
24
25
  npx @captain_z/zsk issue create -m <module-id>
26
+ npx @captain_z/zsk issue update -m <module-id> --id BUG-0001-api-gap --status Verified
25
27
  npx @captain_z/zsk prep
26
28
  npx @captain_z/zsk check
27
29
  ```
@@ -31,13 +33,15 @@ npx @captain_z/zsk check
31
33
  | 命令 | 作用 | 默认 UX |
32
34
  | --- | --- | --- |
33
35
  | `add [<pattern>...]` | 装 / 刷新 / 追加。target 空 → 新装;有 manifest → 自动进刷新岔路 | 自适应 clack 向导,两级多选 |
36
+ | `install [<pattern>...]` | `add` 的别名;支持同样的 target、bundle、format 和冲突策略 | 非交互 / CI 更直观 |
34
37
  | `remove [<pattern>...]` \| `rm` | 从有 `zsk-manifest.json` 的目录移除;手改文件自动备份 | 多选 + 强确认 |
35
38
  | `list [--bundle=<n>] [--json]` | 浏览 bundle / skill 清单 | 非交互 |
36
- | `init` | 脚手架 `.zsk/config.yaml` + `.raws/index.md` + `.raws/manifest.json` + `.raws/` 分类快照目录 + `docs/` + `.issues/` | 非破坏性,默认跳过已存在文件 |
39
+ | `init` | 脚手架 `.zsk/config.yaml` + `project-config.md` + `.raws/index.md` + `.raws/manifest.json` + `.raws/` 分类快照目录 + `docs/` + `.issues/` | 非破坏性,默认跳过已存在文件 |
37
40
  | `config setup` | 指导 AI/人工填写 SRS、PRD、Figma、API、测试用例等资源来源 | 非交互提示 |
38
41
  | `config check` | 校验 `.zsk/config.yaml` 与 `docs/{module}/module.yaml` | 非交互 |
39
42
  | `module init -m <id>` | 从 package 模板生成 `docs/{module}` | 非交互 |
40
- | `issue create -m <id>` | 从 package 模板生成 issue 目录、`issue.md`、`assets/index.md`、`debug-logs/index.md` | 非交互 |
43
+ | `issue create -m <id>` | 从 package 模板生成 issue 目录、`issue.md`、`assets/index.md`、`debug-logs/index.md`,并刷新模块/全局索引 | 非交互 |
44
+ | `issue update -m <id> --id <issue-dir> --status <s>` | 更新具体 issue 状态,并刷新 `.issues/{module}/index.md` 与 `.issues/index.md` | 非交互 |
41
45
  | `prep` | 根据配置记录 `.raws/manifest.json`,为 AI skills 准备上下文 | 非交互 |
42
46
  | `check` | 校验配置、测试资产映射、docs 证据边界、Documentation Feedback 记录 | 非交互 |
43
47
  | `doctor` / `lint` | 校验(Phase 4 实现) | stub |
@@ -54,18 +58,20 @@ zsk check
54
58
  职责边界:
55
59
 
56
60
  - ZSK CLI:初始化模板、JSON Schema 配置提示、确定性路径和结构校验。
57
- - AI skills:资源理解、模块识别、Figma/MCP 获取、Computer Use / Browser Use 验证、冲突分析、issue 编写。
61
+ - AI skills:`zsk:prepare` 负责资源理解、模块识别、Figma/MCP 获取、Playwright CLI 优先验证、必要时 Browser Use / Computer Use、冲突分析、issue 编写;harness 负责每个 skill 的 I/O、工具/能力、脚本策略、完成产物、issue 索引同步和确认后的文档反哺。
58
62
 
59
63
  生成结构:
60
64
 
61
65
  ```text
62
66
  .zsk/
63
67
  └── config.yaml
68
+ project-config.md
64
69
  .raws/
65
70
  ├── index.md
66
71
  ├── manifest.json
67
72
  ├── requirements/index.md
68
73
  ├── api-contracts/index.md
74
+ ├── backend-repositories/index.md
69
75
  ├── design-sources/index.md
70
76
  ├── design-assets/index.md
71
77
  └── testing/index.md
@@ -73,7 +79,9 @@ docs/
73
79
  ├── SYSTEM-SPEC.md
74
80
  └── _module-index.md
75
81
  .issues/
76
- └── README.md
82
+ ├── README.md
83
+ ├── index.md
84
+ └── {module}/index.md
77
85
  ```
78
86
 
79
87
  Schemas 随 npm package 发布。`zsk init` / `zsk module init` 会用当前运行的 CLI 版本写入 versioned unpkg URL 作为编辑器补全提示;项目本地 `.zsk/schemas` 不参与校验。
@@ -86,7 +94,7 @@ Schemas 随 npm package 发布。`zsk init` / `zsk module init` 会用当前运
86
94
 
87
95
  测试用例是一等资产:原始 QA/验收/发布测试用例可以是线上资源或本地文件,也可以快照到 `{paths.raws}`;模块派生场景和自动化映射放 `docs/{module}/` 的 `module.yaml` 和测试说明。AI coding 必须先从这些测试资产写或更新测试,再实现。
88
96
 
89
- 每个阶段必须做 Documentation Feedback:把对话中确认的决策、约束、例外和验证结果反哺到 `docs/SYSTEM-SPEC.md`、模块 docs 或配置的 issue 根,否则阶段不算完成。
97
+ 每个 skill/stage 完成后必须满足 harness completion contract:产物写到项目模板路径,完成声明链接 evidence,actionable issue 写入配置的 issue 根并刷新模块/全局索引。确认解决后,再把未覆盖或描述不足的行为反哺到 `docs/SYSTEM-SPEC.md`、模块 spec/design/tasks 或记录 no-update rationale。
90
98
 
91
99
  ## `zsk add` 向导分支
92
100
 
@@ -107,7 +115,7 @@ target-first → 预检 manifest
107
115
  | Flag | 作用 |
108
116
  | --- | --- |
109
117
  | `--target <path>` | 目标目录(支持 `~` / 绝对 / 相对);非 TTY 必填 |
110
- | `--skill <pattern>` | skill 过滤器,可重复;`'*'` = 全部,支持 glob(`zsk:a11y-*`) |
118
+ | `--skill <pattern>` | skill 过滤器,可重复;`'*'` = 全部,支持 glob(`zsk:*mok*`) |
111
119
  | `--command <pattern>` / `--agent <pattern>` / `--hook <pattern>` / `--mcp-server <pattern>` / `--prompt <pattern>` | 其他能力类型(语法就位,MVP 空集) |
112
120
  | `--yes` | 跳过所有 confirm;非 TTY 必填 |
113
121
 
@@ -118,6 +126,7 @@ target-first → 预检 manifest
118
126
  | `[<pattern>...]` 位置参 | bundle 名(跳套件选择)/ `zsk:<slug>` / glob(跳两屏) |
119
127
  | `--on-conflict <mode>` | `skip` / `overwrite` / `backup`(默认 `backup`) |
120
128
  | `--dry-run` | 打印计划,不落盘 |
129
+ | `--format <layout>` | `flat`(默认)或 `claude-plugin`;plugin 模式生成 `.claude-plugin/plugin.json`、`commands/` 和 `skills/` |
121
130
 
122
131
  ### flag 预填对应步骤
123
132
 
@@ -143,11 +152,14 @@ npx @captain_z/zsk add sdlc-only --target=~/.claude/skills --on-conflict=backup
143
152
  # CI:全量刷新
144
153
  npx @captain_z/zsk add --skill='*' --target=~/.claude/skills --on-conflict=backup --yes
145
154
 
146
- # 追加单颗
147
- npx @captain_z/zsk add zsk:a11y-web --target=~/.claude/skills
155
+ # Claude plugin 本地目录(同类结构也可由仓库根 .claude-plugin marketplace 通过 /plugin 安装)
156
+ npx @captain_z/zsk install sdlc-only --target=./.claude-plugin --format=claude-plugin --yes
157
+
158
+ # 追加单颗 core skill
159
+ npx @captain_z/zsk add zsk:smoke --target=~/.claude/skills
148
160
 
149
161
  # glob 装一组
150
- npx @captain_z/zsk add 'zsk:a11y-*' --target=~/.claude/skills
162
+ npx @captain_z/zsk add 'zsk:*mok*' --target=~/.claude/skills
151
163
 
152
164
  # 预览
153
165
  npx @captain_z/zsk add frontend-project --target=~/.claude/skills --dry-run
@@ -156,10 +168,10 @@ npx @captain_z/zsk add frontend-project --target=~/.claude/skills --dry-run
156
168
  npx @captain_z/zsk add --target=~/.claude/skills --yes
157
169
 
158
170
  # 移除两颗
159
- npx @captain_z/zsk remove --target=~/.claude/skills --skill='zsk:i18n' --skill='zsk:typescript' --yes
171
+ npx @captain_z/zsk remove --target=~/.claude/skills --skill='zsk:smoke' --skill='zsk:defect' --yes
160
172
 
161
173
  # 按 glob 移除
162
- npx @captain_z/zsk remove --target=~/.claude/skills 'zsk:react-*'
174
+ npx @captain_z/zsk remove --target=~/.claude/skills 'zsk:*mok*'
163
175
  ```
164
176
 
165
177
  ## `zsk-manifest.json` 契约
package/dist/bin.js CHANGED
@@ -39,6 +39,36 @@ program
39
39
  "backup",
40
40
  ]))
41
41
  .option("--dry-run", "preview without writing")
42
+ .addOption(new Option("--format <layout>", "flat | claude-plugin").choices([
43
+ "flat",
44
+ "claude-plugin",
45
+ ]))
46
+ .option("--skill <pattern>", "skill filter (repeatable; '*' for all, supports glob)", collect)
47
+ .option("--command <pattern>", "command filter (repeatable)", collect)
48
+ .option("--agent <pattern>", "agent filter (repeatable)", collect)
49
+ .option("--hook <pattern>", "hook filter (repeatable)", collect)
50
+ .option("--mcp-server <pattern>", "mcp server filter (repeatable)", collect)
51
+ .option("--prompt <pattern>", "prompt filter (repeatable)", collect)
52
+ .action(async (patterns, opts) => {
53
+ const { run } = await import("./commands/add.js");
54
+ await run(patterns, opts, VERSION);
55
+ });
56
+ program
57
+ .command("install")
58
+ .description("alias for add; install / refresh / append skills")
59
+ .argument("[pattern...]", "bundle name, zsk:<slug>, or glob")
60
+ .option("--target <path>", "install target directory")
61
+ .option("--yes", "non-interactive; defaults to refresh when already installed")
62
+ .addOption(new Option("--on-conflict <mode>", "skip | overwrite | backup").choices([
63
+ "skip",
64
+ "overwrite",
65
+ "backup",
66
+ ]))
67
+ .option("--dry-run", "preview without writing")
68
+ .addOption(new Option("--format <layout>", "flat | claude-plugin").choices([
69
+ "flat",
70
+ "claude-plugin",
71
+ ]))
42
72
  .option("--skill <pattern>", "skill filter (repeatable; '*' for all, supports glob)", collect)
43
73
  .option("--command <pattern>", "command filter (repeatable)", collect)
44
74
  .option("--agent <pattern>", "agent filter (repeatable)", collect)
@@ -120,7 +150,7 @@ issueCommand
120
150
  .description("create an issue folder from packaged templates")
121
151
  .requiredOption("-m, --module <id>", "module id")
122
152
  .option("--title <title>", "issue title used for the directory slug")
123
- .option("--type <type>", "issue type", "bug")
153
+ .option("--type <type>", "issue type: bug, demo, smoke, review, defect, verify, acceptance", "bug")
124
154
  .option("--severity <severity>", "issue severity", "P1")
125
155
  .option("--target <path>", "project directory (default: cwd)")
126
156
  .option("--overwrite", "overwrite existing files")
@@ -128,6 +158,19 @@ issueCommand
128
158
  const { create } = await import("./commands/issue.js");
129
159
  await create(opts);
130
160
  });
161
+ issueCommand
162
+ .command("update")
163
+ .description("update an issue status and refresh module/global issue indexes")
164
+ .requiredOption("-m, --module <id>", "module id")
165
+ .requiredOption("--id <id>", "issue directory name, for example BUG-0001-api-gap")
166
+ .requiredOption("--status <status>", "issue status, for example Open, Verified, Accepted, Closed")
167
+ .option("--note <note>", "status update note")
168
+ .option("--confirmed-at <date>", "confirmation date or timestamp")
169
+ .option("--target <path>", "project directory (default: cwd)")
170
+ .action(async (opts) => {
171
+ const { update } = await import("./commands/issue.js");
172
+ await update(opts);
173
+ });
131
174
  issueCommand
132
175
  .command("list")
133
176
  .description("list module issues")
@@ -137,6 +180,136 @@ issueCommand
137
180
  const { list } = await import("./commands/issue.js");
138
181
  await list(opts);
139
182
  });
183
+ const demoCommand = program
184
+ .command("demo")
185
+ .description("manage interruptible development demo sessions and evidence");
186
+ demoCommand
187
+ .command("start")
188
+ .description("start a module demo session")
189
+ .requiredOption("-m, --module <id>", "module id")
190
+ .option("--target <path>", "project directory (default: cwd)")
191
+ .option("--note <note>", "session note")
192
+ .action(async (opts) => {
193
+ const { start } = await import("./commands/demo.js");
194
+ await start(opts);
195
+ });
196
+ demoCommand
197
+ .command("pause")
198
+ .description("pause a module demo session and persist the cursor")
199
+ .requiredOption("-m, --module <id>", "module id")
200
+ .option("--target <path>", "project directory (default: cwd)")
201
+ .option("--note <note>", "pause reason")
202
+ .action(async (opts) => {
203
+ const { pause } = await import("./commands/demo.js");
204
+ await pause(opts);
205
+ });
206
+ demoCommand
207
+ .command("resume")
208
+ .description("resume a paused module demo session")
209
+ .requiredOption("-m, --module <id>", "module id")
210
+ .option("--target <path>", "project directory (default: cwd)")
211
+ .option("--note <note>", "resume note")
212
+ .action(async (opts) => {
213
+ const { resume } = await import("./commands/demo.js");
214
+ await resume(opts);
215
+ });
216
+ demoCommand
217
+ .command("terminate")
218
+ .description("terminate a demo session without marking the module ready for test")
219
+ .requiredOption("-m, --module <id>", "module id")
220
+ .option("--target <path>", "project directory (default: cwd)")
221
+ .option("--note <note>", "termination reason")
222
+ .action(async (opts) => {
223
+ const { terminate } = await import("./commands/demo.js");
224
+ await terminate(opts);
225
+ });
226
+ demoCommand
227
+ .command("complete")
228
+ .description("complete a demo session and update workflow state")
229
+ .requiredOption("-m, --module <id>", "module id")
230
+ .option("--target <path>", "project directory (default: cwd)")
231
+ .option("--note <note>", "completion note")
232
+ .action(async (opts) => {
233
+ const { complete } = await import("./commands/demo.js");
234
+ await complete(opts);
235
+ });
236
+ demoCommand
237
+ .command("run")
238
+ .description("prepare a scripted, Playwright, Browser Use, Computer Use, or hybrid demo run")
239
+ .requiredOption("-m, --module <id>", "module id")
240
+ .option("--target <path>", "project directory (default: cwd)")
241
+ .option("--playwright", "use Playwright automation lane")
242
+ .option("--computer-use", "use explicit Computer Use visual/system fallback; combine with --playwright for hybrid bridge")
243
+ .option("--hybrid", "use the configured decision tool, then Playwright for execution/recording")
244
+ .option("--note <note>", "run note")
245
+ .action(async (opts) => {
246
+ const { run } = await import("./commands/demo.js");
247
+ await run(opts);
248
+ });
249
+ demoCommand
250
+ .command("capture")
251
+ .description("record a demo evidence capture placeholder")
252
+ .requiredOption("-m, --module <id>", "module id")
253
+ .option("--target <path>", "project directory (default: cwd)")
254
+ .option("--note <note>", "capture note")
255
+ .action(async (opts) => {
256
+ const { capture } = await import("./commands/demo.js");
257
+ await capture(opts);
258
+ });
259
+ const demoScenarioCommand = demoCommand
260
+ .command("scenario")
261
+ .description("manage reusable demo scenarios");
262
+ demoCommand
263
+ .command("mcp-config")
264
+ .description("print or write Playwright MCP server configuration")
265
+ .option("--target <path>", "project directory (default: cwd)")
266
+ .option("--write", "write to .zsk/mcp/playwright.json")
267
+ .action(async (opts) => {
268
+ const { mcpConfig } = await import("./commands/demo.js");
269
+ await mcpConfig(opts);
270
+ });
271
+ demoScenarioCommand
272
+ .command("list")
273
+ .description("show the configured scenario directory")
274
+ .requiredOption("-m, --module <id>", "module id")
275
+ .option("--target <path>", "project directory (default: cwd)")
276
+ .action(async (opts) => {
277
+ const { scenarioList } = await import("./commands/demo.js");
278
+ await scenarioList(opts);
279
+ });
280
+ demoScenarioCommand
281
+ .command("record")
282
+ .description("record a scenario placeholder from demo observations")
283
+ .requiredOption("-m, --module <id>", "module id")
284
+ .option("--target <path>", "project directory (default: cwd)")
285
+ .option("--note <note>", "scenario note")
286
+ .action(async (opts) => {
287
+ const { scenarioRecord } = await import("./commands/demo.js");
288
+ await scenarioRecord(opts);
289
+ });
290
+ demoScenarioCommand
291
+ .command("promote")
292
+ .description("promote the current demo session into a reusable scenario")
293
+ .requiredOption("-m, --module <id>", "module id")
294
+ .option("--target <path>", "project directory (default: cwd)")
295
+ .option("--note <note>", "promotion note")
296
+ .action(async (opts) => {
297
+ const { scenarioPromote } = await import("./commands/demo.js");
298
+ await scenarioPromote(opts);
299
+ });
300
+ demoScenarioCommand
301
+ .command("generate")
302
+ .description("generate a Playwright scenario skeleton from test cases, structured page info, and Browser Use handoffs")
303
+ .requiredOption("-m, --module <id>", "module id")
304
+ .option("--target <path>", "project directory (default: cwd)")
305
+ .option("--test-case <path>", "project-relative test case file")
306
+ .option("--snapshot <path>", "project-relative Playwright MCP aria/accessibility snapshot file")
307
+ .option("--name <name>", "scenario/test name")
308
+ .option("--note <note>", "generation note")
309
+ .action(async (opts) => {
310
+ const { scenarioGenerate } = await import("./commands/demo.js");
311
+ await scenarioGenerate(opts);
312
+ });
140
313
  program
141
314
  .command("prep")
142
315
  .description("prepare project context from .zsk/config.yaml and update raw manifest")
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ function buildBundleSummary(skills) {
63
63
  export function buildSkillMultiselectOptions(groups) {
64
64
  const seen = new Set();
65
65
  const options = [];
66
- for (const [domain, skills] of Object.entries(groups)) {
66
+ for (const [groupName, skills] of Object.entries(groups)) {
67
67
  for (const skill of skills) {
68
68
  if (seen.has(skill.value))
69
69
  continue;
@@ -71,7 +71,7 @@ export function buildSkillMultiselectOptions(groups) {
71
71
  options.push({
72
72
  value: skill.value,
73
73
  label: skill.label,
74
- hint: domain,
74
+ hint: groupName,
75
75
  });
76
76
  }
77
77
  }
@@ -104,12 +104,7 @@ export function resolveGroupedSkillChoices(choices, groups) {
104
104
  }
105
105
  function formatSkillGroupLabel(groupName) {
106
106
  const labels = {
107
- sdlc: "SDLC 流程",
108
- frontend: "Web 前端",
109
- quality: "质量与安全",
110
- "design-handoff": "设计交付",
111
- system: "系统文档",
112
- meta: "元说明",
107
+ core: "Core 工作流",
113
108
  missing: "未分类",
114
109
  };
115
110
  return labels[groupName] ?? groupName;
@@ -1 +1 @@
1
- {"version":3,"file":"add-flow.js","sourceRoot":"","sources":["../../src/commands/add-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-flow.js","sourceRoot":"","sources":["../../src/commands/add-flow.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export type AddOptions = {
2
2
  target?: string;
3
3
  yes?: boolean;
4
4
  onConflict?: string;
5
+ format?: string;
5
6
  dryRun?: boolean;
6
7
  skill?: string[];
7
8
  command?: string[];
@@ -7,12 +7,12 @@
7
7
  // - Writes zsk-manifest.json on success so future runs can branch correctly.
8
8
  import pc from "picocolors";
9
9
  import { readFile, access } from "node:fs/promises";
10
- import { join } from "node:path";
10
+ import { basename, join } from "node:path";
11
11
  import { intro, outro, select, multiselect, cascadingGroupMultiselect, text, log, spinner, note, } from "../ui/prompts.js";
12
12
  import { loadBundles } from "../core/bundles.js";
13
13
  import { enumerateSkills, loadSkill, DOMAINS, } from "../core/skills.js";
14
14
  import { TARGET_OPTIONS, resolvePath, } from "../core/targets.js";
15
- import { install } from "../core/installer.js";
15
+ import { install, skillRelPath } from "../core/installer.js";
16
16
  import { fileExists } from "../core/scaffolder.js";
17
17
  import { readManifest, writeManifest, buildManifest, detectDrift, sha256File, } from "../core/manifest.js";
18
18
  import { expandCapabilityFilters, classifyPattern, hasCapabilityFilter, } from "../core/capabilities.js";
@@ -98,6 +98,7 @@ export async function run(positional, opts, zskVersion) {
98
98
  mode,
99
99
  skills: await askRefreshScope(explicitManifest, drift, opts),
100
100
  bundle: explicitManifest.bundle,
101
+ layout: inferInstallLayout(explicitTargetPath, opts),
101
102
  };
102
103
  }
103
104
  else {
@@ -113,6 +114,7 @@ export async function run(positional, opts, zskVersion) {
113
114
  mode,
114
115
  skills: picked.skills,
115
116
  bundle: picked.bundle ?? explicitManifest.bundle,
117
+ layout: inferInstallLayout(explicitTargetPath, opts),
116
118
  };
117
119
  }
118
120
  }
@@ -147,6 +149,7 @@ export async function run(positional, opts, zskVersion) {
147
149
  mode,
148
150
  skills: await askRefreshScope(manifest, drift, opts),
149
151
  bundle: manifest.bundle,
152
+ layout: inferInstallLayout(targetPath, opts),
150
153
  };
151
154
  }
152
155
  else {
@@ -156,6 +159,7 @@ export async function run(positional, opts, zskVersion) {
156
159
  mode,
157
160
  skills: picked.skills,
158
161
  bundle: manifest ? picked.bundle ?? manifest.bundle : picked.bundle,
162
+ layout: inferInstallLayout(targetPath, opts),
159
163
  };
160
164
  }
161
165
  }
@@ -167,7 +171,7 @@ export async function run(positional, opts, zskVersion) {
167
171
  note([
168
172
  `[dry-run] 将处理 1 个安装位置`,
169
173
  "",
170
- `${pc.cyan(plan.targetPath)} · ${plan.mode} · ${plan.skills.length} 个 skill`,
174
+ `${pc.cyan(plan.targetPath)} · ${plan.mode} · ${plan.layout} · ${plan.skills.length} 个 skill`,
171
175
  ...plan.skills.map((name) => ` + ${name}`),
172
176
  ].join("\n"), "预览");
173
177
  outro("完成 (dry-run)");
@@ -181,6 +185,8 @@ export async function run(positional, opts, zskVersion) {
181
185
  result = await install({
182
186
  skills: plan.skills,
183
187
  target: plan.targetPath,
188
+ layout: plan.layout,
189
+ zskVersion,
184
190
  onConflict,
185
191
  dryRun: false,
186
192
  });
@@ -191,7 +197,7 @@ export async function run(positional, opts, zskVersion) {
191
197
  throw err;
192
198
  }
193
199
  // Step 6 — update manifest (merge with existing for append mode)
194
- const records = await buildRecords(plan.skills, plan.targetPath, zskVersion);
200
+ const records = await buildRecords(plan.skills, plan.targetPath, plan.layout, zskVersion);
195
201
  const mergedSkills = mergeSkillRecords(plan.mode === "append" ? plan.manifest?.skills ?? [] : [], records);
196
202
  await writeManifest(plan.targetPath, buildManifest({
197
203
  zskVersion,
@@ -421,12 +427,12 @@ async function askConflict(opts, mode) {
421
427
  function isConflictMode(v) {
422
428
  return v === "skip" || v === "overwrite" || v === "backup";
423
429
  }
424
- async function buildRecords(skillNames, targetPath, zskVersion) {
430
+ async function buildRecords(skillNames, targetPath, layout, zskVersion) {
425
431
  const out = [];
426
432
  for (const name of skillNames) {
427
433
  try {
428
434
  const skill = await loadSkill(name);
429
- const relPath = `zsk-${skill.slug}/SKILL.md`;
435
+ const relPath = skillRelPath(skill, layout);
430
436
  const buf = await readFile(join(targetPath, relPath));
431
437
  out.push({
432
438
  name,
@@ -441,6 +447,16 @@ async function buildRecords(skillNames, targetPath, zskVersion) {
441
447
  }
442
448
  return out;
443
449
  }
450
+ function inferInstallLayout(targetPath, opts) {
451
+ if (opts.format === "claude-plugin")
452
+ return "claude-plugin";
453
+ if (opts.format === "flat")
454
+ return "flat";
455
+ const base = basename(targetPath);
456
+ return base === ".claude-plugin" || base === "claude-plugin"
457
+ ? "claude-plugin"
458
+ : "flat";
459
+ }
444
460
  function mergeSkillRecords(existing, fresh) {
445
461
  const map = new Map();
446
462
  for (const e of existing)