@captain_z/zsk 1.6.1 → 1.8.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 (87) hide show
  1. package/README.md +24 -32
  2. package/dist/bin.js +22 -15
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/check.d.ts +1 -0
  5. package/dist/commands/check.js +209 -12
  6. package/dist/commands/check.js.map +1 -1
  7. package/dist/commands/config.js +1 -1
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/demo.d.ts +1 -0
  10. package/dist/commands/demo.js +341 -36
  11. package/dist/commands/demo.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +4 -0
  13. package/dist/commands/doctor.js +102 -0
  14. package/dist/commands/doctor.js.map +1 -0
  15. package/dist/commands/issue.d.ts +2 -1
  16. package/dist/commands/issue.js +75 -30
  17. package/dist/commands/issue.js.map +1 -1
  18. package/dist/commands/module.js +42 -27
  19. package/dist/commands/module.js.map +1 -1
  20. package/dist/commands/prep.js +100 -6
  21. package/dist/commands/prep.js.map +1 -1
  22. package/dist/commands/project-init.js +63 -11
  23. package/dist/commands/project-init.js.map +1 -1
  24. package/dist/core/config.d.ts +14 -2
  25. package/dist/core/config.js +91 -12
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/raw-manifest.d.ts +10 -0
  28. package/dist/core/raw-manifest.js +48 -1
  29. package/dist/core/raw-manifest.js.map +1 -1
  30. package/dist/core/scaffolder.js +5 -2
  31. package/dist/core/scaffolder.js.map +1 -1
  32. package/dist/core/workspace-layout.d.ts +53 -0
  33. package/dist/core/workspace-layout.js +108 -0
  34. package/dist/core/workspace-layout.js.map +1 -0
  35. package/package.json +2 -2
  36. package/schemas/zsk-config.schema.json +141 -11
  37. package/templates/issue/default/issue.md +9 -5
  38. package/templates/module/frontend-module/design.md +22 -0
  39. package/templates/module/frontend-module/module.yaml +4 -3
  40. package/templates/module/frontend-module/proposal.md +26 -1
  41. package/templates/module/frontend-module/spec.md +13 -0
  42. package/templates/module/frontend-module/tasks.md +15 -2
  43. package/templates/project-init/.zsk/config.yaml +41 -29
  44. package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +62 -0
  45. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +59 -0
  46. package/templates/project-init/.zsk/modules/index.md +7 -0
  47. package/templates/project-init/.zsk/raws/backend/index.md +3 -0
  48. package/templates/project-init/.zsk/raws/index.md +7 -0
  49. package/templates/project-init/.zsk/raws/jira/index.md +3 -0
  50. package/templates/project-init/.zsk/raws/manual/index.md +3 -0
  51. package/templates/project-init/.zsk/raws/product/index.md +3 -0
  52. package/templates/project-init/.zsk/raws/qa/index.md +3 -0
  53. package/templates/project-init/.zsk/raws/ue/index.md +3 -0
  54. package/templates/module/frontend-module/acceptance.md +0 -18
  55. package/templates/module/frontend-module/archive.md +0 -17
  56. package/templates/module/frontend-module/commit.md +0 -15
  57. package/templates/module/frontend-module/demo-outline.md +0 -59
  58. package/templates/module/frontend-module/demo-report.md +0 -23
  59. package/templates/module/frontend-module/deploy.md +0 -18
  60. package/templates/module/frontend-module/ready.md +0 -12
  61. package/templates/module/frontend-module/review.md +0 -12
  62. package/templates/module/frontend-module/scenarios/index.md +0 -21
  63. package/templates/module/frontend-module/scenarios/p0-happy-path.spec.ts +0 -13
  64. package/templates/module/frontend-module/smoke.md +0 -21
  65. package/templates/module/frontend-module/verification.md +0 -6
  66. package/templates/module/frontend-module/verify.md +0 -12
  67. package/templates/project-init/.issues/README.md +0 -57
  68. package/templates/project-init/.issues/_taxonomy.md +0 -35
  69. package/templates/project-init/.issues/index.md +0 -7
  70. package/templates/project-init/.raws/README.md +0 -27
  71. package/templates/project-init/.raws/api-contracts/index.md +0 -22
  72. package/templates/project-init/.raws/backend-repositories/index.md +0 -12
  73. package/templates/project-init/.raws/design-assets/index.md +0 -25
  74. package/templates/project-init/.raws/design-sources/index.md +0 -24
  75. package/templates/project-init/.raws/index.md +0 -56
  76. package/templates/project-init/.raws/issues/index.md +0 -4
  77. package/templates/project-init/.raws/requirements/index.md +0 -23
  78. package/templates/project-init/.raws/testing/index.md +0 -22
  79. package/templates/project-init/.zsk/checkpoints/index.md +0 -4
  80. package/templates/project-init/.zsk/learning/index.md +0 -14
  81. package/templates/project-init/.zsk/learning/proposals/.gitkeep +0 -1
  82. package/templates/project-init/.zsk/resource-manifest.json +0 -55
  83. package/templates/project-init/.zsk/workflow-state.json +0 -6
  84. package/templates/project-init/docs/SYSTEM-SPEC.md +0 -53
  85. package/templates/project-init/docs/_module-index.md +0 -15
  86. package/templates/project-init/project-config.md +0 -154
  87. /package/templates/project-init/{.raws → .zsk/raws}/manifest.json +0 -0
package/README.md CHANGED
@@ -8,8 +8,8 @@ ZNorth Standard Kit CLI — `npx zsk` 一个命令装 / 刷新 / 移除一套 sk
8
8
  | --- | --- | --- |
9
9
  | 给当前 AI 工具安装 core skills | `npx @captain_z/zsk add` | 交互选择 target、bundle、冲突策略 |
10
10
  | 在 CI 或脚本里安装 | `npx @captain_z/zsk add zsk-sdlc --target=<dir> --yes` | 非 TTY 必须显式给 target 和 yes |
11
- | 初始化业务项目知识工作区 | `npx @captain_z/zsk init` | 创建 `.zsk/`、`.raws/`、`docs/`、`.issues/` |
12
- | 检查知识工作区 | `npx @captain_z/zsk check` | 校验配置、测试资产、证据边界和 Documentation Feedback |
11
+ | 初始化业务项目知识工作区 | `npx @captain_z/zsk init` | 创建最小 `.zsk/` 工作区,并把 `.zsk/` 加入 `.gitignore` |
12
+ | 检查知识工作区 | `npx @captain_z/zsk check` | 校验配置、路径泄漏、Playwright 边界、证据位置和 Documentation Feedback |
13
13
  | 只浏览可安装内容 | `npx @captain_z/zsk list` | 输出 bundle 和 skill 清单 |
14
14
 
15
15
  安装完成后,真实工作流由 LLM skills 执行:不知道该用哪个 skill 时从 `zsk:dispatch` 进入,让 OMX 按 ZSK workflow 调度;只需要恢复下一合法阶段时用 `zsk:flow`;也可以手动指定 `zsk:prepare`、`zsk:spec`、`zsk:coding` 等阶段。
@@ -48,14 +48,14 @@ npx @captain_z/zsk check
48
48
  | `install [<pattern>...]` | `add` 的别名;支持同样的 target、bundle、format 和冲突策略 | 非交互 / CI 更直观 |
49
49
  | `remove [<pattern>...]` \| `rm` | 从有 `zsk-manifest.json` 的目录移除;手改文件自动备份 | 多选 + 强确认 |
50
50
  | `list [--bundle=<n>] [--json]` | 浏览 bundle / skill 清单 | 非交互 |
51
- | `init` | 脚手架 `.zsk/config.yaml` + `project-config.md` + `.raws/index.md` + `.raws/manifest.json` + `.raws/` 分类快照目录 + `docs/` + `.issues/` | 非破坏性,默认跳过已存在文件 |
51
+ | `init` | 脚手架最小 `.zsk/{docs,modules,resources,issues,evidence,playwright}`、`.zsk/issues` 索引骨架与 `.zsk/config.yaml` | 非破坏性,默认跳过已存在文件 |
52
52
  | `config setup` | 指导 AI/人工填写 SRS、PRD、Figma、API、测试用例等资源来源 | 非交互提示 |
53
- | `config check` | 校验 `.zsk/config.yaml` 与 `docs/{module}/module.yaml` | 非交互 |
54
- | `module init -m <id>` | 从 package 模板生成 `docs/{module}` | 非交互 |
53
+ | `config check` | 校验 `.zsk/config.yaml` 与 `.zsk/modules/{module}/module.yaml` | 非交互 |
54
+ | `module init -m <id>` | 从 package 模板生成 `.zsk/modules/{module}` 主文档 | 非交互 |
55
55
  | `issue create -m <id>` | 从 package 模板生成 issue 目录、`issue.md`、`assets/index.md`、`debug-logs/index.md`,并刷新模块/全局索引 | 非交互 |
56
- | `issue update -m <id> --id <issue-dir> --status <s>` | 更新具体 issue 状态,并刷新 `.issues/{module}/index.md` 与 `.issues/index.md` | 非交互 |
57
- | `prep` | 根据配置记录 `.raws/manifest.json`,为 AI skills 准备上下文 | 非交互 |
58
- | `check` | 校验配置、测试资产映射、docs 证据边界、Documentation Feedback 记录 | 非交互 |
56
+ | `issue update -m <id> --id <issue-dir> --status <s>` | 更新具体 issue 状态,并刷新 `.zsk/issues/{module}/index.md` 与 `.zsk/issues/index.md` | 非交互 |
57
+ | `prep` | 根据配置记录 `.zsk/resources/manifest.json`,为 AI skills 准备上下文 | 非交互 |
58
+ | `check` | 校验配置、测试资产映射、路径泄漏、Playwright/auth 边界、docs 证据边界和 Documentation Feedback 记录 | 非交互 |
59
59
  | `doctor` / `lint` | 校验(Phase 4 实现) | stub |
60
60
 
61
61
  ## 项目知识工作区命令
@@ -73,7 +73,7 @@ zsk check
73
73
  职责边界:
74
74
 
75
75
  - ZSK CLI:初始化模板、JSON Schema 配置提示、确定性路径和结构校验。
76
- - AI skills:`zsk:prepare` 负责资源理解、模块识别、Figma/MCP 获取、Playwright CLI 优先验证、必要时 Browser Use / Computer Use、冲突分析、issue 编写;harness 负责每个 skill 的 I/O、工具/能力、脚本策略、完成产物、issue 索引同步和确认后的文档反哺。
76
+ - AI skills:`zsk:prepare` 负责资源理解、模块识别、Figma/MCP 获取、Playwright CLI 优先验证、必要时 Computer Use,或在运行时支持且有权限时使用 Browser Use,冲突分析、issue 编写;harness 负责每个 skill 的 I/O、工具/能力、脚本策略、完成产物、issue 索引同步和确认后的文档反哺。
77
77
 
78
78
  推荐顺序:
79
79
 
@@ -86,37 +86,29 @@ init -> config setup -> config check -> module init -> prep -> check
86
86
 
87
87
  ```text
88
88
  .zsk/
89
- └── config.yaml
90
- project-config.md
91
- .raws/
92
- ├── index.md
93
- ├── manifest.json
94
- ├── requirements/index.md
95
- ├── api-contracts/index.md
96
- ├── backend-repositories/index.md
97
- ├── design-sources/index.md
98
- ├── design-assets/index.md
99
- └── testing/index.md
100
- docs/
101
- ├── SYSTEM-SPEC.md
102
- └── _module-index.md
103
- .issues/
104
- ├── README.md
105
- ├── index.md
106
- └── {module}/index.md
89
+ ├── config.yaml
90
+ ├── docs/
91
+ │ ├── PROJECT-CONFIG.md
92
+ │ └── SYSTEM-SPEC.md
93
+ ├── modules/
94
+ ├── resources/
95
+ ├── issues/
96
+ ├── evidence/
97
+ ├── playwright/
98
+ └── plans/
107
99
  ```
108
100
 
109
101
  Schemas 随 npm package 发布。`zsk init` / `zsk module init` 会用当前运行的 CLI 版本写入 versioned unpkg URL 作为编辑器补全提示;项目本地 `.zsk/schemas` 不参与校验。
110
102
 
111
- `zsk config check` 做 schema 和路径边界校验:raw snapshot、模块文档、issue 和运行证据都必须落在 `.zsk/config.yaml` 配置的路径内。
103
+ `zsk config check` 做 schema 和路径边界校验:resource snapshot、模块文档、issue、evidence Playwright 产物都必须落在 `.zsk/config.yaml` 配置的路径内。
112
104
 
113
- `zsk prep` 读取 `.zsk/config.yaml`,刷新 `{paths.raws}/manifest.json`,记录资源来源、快照存在性、大小和 hash。`.raws/index.md` 是人和 AI 的统一入口,`.raws` 下的分类目录只是本地快照落点,线上/本地资源来源由 AI 或 `zsk config setup` 填入,CLI 不在这里内置 AI runtime。
105
+ `zsk prep` 读取 `.zsk/config.yaml`,刷新 `{paths.resources}/manifest.json`,记录资源来源、快照存在性、大小和 hash。`.zsk/resources` 是共享资源池,线上/本地资源来源由 AI 或 `zsk config setup` 填入,CLI 不在这里内置 AI runtime。
114
106
 
115
- `zsk check` 会跑确定性检查:配置是否有效、模块资源是否存在、配置 raw root 下的测试资产是否映射到模块、派生测试文档是否能追溯到事实源、截图和 debug log 是否误放在 docs root,以及阶段文档是否有 Documentation Feedback 或明确的 no-update rationale。
107
+ `zsk check` 会跑确定性检查:配置是否有效、`.zsk/resources/testing` 下的测试资产是否映射到模块、截图/debug log/trace 是否误放在 docs 或模块主文档目录、auth state 是否泄漏到 `.zsk/playwright/{module}/.auth` 之外、ZSK Plan 是否误写到 root `plans` 或 `.omx/plans`、Playwright spec 是否包含 `TODO` / `test.skip` / `test.fixme`,以及阶段文档是否有 Documentation Feedback 或明确的 no-update rationale。root `.raws/.issues/.playwright` 和 root ZSK-managed docs 泄漏始终失败;`--strict` 只是兼容 flag。
116
108
 
117
- 测试用例是一等资产:原始 QA/验收/发布测试用例可以是线上资源或本地文件,也可以快照到 `{paths.raws}`;模块派生场景和自动化映射放 `docs/{module}/` 的 `module.yaml` 和测试说明。AI coding 必须先从这些测试资产写或更新测试,再实现。
109
+ 测试用例是一等资产:原始 QA/验收/发布测试用例可以是线上资源或本地文件,也可以快照到 `{paths.resources}`;模块派生 test plan 和自动化映射放 `.zsk/playwright/{module}`,模块主文档放 `.zsk/modules/{module}`。AI coding 必须先从这些测试资产写或更新测试,再实现。
118
110
 
119
- 每个 skill/stage 完成后必须满足 harness completion contract:产物写到项目模板路径,完成声明链接 evidence,actionable issue 写入配置的 issue 根并刷新模块/全局索引。确认解决后,再把未覆盖或描述不足的行为反哺到 `docs/SYSTEM-SPEC.md`、模块 spec/design/tasks 或记录 no-update rationale。
111
+ 每个 skill/stage 完成后必须满足 harness completion contract:模块主文档写入 `.zsk/modules/{module}`,计划写入 `.zsk/plans`,actionable issue 写入 `.zsk/issues`,可复用证据写入 `.zsk/evidence`,Playwright 资产和运行产物写入 `.zsk/playwright/{module}`。确认解决后,再把未覆盖或描述不足的行为反哺到 `.zsk/docs/SYSTEM-SPEC.md`、模块 spec/design/tasks 或记录 no-update rationale。
120
112
 
121
113
  ## `zsk add` 向导分支
122
114
 
package/dist/bin.js CHANGED
@@ -11,7 +11,8 @@
11
11
  // list browse bundles / installed skills
12
12
  // init scaffold knowledge workspace
13
13
  // config check validate .zsk/config.yaml and module.yaml files
14
- // doctor, lint scaffold stubs
14
+ // doctor workspace health check
15
+ // lint scaffold stub
15
16
  import { Command, Option } from "commander";
16
17
  import { intro, outro, log } from "@clack/prompts";
17
18
  import pc from "picocolors";
@@ -100,7 +101,7 @@ program
100
101
  // ---- init -------------------------------------------------------------------
101
102
  program
102
103
  .command("init")
103
- .description("scaffold .zsk/config.yaml + .raws/ + .issues/ + docs/ (non-destructive)")
104
+ .description("scaffold the minimal .zsk workspace (non-destructive)")
104
105
  .option("--target <path>", "project directory (default: cwd)")
105
106
  .option("--yes", "non-interactive mode")
106
107
  .option("--overwrite", "overwrite existing files (destructive)")
@@ -113,7 +114,7 @@ const configCommand = program
113
114
  .description("validate and inspect ZSK project configuration");
114
115
  configCommand
115
116
  .command("check")
116
- .description("validate .zsk/config.yaml and docs/{module}/module.yaml")
117
+ .description("validate .zsk/config.yaml and .zsk/modules/{module}/module.yaml")
117
118
  .option("--target <path>", "project directory (default: cwd)")
118
119
  .action(async (opts) => {
119
120
  const { check } = await import("./commands/config.js");
@@ -144,11 +145,12 @@ moduleCommand
144
145
  });
145
146
  const issueCommand = program
146
147
  .command("issue")
147
- .description("create and list project issues using configured issue root");
148
+ .description("create and list scoped project issues");
148
149
  issueCommand
149
150
  .command("create")
150
151
  .description("create an issue folder from packaged templates")
151
- .requiredOption("-m, --module <id>", "module id")
152
+ .option("-m, --module <id>", "module id for module-scoped issues")
153
+ .addOption(new Option("--scope <scope>", "module | shared | global | public").choices(["module", "shared", "global", "public"]).default("module"))
152
154
  .option("--title <title>", "issue title used for the directory slug")
153
155
  .option("--type <type>", "issue type: bug, demo, smoke, review, defect, verify, acceptance", "bug")
154
156
  .option("--severity <severity>", "issue severity", "P1")
@@ -160,8 +162,9 @@ issueCommand
160
162
  });
161
163
  issueCommand
162
164
  .command("update")
163
- .description("update an issue status and refresh module/global issue indexes")
164
- .requiredOption("-m, --module <id>", "module id")
165
+ .description("update an issue status and refresh bucket/global issue indexes")
166
+ .option("-m, --module <id>", "module id for module-scoped issues")
167
+ .addOption(new Option("--scope <scope>", "module | shared | global | public").choices(["module", "shared", "global", "public"]).default("module"))
165
168
  .requiredOption("--id <id>", "issue directory name, for example BUG-0001-api-gap")
166
169
  .requiredOption("--status <status>", "issue status, for example Open, Verified, Accepted, Closed")
167
170
  .option("--note <note>", "status update note")
@@ -173,8 +176,9 @@ issueCommand
173
176
  });
174
177
  issueCommand
175
178
  .command("list")
176
- .description("list module issues")
177
- .requiredOption("-m, --module <id>", "module id")
179
+ .description("list issues in a module or outer scope bucket")
180
+ .option("-m, --module <id>", "module id for module-scoped issues")
181
+ .addOption(new Option("--scope <scope>", "module | shared | global | public").choices(["module", "shared", "global", "public"]).default("module"))
178
182
  .option("--target <path>", "project directory (default: cwd)")
179
183
  .action(async (opts) => {
180
184
  const { list } = await import("./commands/issue.js");
@@ -235,9 +239,10 @@ demoCommand
235
239
  });
236
240
  demoCommand
237
241
  .command("run")
238
- .description("prepare a scripted, Playwright, Browser Use, Computer Use, or hybrid demo run")
242
+ .description("prepare a demo run; defaults to optimized raw-test-case -> Playwright spec SOP")
239
243
  .requiredOption("-m, --module <id>", "module id")
240
244
  .option("--target <path>", "project directory (default: cwd)")
245
+ .option("--optimized", "use the default SOP: UI observation handoff -> test-plan.json -> Playwright spec")
241
246
  .option("--playwright", "use Playwright automation lane")
242
247
  .option("--computer-use", "use explicit Computer Use visual/system fallback; combine with --playwright for hybrid bridge")
243
248
  .option("--hybrid", "use the configured decision tool, then Playwright for execution/recording")
@@ -299,7 +304,7 @@ demoScenarioCommand
299
304
  });
300
305
  demoScenarioCommand
301
306
  .command("generate")
302
- .description("generate a Playwright scenario skeleton from test cases, structured page info, and Browser Use handoffs")
307
+ .description("generate a Playwright scenario skeleton from test cases, structured page info, and UI observation handoffs")
303
308
  .requiredOption("-m, --module <id>", "module id")
304
309
  .option("--target <path>", "project directory (default: cwd)")
305
310
  .option("--test-case <path>", "project-relative test case file")
@@ -322,6 +327,7 @@ program
322
327
  .command("check")
323
328
  .description("check project knowledge workspace structure and deterministic gates")
324
329
  .option("--target <path>", "project directory (default: cwd)")
330
+ .option("--strict", "compatibility flag; zsk-managed root path leaks are always failures")
325
331
  .action(async (opts) => {
326
332
  const { run } = await import("./commands/check.js");
327
333
  await run(opts);
@@ -335,13 +341,14 @@ program
335
341
  .action(async (opts) => {
336
342
  await runList(opts);
337
343
  });
338
- // ---- stubs (doctor / lint) -------------------------------------------------
344
+ // ---- doctor / lint ----------------------------------------------------------
339
345
  program
340
346
  .command("doctor")
341
- .description("validate installed skills (frontmatter / manifest drift)")
347
+ .description("validate the project-specific .zsk Halcyon workspace")
342
348
  .option("--target <path>", "target directory to check")
343
- .action(async () => {
344
- await stub("doctor");
349
+ .action(async (opts) => {
350
+ const { run } = await import("./commands/doctor.js");
351
+ await run(opts);
345
352
  });
346
353
  program
347
354
  .command("lint")
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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"}
@@ -1,4 +1,5 @@
1
1
  export type CheckOptions = {
2
2
  target?: string;
3
+ strict?: boolean;
3
4
  };
4
5
  export declare function run(opts?: CheckOptions): Promise<void>;
@@ -1,9 +1,10 @@
1
1
  import pc from "picocolors";
2
- import { readFile, readdir } from "node:fs/promises";
3
- import { extname, join, resolve } from "node:path";
2
+ import { access, readFile, readdir } from "node:fs/promises";
3
+ import { basename, dirname, extname, join, relative, resolve } from "node:path";
4
4
  import YAML from "yaml";
5
5
  import { resolvePath } from "../core/targets.js";
6
6
  import { checkProjectConfig, findModuleConfigFiles, formatConfigIssues, readProjectConfig, } from "../core/config.js";
7
+ import { getWorkspacePath, resolveWorkspaceLayout } from "../core/workspace-layout.js";
7
8
  const RUNTIME_ARTIFACT_EXTS = new Set([
8
9
  ".log",
9
10
  ".png",
@@ -33,10 +34,12 @@ const STAGE_DOCS_REQUIRING_FEEDBACK = [
33
34
  "acceptance.md",
34
35
  "archive.md",
35
36
  ];
37
+ const PLAYWRIGHT_TEST_FILE_RE = /\.(spec|test)\.[cm]?[jt]sx?$/i;
36
38
  export async function run(opts = {}) {
37
39
  const target = opts.target ? resolvePath(opts.target) : process.cwd();
38
40
  const configCheck = await checkProjectConfig(target);
39
41
  const issues = [];
42
+ const warnings = [];
40
43
  for (const warning of configCheck.warnings) {
41
44
  console.warn(pc.yellow(`! ${warning.file}: ${warning.message}`));
42
45
  }
@@ -48,9 +51,20 @@ export async function run(opts = {}) {
48
51
  const config = await readProjectConfig(target);
49
52
  const moduleFiles = await findModuleConfigFiles(target, config);
50
53
  const moduleConfigs = await readModuleConfigs(moduleFiles);
51
- await checkRawTestingMapped(target, config.paths?.raws ?? ".raws", moduleConfigs, issues);
52
- await checkDocsArtifacts(target, config.paths?.docs ?? "docs", config.paths?.issues ?? ".issues", issues);
54
+ await checkWorkspacePathLeaks(target, issues);
55
+ await checkRawTestingMapped(target, getWorkspacePath(config, "resourcesTesting"), moduleConfigs, issues);
56
+ await checkDocsArtifacts(target, [
57
+ getWorkspacePath(config, "docsRoot"),
58
+ getWorkspacePath(config, "modulesRoot"),
59
+ "docs",
60
+ ], getWorkspacePath(config, "evidenceRoot"), issues);
61
+ await checkPlaywrightSpecGates(target, [getWorkspacePath(config, "playwrightRoot"), getWorkspacePath(config, "modulesRoot")], issues);
62
+ await checkAuthStatePlacement(target, config, issues);
63
+ await checkCompletedDemoEvidence(target, [getWorkspacePath(config, "playwrightRoot"), getWorkspacePath(config, "modulesRoot")], issues);
53
64
  await checkDocumentationFeedback(target, moduleConfigs, issues);
65
+ for (const warning of warnings) {
66
+ console.warn(pc.yellow(`! ${warning.file}: ${warning.message}`));
67
+ }
54
68
  if (issues.length > 0) {
55
69
  console.error(pc.red("✗ zsk check failed"));
56
70
  for (const issue of issues)
@@ -59,7 +73,7 @@ export async function run(opts = {}) {
59
73
  }
60
74
  console.log(pc.green("✓ zsk check passed"));
61
75
  console.log(pc.dim(`checked ${moduleFiles.length} module config(s)`));
62
- console.log(pc.dim("Semantic checks requiring Figma, Browser Use, Computer Use, or cross-source reasoning are delegated to AI skills."));
76
+ console.log(pc.dim("Semantic checks requiring design assets, Browser Use, Computer Use, or cross-source reasoning are delegated to AI skills."));
63
77
  }
64
78
  async function readModuleConfigs(files) {
65
79
  const result = [];
@@ -69,8 +83,8 @@ async function readModuleConfigs(files) {
69
83
  }
70
84
  return result;
71
85
  }
72
- async function checkRawTestingMapped(target, rawsPath, modules, issues) {
73
- const testingRoot = resolve(target, rawsPath, "testing");
86
+ async function checkRawTestingMapped(target, testingPath, modules, issues) {
87
+ const testingRoot = resolve(target, testingPath);
74
88
  const rawFiles = (await collectFiles(testingRoot)).filter((file) => !file.endsWith("/README.md") && !file.endsWith("/index.md"));
75
89
  if (rawFiles.length === 0)
76
90
  return;
@@ -90,12 +104,30 @@ async function checkRawTestingMapped(target, rawsPath, modules, issues) {
90
104
  });
91
105
  }
92
106
  }
93
- async function checkDocsArtifacts(target, docsPath, issuesPath, issues) {
94
- const docsRoot = resolve(target, docsPath);
95
- const files = await collectFiles(docsRoot);
107
+ async function checkDocsArtifacts(target, docsPaths, evidencePath, issues) {
108
+ const roots = unique(docsPaths).map((docsPath) => resolve(target, docsPath));
109
+ const files = [];
110
+ for (const root of roots)
111
+ files.push(...(await collectFiles(root)));
96
112
  for (const file of files) {
97
113
  const ext = extname(file).toLowerCase();
98
- const name = file.toLowerCase();
114
+ const root = roots.find((candidate) => isInside(candidate, file)) ?? target;
115
+ const name = relative(root, file).toLowerCase();
116
+ if (name.split("/").some((part) => ["_issues", "_evidence", "_playwright"].includes(part)))
117
+ continue;
118
+ const isPlaywrightSpec = PLAYWRIGHT_TEST_FILE_RE.test(name);
119
+ const isPlaywrightRuntime = name.includes("/playwright-report/") ||
120
+ name.includes("/test-results/") ||
121
+ name.includes("/.auth/") ||
122
+ name.endsWith("/storage-state.json") ||
123
+ name.endsWith("/storagestate.json");
124
+ if (isPlaywrightSpec || isPlaywrightRuntime) {
125
+ issues.push({
126
+ file,
127
+ message: "Playwright specs and runtime artifacts belong under module _playwright or shared .zsk/playwright, not docs roots",
128
+ });
129
+ continue;
130
+ }
99
131
  const isEvidence = RUNTIME_ARTIFACT_EXTS.has(ext) ||
100
132
  name.includes("debug-log") ||
101
133
  name.includes("debug-logs") ||
@@ -108,9 +140,150 @@ async function checkDocsArtifacts(target, docsPath, issuesPath, issues) {
108
140
  continue;
109
141
  issues.push({
110
142
  file,
111
- message: `runtime evidence belongs under ${issuesPath}, not the docs root`,
143
+ message: `runtime evidence belongs under ${evidencePath}, not a docs or module-docs root`,
144
+ });
145
+ }
146
+ }
147
+ async function checkWorkspacePathLeaks(target, issues) {
148
+ for (const path of [".raws", ".issues", ".playwright"]) {
149
+ if (!(await exists(resolve(target, path))))
150
+ continue;
151
+ const issue = {
152
+ file: resolve(target, path),
153
+ message: "legacy root zsk workspace path detected; use .zsk workspace paths or migrate/export explicitly",
154
+ };
155
+ issues.push(issue);
156
+ }
157
+ if (await exists(resolve(target, ".zsk/resources"))) {
158
+ issues.push({
159
+ file: resolve(target, ".zsk/resources"),
160
+ message: "legacy .zsk/resources path detected; use .zsk/raws or set paths.resources only for compatibility migration",
112
161
  });
113
162
  }
163
+ const rootDocs = resolve(target, "docs");
164
+ const docsFiles = await collectFiles(rootDocs);
165
+ for (const file of docsFiles) {
166
+ const name = basename(file);
167
+ const rel = relative(rootDocs, file);
168
+ const looksZskManaged = name === "module.yaml" ||
169
+ ["proposal.md", "spec.md", "design.md", "tasks.md"].includes(name) ||
170
+ rel.split("/").includes("scenarios");
171
+ if (!looksZskManaged)
172
+ continue;
173
+ const issue = {
174
+ file,
175
+ message: "zsk-managed docs belong under .zsk/modules/{module}; root docs should only be written by explicit export/promote",
176
+ };
177
+ issues.push(issue);
178
+ }
179
+ for (const root of ["plans", join(".omx", "plans")]) {
180
+ const planFiles = (await collectFiles(resolve(target, root))).filter((file) => extname(file).toLowerCase() === ".md");
181
+ for (const file of planFiles) {
182
+ const content = await readFile(file, "utf8");
183
+ if (!/\bMode:\s*zskplan\b|^#\s+ZSK Plan\b|Plan artifact:\s*\.zsk\/plans\//im.test(content))
184
+ continue;
185
+ issues.push({
186
+ file,
187
+ message: "ZSK plan artifacts belong under .zsk/plans, not root plans or .omx/plans",
188
+ });
189
+ }
190
+ }
191
+ }
192
+ async function checkPlaywrightSpecGates(target, playwrightPaths, issues) {
193
+ const files = [];
194
+ for (const playwrightPath of playwrightPaths) {
195
+ files.push(...(await collectFiles(resolve(target, playwrightPath))));
196
+ }
197
+ const specFiles = unique(files).filter((file) => PLAYWRIGHT_TEST_FILE_RE.test(file));
198
+ for (const file of specFiles) {
199
+ const content = await readFile(file, "utf8");
200
+ if (/\bTODO\b/i.test(content)) {
201
+ issues.push({ file, message: "Playwright spec contains TODO; refine or keep it out of the promoted spec path" });
202
+ }
203
+ if (/\btest\.fixme\s*\(/.test(content)) {
204
+ issues.push({ file, message: "Playwright spec contains test.fixme; promoted specs must represent executable intent" });
205
+ }
206
+ if (/\btest(?:\.describe)?\.skip\s*\(/.test(content)) {
207
+ issues.push({ file, message: "Playwright spec contains test.skip; record a blocker or waiver instead of promoting a skipped spec" });
208
+ }
209
+ if (/\.first\s*\(|ZSK_GENERATED_REFINEMENT_REQUIRED|Refine locator names/i.test(content)) {
210
+ issues.push({ file, message: "Playwright spec still contains generated or unrefined locators; refine locator names before promotion" });
211
+ }
212
+ }
213
+ }
214
+ async function checkAuthStatePlacement(target, config, issues) {
215
+ const layout = resolveWorkspaceLayout(config);
216
+ const allowedSharedRoot = resolve(target, layout.playwrightRoot);
217
+ const allowedModulesRoot = resolve(target, layout.modulesRoot);
218
+ const roots = unique([
219
+ ".auth",
220
+ "playwright",
221
+ ".playwright",
222
+ "docs",
223
+ layout.docsRoot,
224
+ layout.modulesRoot,
225
+ layout.resourcesRoot,
226
+ layout.issuesRoot,
227
+ layout.evidenceRoot,
228
+ ]);
229
+ const files = [];
230
+ for (const root of roots)
231
+ files.push(...(await collectFiles(resolve(target, root))));
232
+ for (const file of files) {
233
+ if (!looksLikeAuthState(file))
234
+ continue;
235
+ const parts = file.split("/");
236
+ const allowedShared = isInside(allowedSharedRoot, file) && parts.includes(".auth");
237
+ const allowedModulePrivate = isInside(allowedModulesRoot, file) && parts.includes("_playwright") && parts.includes(".auth");
238
+ const allowed = allowedShared || allowedModulePrivate;
239
+ if (allowed)
240
+ continue;
241
+ issues.push({
242
+ file,
243
+ message: "auth/storage state belongs under module _playwright/.auth or shared .zsk/playwright/.auth and must not leak into docs, evidence, raws, or root Playwright paths",
244
+ });
245
+ }
246
+ }
247
+ async function checkCompletedDemoEvidence(target, playwrightPaths, issues) {
248
+ const files = [];
249
+ for (const playwrightPath of playwrightPaths) {
250
+ files.push(...(await collectFiles(resolve(target, playwrightPath))));
251
+ }
252
+ const executionFiles = unique(files).filter((file) => file.endsWith("/execution/current.json"));
253
+ for (const file of executionFiles) {
254
+ let session;
255
+ try {
256
+ session = JSON.parse(await readFile(file, "utf8"));
257
+ }
258
+ catch {
259
+ issues.push({ file, message: "demo execution session is not valid JSON" });
260
+ continue;
261
+ }
262
+ if (session.status !== "completed")
263
+ continue;
264
+ const hasWaiver = /waiver|豁免|免除/i.test(session.note ?? "");
265
+ const hasPassedExecution = await hasPassedPlaywrightExecution(file);
266
+ if (hasWaiver || hasPassedExecution)
267
+ continue;
268
+ issues.push({
269
+ file,
270
+ message: "completed demo session needs passed Playwright execution evidence or an explicit waiver",
271
+ });
272
+ }
273
+ }
274
+ async function hasPassedPlaywrightExecution(sessionFile) {
275
+ const executionFile = join(dirname(sessionFile), "playwright-execution.json");
276
+ let execution;
277
+ try {
278
+ execution = JSON.parse(await readFile(executionFile, "utf8"));
279
+ }
280
+ catch {
281
+ return false;
282
+ }
283
+ if (!/^(passed|completed)$/i.test(execution.status ?? ""))
284
+ return false;
285
+ const evidence = execution.evidence ?? {};
286
+ return Object.values(evidence).some((value) => typeof value === "string" && value.trim().length > 0);
114
287
  }
115
288
  async function checkDocumentationFeedback(target, modules, issues) {
116
289
  for (const mod of modules) {
@@ -165,4 +338,28 @@ async function collectFiles(root) {
165
338
  return [];
166
339
  }
167
340
  }
341
+ function looksLikeAuthState(file) {
342
+ const lower = file.toLowerCase();
343
+ const name = basename(lower);
344
+ return (lower.includes("/.auth/") ||
345
+ lower.includes("storagestate") ||
346
+ lower.includes("storage-state") ||
347
+ ["auth.json", "user.json", "state.json", "cookies.json", "storage.json"].includes(name));
348
+ }
349
+ function unique(values) {
350
+ return [...new Set(values)];
351
+ }
352
+ function isInside(root, target) {
353
+ const rel = relative(root, target);
354
+ return rel === "" || (!rel.startsWith("..") && !rel.startsWith("/") && rel !== target);
355
+ }
356
+ async function exists(path) {
357
+ try {
358
+ await access(path);
359
+ return true;
360
+ }
361
+ catch {
362
+ return false;
363
+ }
364
+ }
168
365
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAwB3B,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG;IACpC,aAAa;IACb,SAAS;IACT,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,gBAAgB;IAChB,UAAU;IACV,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAqB,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACtE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1F,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1G,MAAM,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAEhE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,mHAAmH,CAAC,CAAC,CAAC;AAC3I,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAe;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAiB,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,QAAgB,EAChB,OAAsD,EACtD,MAAoB;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CACvD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CACtE,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,yFAAyF;SACnG,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,MAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,UAAU,GACd,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC9B,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,kCAAkC,UAAU,qBAAqB;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,MAAc,EACd,OAAsD,EACtD,MAAoB;IAEpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,UAAU,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAS;YACrD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,kGAAkG;aAC5G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export async function setup(opts = {}) {
34
34
  console.log(pc.dim(`config: ${result.configFile}`));
35
35
  console.log([
36
36
  "",
37
- "Give your AI assistant the online URLs or local paths for SRS, PRD, Figma, Modao, API contracts, test cases, and design assets.",
37
+ "Give your AI assistant the online URLs or local paths for SRS, PRD, design assets/sources, API contracts, and test cases.",
38
38
  "The assistant should update .zsk/config.yaml sources with type, origin, and optional snapshot fields under paths.raws, then run zsk config check.",
39
39
  ].join("\n"));
40
40
  }