@zmice/zc 0.2.7 → 0.2.8

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 (73) hide show
  1. package/README.md +430 -430
  2. package/dist/cli/__tests__/platform.test.js +112 -89
  3. package/dist/cli/__tests__/platform.test.js.map +1 -1
  4. package/dist/cli/__tests__/surface.test.js +1 -1
  5. package/dist/cli/__tests__/surface.test.js.map +1 -1
  6. package/dist/cli/platform.d.ts.map +1 -1
  7. package/dist/cli/platform.js +62 -5
  8. package/dist/cli/platform.js.map +1 -1
  9. package/dist/cli/setup.d.ts +3 -0
  10. package/dist/cli/setup.d.ts.map +1 -0
  11. package/dist/cli/setup.js +41 -0
  12. package/dist/cli/setup.js.map +1 -0
  13. package/dist/node_modules/@zmice/platform-core/dist/index.test.js +5 -3
  14. package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  15. package/dist/runtime/worktree-manager.js +2 -2
  16. package/dist/runtime/worktree-manager.js.map +1 -1
  17. package/dist/utils/codex-config-merge.d.ts +3 -0
  18. package/dist/utils/codex-config-merge.d.ts.map +1 -0
  19. package/dist/utils/codex-config-merge.js +43 -0
  20. package/dist/utils/codex-config-merge.js.map +1 -0
  21. package/dist/utils/codex-config-merge.test.d.ts +2 -0
  22. package/dist/utils/codex-config-merge.test.d.ts.map +1 -0
  23. package/dist/utils/codex-config-merge.test.js +64 -0
  24. package/dist/utils/codex-config-merge.test.js.map +1 -0
  25. package/dist/utils/install-target.test.js +3 -2
  26. package/dist/utils/install-target.test.js.map +1 -1
  27. package/dist/utils/qwen-extension-cli.d.ts.map +1 -1
  28. package/dist/utils/qwen-extension-cli.js +4 -4
  29. package/dist/utils/qwen-extension-cli.js.map +1 -1
  30. package/dist/utils/qwen-extension-cli.test.js +9 -6
  31. package/dist/utils/qwen-extension-cli.test.js.map +1 -1
  32. package/dist/utils/workspace.js +1 -1
  33. package/dist/utils/workspace.js.map +1 -1
  34. package/dist/utils/workspace.test.js +14 -0
  35. package/dist/utils/workspace.test.js.map +1 -1
  36. package/package.json +2 -2
  37. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +5 -3
  38. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  39. package/vendor/packages/platform-claude/dist/index.js +75 -75
  40. package/vendor/packages/platform-claude/dist/index.test.js +11 -8
  41. package/vendor/packages/platform-claude/dist/index.test.js.map +1 -1
  42. package/vendor/packages/platform-codex/dist/index.js +194 -194
  43. package/vendor/packages/platform-codex/dist/index.test.js +16 -13
  44. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
  45. package/vendor/packages/platform-opencode/dist/index.js +75 -75
  46. package/vendor/packages/platform-opencode/dist/index.test.js +19 -15
  47. package/vendor/packages/platform-opencode/dist/index.test.js.map +1 -1
  48. package/vendor/packages/platform-qwen/dist/index.js +75 -75
  49. package/vendor/packages/platform-qwen/dist/index.test.js +9 -7
  50. package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -1
  51. package/vendor/packages/toolkit/src/content/agents/architect/body.md +42 -42
  52. package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +41 -41
  53. package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +40 -40
  54. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +31 -31
  55. package/vendor/packages/toolkit/src/content/commands/start/body.md +197 -197
  56. package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +55 -55
  57. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +172 -172
  58. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +111 -111
  59. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +86 -86
  60. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +140 -140
  61. package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +80 -80
  62. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +67 -67
  63. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +102 -102
  64. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +81 -81
  65. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +113 -113
  66. package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +75 -75
  67. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +83 -83
  68. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +95 -95
  69. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +99 -99
  70. package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +126 -126
  71. package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +78 -78
  72. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +193 -193
  73. package/vendor/references/upstreams.yaml +94 -94
package/README.md CHANGED
@@ -1,430 +1,430 @@
1
- # @zmice/zc
2
-
3
- `@zmice/zc` 是 zc AI Coding Toolkit 的统一入口 CLI,也是当前仓库唯一对外发布的 npm 包。
4
-
5
- 相关入口:
6
-
7
- - 源码仓库:<https://github.com/zmice/zc-ai-coding-toolkit>
8
- - 问题反馈:<https://github.com/zmice/zc-ai-coding-toolkit/issues>
9
- - Qwen 扩展仓库:<https://github.com/zmice/zc-qwen-extension>
10
-
11
- 如果你是从 npm 页面进入,先记住这件事:
12
-
13
- - `zc` 不是单个平台插件
14
- - 它是一个统一入口安装器
15
- - 用来给 Codex、Claude Code、OpenCode、Qwen 安装、更新、诊断和导出结构化 AI 编码内容
16
-
17
- ## 最短路径
18
-
19
- ```bash
20
- npm install -g @zmice/zc
21
- zc platform plugin codex
22
- ```
23
-
24
- 不传 `--dir` / `--project` / `--global` 时默认使用项目级目标;用户级 Codex plugin 使用:
25
-
26
- ```bash
27
- zc platform plugin codex --global
28
- ```
29
-
30
- `plugin` 子命令当前只支持 Codex。其他平台使用 install 路线,可按需追加 `--global`:
31
-
32
- ```bash
33
- zc platform install <claude|opencode|qwen> [--global]
34
- ```
35
-
36
- 如果你只是想安装和更新平台内容,优先看:
37
-
38
- - `安装`
39
- - `平台安装模型`
40
- - `命名空间适配`
41
- - `高频用法`
42
-
43
- 它负责:
44
-
45
- - runtime:启动单工人或团队协作运行时
46
- - toolkit:查询 skills / commands / agents
47
- - platform:生成、安装、更新和检查平台产物
48
-
49
- 它不负责:
50
-
51
- - 上游治理型仓库事务
52
- - `references` 的快照、审阅和导入提案
53
-
54
- 这些仓库级事务统一通过:
55
-
56
- ```bash
57
- pnpm upstream -- <subcommand>
58
- ```
59
-
60
- 需要当前远端 HEAD 作为审阅证据时,使用 upstream 子命令的 `--with-remote`,例如:
61
-
62
- ```bash
63
- pnpm upstream -- report all --format md --with-remote
64
- ```
65
-
66
- ## 支持的平台
67
-
68
- | 平台 | 当前安装形态 | 统一入口适配 |
69
- | --- | --- | --- |
70
- | Codex | 传统:`AGENTS.md` + `config.toml` + `skills/` + `agents/`;插件:薄 `AGENTS.md` 入口 + `zc-toolkit` marketplace plugin + `agents/` | 传统 `zc:start -> $zc-start`;插件 `zc:start -> $start` |
71
- | Claude Code | `CLAUDE.md` + `commands/` + `agents/` | `zc:start -> /zc-start` |
72
- | OpenCode | `AGENTS.md` + `commands/` + `skills/` + `agents/` | `zc:start -> /zc-start` |
73
- | Qwen | `QWEN.md` + extension 目录 | `zc:start -> zc:start` |
74
-
75
- 用户级 Qwen 安装默认会优先走官方扩展链:
76
-
77
- - 安装源:`https://github.com/zmice/zc-qwen-extension.git`
78
- - 安装方式:`qwen extensions install`
79
- - 更新方式:`qwen extensions update zc-toolkit`
80
-
81
- ## 参考边界
82
-
83
- `zc` 不直接提供 upstream 治理命令,但它的命令面和安装行为会持续对齐平台官方能力与成熟社区实践。
84
-
85
- CLI 侧当前重点参考:
86
-
87
- - `oh-my-codex`
88
- - Codex 官方 `AGENTS.md` / skills 文档
89
- - Claude Code 官方 memory / slash commands / sub-agents 文档
90
- - OpenCode 官方 rules / commands / skills / agents 文档
91
- - Qwen 官方 extensions / skills / `qwen extensions` 文档
92
-
93
- 也就是说:
94
-
95
- - 内容参考上游的治理在 `references/`
96
- - CLI 只吸收与命令体验、安装语义、平台适配直接相关的部分
97
-
98
- 仓库级 upstream 治理由下面入口承担:
99
-
100
- ```bash
101
- pnpm upstream -- <subcommand>
102
- ```
103
-
104
- ## 安装
105
-
106
- ### npm 全局安装
107
-
108
- ```bash
109
- npm install -g @zmice/zc
110
- zc --help
111
- ```
112
-
113
- ### 仓库内构建运行
114
-
115
- ```bash
116
- pnpm install
117
- pnpm build
118
- node apps/cli/dist/cli/index.js --help
119
- ```
120
-
121
- ### 仓库开发态 link
122
-
123
- ```bash
124
- pnpm setup
125
- pnpm install
126
- pnpm build
127
- pnpm --dir apps/cli link --global
128
- zc --help
129
- ```
130
-
131
- 如果 `pnpm --dir apps/cli link --global` 报:
132
-
133
- - `ERR_PNPM_NO_GLOBAL_BIN_DIR`
134
-
135
- 说明是 pnpm 环境未初始化,不是 `zc` 构建问题。
136
-
137
- ## 使用者与维护者
138
-
139
- ### 普通使用者
140
-
141
- 最常见的是这条循环:
142
-
143
- ```bash
144
- zc platform plugin codex --plan
145
- zc platform plugin codex
146
- ```
147
-
148
- 如果使用用户级或传统平台安装模型,则是:
149
-
150
- ```bash
151
- zc platform plugin codex --global
152
- zc platform where codex --global --json
153
- zc platform install codex --global
154
- zc platform status codex --global --json
155
- zc platform update codex --global --plan --json
156
- ```
157
-
158
- ### 仓库维护者
159
-
160
- 如果你在维护 monorepo 本身,更常用的是:
161
-
162
- ```bash
163
- pnpm install
164
- pnpm --dir apps/cli build
165
- pnpm --dir apps/cli test
166
- pnpm audit:context
167
- pnpm verify:mvp
168
- pnpm verify
169
- ```
170
-
171
- 验证门禁语义:
172
-
173
- - `pnpm verify:mvp` 是发布态 smoke,等价于 `node scripts/verify-workspace.mjs`
174
- - `pnpm verify` 是全量本地门禁
175
- - `pnpm release:check` 是发布门禁
176
-
177
- ## 命令分层
178
-
179
- ### Runtime
180
-
181
- - `zc run`
182
- - `zc team ...`
183
- - `zc task ...`
184
- - `zc msg ...`
185
- - `zc doctor`
186
-
187
- 团队并行先 dry-run,再启动:
188
-
189
- ```bash
190
- zc team plan -w 2 \
191
- -t "API | files=src/api.ts,src/api.test.ts" \
192
- -t "UI | files=src/ui.ts,src/ui.test.ts" \
193
- --json
194
-
195
- zc team start -w "w1:codex,w2:codex" \
196
- -t "API | files=src/api.ts,src/api.test.ts" \
197
- -t "UI | files=src/ui.ts,src/ui.test.ts"
198
- ```
199
-
200
- `zc team start` 会保守检查并行安全:多 worker 任务必须声明 `files=`,文件冲突或 `deps=` 依赖会阻止盲目并行。worktree 默认使用 `.worktrees/`,该目录必须被 git ignore;关闭前先用 `zc team shutdown <name> --plan` 查看 fan-in 状态。
201
-
202
- ### Toolkit
203
-
204
- - `zc toolkit lint`
205
- - `zc toolkit show <query>`
206
- - `zc toolkit search <keyword>`
207
- - `zc toolkit recommend <query>`
208
-
209
- `<query>` 同时支持:
210
-
211
- - 完整资产 ID,例如 `command:build`
212
- - 唯一名称,例如 `build`
213
-
214
- ### Platform
215
-
216
- - `zc platform generate <qwen|codex|claude|opencode>`
217
- - `zc platform plugin codex`
218
- - `zc platform install <qwen|codex|claude|opencode>`
219
- - `zc platform status <qwen|codex|claude|opencode>`
220
- - `zc platform update <qwen|codex|claude|opencode>`
221
- - `zc platform uninstall <qwen|codex|claude|opencode>`
222
- - `zc platform repair <qwen|codex|claude|opencode>`
223
- - `zc platform doctor <qwen|codex|claude|opencode>`
224
- - `zc platform where <qwen|codex|claude|opencode>`
225
-
226
- 常用参数:
227
-
228
- - `--project`
229
- - `--global`
230
- - `--dir <path>`
231
- - `--plan`
232
- - `--json`
233
- - `--force`
234
-
235
- 参数约定:
236
-
237
- - `--dir <path>`、`--project`、`--global` 在 platform 子命令中保持同一语义和展示顺序
238
- - 三者互斥;不传时按命令默认行为处理
239
- - `generate --project/--global` 只用于带项目级或用户级布局语义的 bundle,目前是 `codex --bundle codex-marketplace`
240
-
241
- 常用别名:
242
-
243
- | 长命令 | 短入口 | 用途 |
244
- | --- | --- | --- |
245
- | `generate` | `g` | 导出高级 bundle |
246
- | `plugin` | `p` | 生成 Codex personal/repo marketplace |
247
- | `install` | `i` | 安装平台内容 |
248
- | `where` | `w` | 查看安装位置 |
249
- | `status` | `s` | 查看安装状态 |
250
- | `update` | `u` | 更新已安装内容 |
251
- | `uninstall` | `remove` | 卸载受管内容 |
252
- | `repair` | `fix` | 修复漂移或缺失 |
253
- | `doctor` | `check` | 诊断健康度 |
254
-
255
- ## 命名空间适配
256
-
257
- `toolkit` 里的内容使用统一语义名,例如:
258
-
259
- - `zc:start`
260
- - `zc:product-analysis`
261
- - `zc:sdd-tdd`
262
- - `zc:quality-review`
263
-
264
- 安装到不同平台后,不会强行保留同一种触发形式,而是按平台能力做适配:
265
-
266
- - Codex
267
- - 传统安装通过 `$zc-*` skill 承接
268
- - 插件安装通过 `zc-toolkit` 插件命名空间下的无前缀 skill 承接
269
- - 例如:`zc:start -> $zc-start` / `zc:start -> $start`
270
- - Claude Code
271
- - 统一语义通过 `/zc-*` command 承接
272
- - 例如:`zc:start -> /zc-start`
273
- - OpenCode
274
- - 统一语义通过 `/zc-*` command 承接
275
- - 例如:`zc:start -> /zc-start`
276
- - Qwen
277
- - 统一语义通过 `zc:*` namespaced command 承接
278
- - 例如:`zc:start -> zc:start`
279
-
280
- 这样做的目的只有一个:
281
-
282
- - 传统直装需要避免和平台内置命令、社区插件或未来扩展发生冲突
283
- - 插件安装已经有 `zc-toolkit` 命名空间,因此不再给每个 skill 重复加 `zc-` 前缀
284
-
285
- ## 平台安装模型
286
-
287
- ### Codex
288
-
289
- - 项目级:
290
- - `AGENTS.md`
291
- - `.codex/config.toml`
292
- - `.codex/skills/zc-<command>/SKILL.md`
293
- - `.codex/skills/zc-<skill>/SKILL.md`
294
- - `.codex/agents/zc-<agent>.toml`
295
- - 用户级 / 自定义目录:
296
- - `AGENTS.md`
297
- - `config.toml`
298
- - `skills/zc-<command>/SKILL.md`
299
- - `skills/zc-<skill>/SKILL.md`
300
- - `agents/zc-<agent>.toml`
301
- - 插件 / marketplace:
302
- - `.agents/plugins/marketplace.json`
303
- - `AGENTS.md` 或 `.codex/AGENTS.md`
304
- - `plugins/zc-toolkit/.codex-plugin/plugin.json` 或 `.codex/plugins/zc-toolkit/.codex-plugin/plugin.json`
305
- - `plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md` 或 `.codex/plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md`
306
- - `.codex/agents/zc-<agent>.toml`
307
-
308
- 插件路线和传统直装都会生成 `AGENTS.md`,但语义不同:传统直装入口指向 `$zc-*` 和 `skills/zc-*`;插件路线入口只保留全局规则、入口映射和文件索引,指向 `$*` 和 `zc-toolkit` 插件内 skills。
309
-
310
- `config.toml` 是 `zc` 管理的 Codex custom agent role 注册配置,避免生成了 `.toml` agent 文件但入口无法找到对应角色;不要把它写成通用平台 command surface。
311
-
312
- ### Claude Code
313
-
314
- - 项目级:
315
- - `CLAUDE.md`
316
- - `.claude/commands`
317
- - `.claude/agents`
318
- - 用户级 / 自定义目录:
319
- - `CLAUDE.md`
320
- - `commands`
321
- - `agents`
322
-
323
- ### OpenCode
324
-
325
- - 项目级:
326
- - `AGENTS.md`
327
- - `.opencode/commands`
328
- - `.opencode/skills`
329
- - `.opencode/agents`
330
- - 用户级 / 自定义目录:
331
- - `AGENTS.md`
332
- - `commands`
333
- - `skills`
334
- - `agents`
335
-
336
- ### Qwen
337
-
338
- - 项目级:
339
- - `.qwen/extensions/zc-toolkit/`
340
- - 用户级 / 自定义目录:
341
- - `extensions/zc-toolkit/`
342
- - 用户级默认优先通过官方 `qwen extensions` 管理
343
- - 默认安装源:
344
- - `https://github.com/zmice/zc-qwen-extension.git`
345
- - 默认更新方式:
346
- - `qwen extensions update zc-toolkit`
347
-
348
- ## 高频用法
349
-
350
- ```bash
351
- # toolkit
352
- zc toolkit lint --json
353
- zc toolkit show command:start
354
- zc toolkit search review
355
- zc toolkit recommend build
356
-
357
- # platform
358
- zc platform where codex --global --json
359
- zc platform install codex --global
360
- zc platform plugin codex
361
- zc platform status codex --global --json
362
-
363
- zc platform install claude --global
364
- zc platform install opencode --global
365
- zc platform install qwen --global
366
- zc platform status qwen --global --json
367
- zc platform generate qwen --bundle release-bundle --dir /tmp/zc-toolkit
368
- zc platform doctor codex --global --json
369
- zc platform repair qwen --global --json
370
- zc platform uninstall opencode --global --plan --json
371
- ```
372
-
373
- 如果你主要是把 `zc` 当安装器使用,最常见的循环是:
374
-
375
- ```bash
376
- # 看平台默认安装位置
377
- zc platform where codex --global --json
378
-
379
- # 安装或更新平台内容;Codex 插件路线使用 plugin,不传 selector 时默认项目级
380
- zc platform plugin codex
381
- zc platform plugin codex --global
382
-
383
- # 传统平台安装路线使用 install/update/status
384
- zc platform install codex --global
385
- zc platform update codex --global --plan --json
386
-
387
- # 检查当前状态
388
- zc platform status codex --global --json
389
-
390
- # 诊断、修复、卸载
391
- zc platform doctor codex --global --json
392
- zc platform repair codex --global --plan --json
393
- zc platform uninstall codex --global --plan --json
394
- ```
395
-
396
- 如果你要把 Qwen 扩展作为独立目录导出,而不是直接安装到本机,可以使用:
397
-
398
- ```bash
399
- zc platform generate qwen --bundle release-bundle --dir /tmp/zc-toolkit
400
- ```
401
-
402
- ## 设计边界
403
-
404
- - `command:start` 和 `command:product-analysis` 目前是 toolkit 内容入口,不是 CLI 子命令
405
- - `sdd-tdd` 在内容层里属于 `full-delivery` workflow,而不是统一任务分诊入口
406
- - `zc` 只承载已经落地的产品命令,不把内容层 canonical command 直接暴露成 CLI
407
-
408
- ## 开发
409
-
410
- 常改位置:
411
-
412
- - `apps/cli/src/cli/`
413
- - `apps/cli/src/runtime/`
414
- - `apps/cli/src/team/`
415
- - `apps/cli/src/utils/`
416
-
417
- ## 验证
418
-
419
- ```bash
420
- pnpm --dir apps/cli test
421
- pnpm --dir apps/cli build
422
- pnpm --dir apps/cli verify
423
- pnpm audit:context
424
- pnpm verify:mvp
425
- pnpm verify
426
- ```
427
-
428
- 更完整的使用说明见:
429
-
430
- - [../../docs/usage-guide.md](../../docs/usage-guide.md)
1
+ # @zmice/zc
2
+
3
+ `@zmice/zc` 是 zc AI Coding Toolkit 的统一入口 CLI,也是当前仓库唯一对外发布的 npm 包。
4
+
5
+ 相关入口:
6
+
7
+ - 源码仓库:<https://github.com/zmice/zc-ai-coding-toolkit>
8
+ - 问题反馈:<https://github.com/zmice/zc-ai-coding-toolkit/issues>
9
+ - Qwen 扩展仓库:<https://github.com/zmice/zc-qwen-extension>
10
+
11
+ 如果你是从 npm 页面进入,先记住这件事:
12
+
13
+ - `zc` 不是单个平台插件
14
+ - 它是一个统一入口安装器
15
+ - 用来给 Codex、Claude Code、OpenCode、Qwen 安装、更新、诊断和导出结构化 AI 编码内容
16
+
17
+ ## 最短路径
18
+
19
+ ```bash
20
+ npm install -g @zmice/zc
21
+ zc platform plugin codex
22
+ ```
23
+
24
+ 不传 `--dir` / `--project` / `--global` 时默认使用项目级目标;用户级 Codex plugin 使用:
25
+
26
+ ```bash
27
+ zc platform plugin codex --global
28
+ ```
29
+
30
+ `plugin` 子命令当前只支持 Codex。其他平台使用 install 路线,可按需追加 `--global`:
31
+
32
+ ```bash
33
+ zc platform install <claude|opencode|qwen> [--global]
34
+ ```
35
+
36
+ 如果你只是想安装和更新平台内容,优先看:
37
+
38
+ - `安装`
39
+ - `平台安装模型`
40
+ - `命名空间适配`
41
+ - `高频用法`
42
+
43
+ 它负责:
44
+
45
+ - runtime:启动单工人或团队协作运行时
46
+ - toolkit:查询 skills / commands / agents
47
+ - platform:生成、安装、更新和检查平台产物
48
+
49
+ 它不负责:
50
+
51
+ - 上游治理型仓库事务
52
+ - `references` 的快照、审阅和导入提案
53
+
54
+ 这些仓库级事务统一通过:
55
+
56
+ ```bash
57
+ pnpm upstream -- <subcommand>
58
+ ```
59
+
60
+ 需要当前远端 HEAD 作为审阅证据时,使用 upstream 子命令的 `--with-remote`,例如:
61
+
62
+ ```bash
63
+ pnpm upstream -- report all --format md --with-remote
64
+ ```
65
+
66
+ ## 支持的平台
67
+
68
+ | 平台 | 当前安装形态 | 统一入口适配 |
69
+ | --- | --- | --- |
70
+ | Codex | 传统:`AGENTS.md` + `config.toml` + `skills/` + `agents/`;插件:薄 `AGENTS.md` 入口 + `zc-toolkit` marketplace plugin + `agents/` | 传统 `zc:start -> $zc-start`;插件 `zc:start -> $start` |
71
+ | Claude Code | `CLAUDE.md` + `commands/` + `agents/` | `zc:start -> /zc-start` |
72
+ | OpenCode | `AGENTS.md` + `commands/` + `skills/` + `agents/` | `zc:start -> /zc-start` |
73
+ | Qwen | `QWEN.md` + extension 目录 | `zc:start -> zc:start` |
74
+
75
+ 用户级 Qwen 安装默认会优先走官方扩展链:
76
+
77
+ - 安装源:`https://github.com/zmice/zc-qwen-extension.git`
78
+ - 安装方式:`qwen extensions install`
79
+ - 更新方式:`qwen extensions update zc-toolkit`
80
+
81
+ ## 参考边界
82
+
83
+ `zc` 不直接提供 upstream 治理命令,但它的命令面和安装行为会持续对齐平台官方能力与成熟社区实践。
84
+
85
+ CLI 侧当前重点参考:
86
+
87
+ - `oh-my-codex`
88
+ - Codex 官方 `AGENTS.md` / skills 文档
89
+ - Claude Code 官方 memory / slash commands / sub-agents 文档
90
+ - OpenCode 官方 rules / commands / skills / agents 文档
91
+ - Qwen 官方 extensions / skills / `qwen extensions` 文档
92
+
93
+ 也就是说:
94
+
95
+ - 内容参考上游的治理在 `references/`
96
+ - CLI 只吸收与命令体验、安装语义、平台适配直接相关的部分
97
+
98
+ 仓库级 upstream 治理由下面入口承担:
99
+
100
+ ```bash
101
+ pnpm upstream -- <subcommand>
102
+ ```
103
+
104
+ ## 安装
105
+
106
+ ### npm 全局安装
107
+
108
+ ```bash
109
+ npm install -g @zmice/zc
110
+ zc --help
111
+ ```
112
+
113
+ ### 仓库内构建运行
114
+
115
+ ```bash
116
+ pnpm install
117
+ pnpm build
118
+ node apps/cli/dist/cli/index.js --help
119
+ ```
120
+
121
+ ### 仓库开发态 link
122
+
123
+ ```bash
124
+ pnpm setup
125
+ pnpm install
126
+ pnpm build
127
+ pnpm --dir apps/cli link --global
128
+ zc --help
129
+ ```
130
+
131
+ 如果 `pnpm --dir apps/cli link --global` 报:
132
+
133
+ - `ERR_PNPM_NO_GLOBAL_BIN_DIR`
134
+
135
+ 说明是 pnpm 环境未初始化,不是 `zc` 构建问题。
136
+
137
+ ## 使用者与维护者
138
+
139
+ ### 普通使用者
140
+
141
+ 最常见的是这条循环:
142
+
143
+ ```bash
144
+ zc platform plugin codex --plan
145
+ zc platform plugin codex
146
+ ```
147
+
148
+ 如果使用用户级或传统平台安装模型,则是:
149
+
150
+ ```bash
151
+ zc platform plugin codex --global
152
+ zc platform where codex --global --json
153
+ zc platform install codex --global
154
+ zc platform status codex --global --json
155
+ zc platform update codex --global --plan --json
156
+ ```
157
+
158
+ ### 仓库维护者
159
+
160
+ 如果你在维护 monorepo 本身,更常用的是:
161
+
162
+ ```bash
163
+ pnpm install
164
+ pnpm --dir apps/cli build
165
+ pnpm --dir apps/cli test
166
+ pnpm audit:context
167
+ pnpm verify:mvp
168
+ pnpm verify
169
+ ```
170
+
171
+ 验证门禁语义:
172
+
173
+ - `pnpm verify:mvp` 是发布态 smoke,等价于 `node scripts/verify-workspace.mjs`
174
+ - `pnpm verify` 是全量本地门禁
175
+ - `pnpm release:check` 是发布门禁
176
+
177
+ ## 命令分层
178
+
179
+ ### Runtime
180
+
181
+ - `zc run`
182
+ - `zc team ...`
183
+ - `zc task ...`
184
+ - `zc msg ...`
185
+ - `zc doctor`
186
+
187
+ 团队并行先 dry-run,再启动:
188
+
189
+ ```bash
190
+ zc team plan -w 2 \
191
+ -t "API | files=src/api.ts,src/api.test.ts" \
192
+ -t "UI | files=src/ui.ts,src/ui.test.ts" \
193
+ --json
194
+
195
+ zc team start -w "w1:codex,w2:codex" \
196
+ -t "API | files=src/api.ts,src/api.test.ts" \
197
+ -t "UI | files=src/ui.ts,src/ui.test.ts"
198
+ ```
199
+
200
+ `zc team start` 会保守检查并行安全:多 worker 任务必须声明 `files=`,文件冲突或 `deps=` 依赖会阻止盲目并行。worktree 默认使用 `.worktrees/`,该目录必须被 git ignore;关闭前先用 `zc team shutdown <name> --plan` 查看 fan-in 状态。
201
+
202
+ ### Toolkit
203
+
204
+ - `zc toolkit lint`
205
+ - `zc toolkit show <query>`
206
+ - `zc toolkit search <keyword>`
207
+ - `zc toolkit recommend <query>`
208
+
209
+ `<query>` 同时支持:
210
+
211
+ - 完整资产 ID,例如 `command:build`
212
+ - 唯一名称,例如 `build`
213
+
214
+ ### Platform
215
+
216
+ - `zc platform generate <qwen|codex|claude|opencode>`
217
+ - `zc platform plugin codex`
218
+ - `zc platform install <qwen|codex|claude|opencode>`
219
+ - `zc platform status <qwen|codex|claude|opencode>`
220
+ - `zc platform update <qwen|codex|claude|opencode>`
221
+ - `zc platform uninstall <qwen|codex|claude|opencode>`
222
+ - `zc platform repair <qwen|codex|claude|opencode>`
223
+ - `zc platform doctor <qwen|codex|claude|opencode>`
224
+ - `zc platform where <qwen|codex|claude|opencode>`
225
+
226
+ 常用参数:
227
+
228
+ - `--project`
229
+ - `--global`
230
+ - `--dir <path>`
231
+ - `--plan`
232
+ - `--json`
233
+ - `--force`
234
+
235
+ 参数约定:
236
+
237
+ - `--dir <path>`、`--project`、`--global` 在 platform 子命令中保持同一语义和展示顺序
238
+ - 三者互斥;不传时按命令默认行为处理
239
+ - `generate --project/--global` 只用于带项目级或用户级布局语义的 bundle,目前是 `codex --bundle codex-marketplace`
240
+
241
+ 常用别名:
242
+
243
+ | 长命令 | 短入口 | 用途 |
244
+ | --- | --- | --- |
245
+ | `generate` | `g` | 导出高级 bundle |
246
+ | `plugin` | `p` | 生成 Codex personal/repo marketplace |
247
+ | `install` | `i` | 安装平台内容 |
248
+ | `where` | `w` | 查看安装位置 |
249
+ | `status` | `s` | 查看安装状态 |
250
+ | `update` | `u` | 更新已安装内容 |
251
+ | `uninstall` | `remove` | 卸载受管内容 |
252
+ | `repair` | `fix` | 修复漂移或缺失 |
253
+ | `doctor` | `check` | 诊断健康度 |
254
+
255
+ ## 命名空间适配
256
+
257
+ `toolkit` 里的内容使用统一语义名,例如:
258
+
259
+ - `zc:start`
260
+ - `zc:product-analysis`
261
+ - `zc:sdd-tdd`
262
+ - `zc:quality-review`
263
+
264
+ 安装到不同平台后,不会强行保留同一种触发形式,而是按平台能力做适配:
265
+
266
+ - Codex
267
+ - 传统安装通过 `$zc-*` skill 承接
268
+ - 插件安装通过 `zc-toolkit` 插件命名空间下的无前缀 skill 承接
269
+ - 例如:`zc:start -> $zc-start` / `zc:start -> $start`
270
+ - Claude Code
271
+ - 统一语义通过 `/zc-*` command 承接
272
+ - 例如:`zc:start -> /zc-start`
273
+ - OpenCode
274
+ - 统一语义通过 `/zc-*` command 承接
275
+ - 例如:`zc:start -> /zc-start`
276
+ - Qwen
277
+ - 统一语义通过 `zc:*` namespaced command 承接
278
+ - 例如:`zc:start -> zc:start`
279
+
280
+ 这样做的目的只有一个:
281
+
282
+ - 传统直装需要避免和平台内置命令、社区插件或未来扩展发生冲突
283
+ - 插件安装已经有 `zc-toolkit` 命名空间,因此不再给每个 skill 重复加 `zc-` 前缀
284
+
285
+ ## 平台安装模型
286
+
287
+ ### Codex
288
+
289
+ - 项目级:
290
+ - `AGENTS.md`
291
+ - `.codex/config.toml`
292
+ - `.codex/skills/zc-<command>/SKILL.md`
293
+ - `.codex/skills/zc-<skill>/SKILL.md`
294
+ - `.codex/agents/zc-<agent>.toml`
295
+ - 用户级 / 自定义目录:
296
+ - `AGENTS.md`
297
+ - `config.toml`
298
+ - `skills/zc-<command>/SKILL.md`
299
+ - `skills/zc-<skill>/SKILL.md`
300
+ - `agents/zc-<agent>.toml`
301
+ - 插件 / marketplace:
302
+ - `.agents/plugins/marketplace.json`
303
+ - `AGENTS.md` 或 `.codex/AGENTS.md`
304
+ - `plugins/zc-toolkit/.codex-plugin/plugin.json` 或 `.codex/plugins/zc-toolkit/.codex-plugin/plugin.json`
305
+ - `plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md` 或 `.codex/plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md`
306
+ - `.codex/agents/zc-<agent>.toml`
307
+
308
+ 插件路线和传统直装都会生成 `AGENTS.md`,但语义不同:传统直装入口指向 `$zc-*` 和 `skills/zc-*`;插件路线入口只保留全局规则、入口映射和文件索引,指向 `$*` 和 `zc-toolkit` 插件内 skills。
309
+
310
+ `config.toml` 是 `zc` 管理的 Codex custom agent role 注册配置,避免生成了 `.toml` agent 文件但入口无法找到对应角色;不要把它写成通用平台 command surface。
311
+
312
+ ### Claude Code
313
+
314
+ - 项目级:
315
+ - `CLAUDE.md`
316
+ - `.claude/commands`
317
+ - `.claude/agents`
318
+ - 用户级 / 自定义目录:
319
+ - `CLAUDE.md`
320
+ - `commands`
321
+ - `agents`
322
+
323
+ ### OpenCode
324
+
325
+ - 项目级:
326
+ - `AGENTS.md`
327
+ - `.opencode/commands`
328
+ - `.opencode/skills`
329
+ - `.opencode/agents`
330
+ - 用户级 / 自定义目录:
331
+ - `AGENTS.md`
332
+ - `commands`
333
+ - `skills`
334
+ - `agents`
335
+
336
+ ### Qwen
337
+
338
+ - 项目级:
339
+ - `.qwen/extensions/zc-toolkit/`
340
+ - 用户级 / 自定义目录:
341
+ - `extensions/zc-toolkit/`
342
+ - 用户级默认优先通过官方 `qwen extensions` 管理
343
+ - 默认安装源:
344
+ - `https://github.com/zmice/zc-qwen-extension.git`
345
+ - 默认更新方式:
346
+ - `qwen extensions update zc-toolkit`
347
+
348
+ ## 高频用法
349
+
350
+ ```bash
351
+ # toolkit
352
+ zc toolkit lint --json
353
+ zc toolkit show command:start
354
+ zc toolkit search review
355
+ zc toolkit recommend build
356
+
357
+ # platform
358
+ zc platform where codex --global --json
359
+ zc platform install codex --global
360
+ zc platform plugin codex
361
+ zc platform status codex --global --json
362
+
363
+ zc platform install claude --global
364
+ zc platform install opencode --global
365
+ zc platform install qwen --global
366
+ zc platform status qwen --global --json
367
+ zc platform generate qwen --bundle release-bundle --dir /tmp/zc-toolkit
368
+ zc platform doctor codex --global --json
369
+ zc platform repair qwen --global --json
370
+ zc platform uninstall opencode --global --plan --json
371
+ ```
372
+
373
+ 如果你主要是把 `zc` 当安装器使用,最常见的循环是:
374
+
375
+ ```bash
376
+ # 看平台默认安装位置
377
+ zc platform where codex --global --json
378
+
379
+ # 安装或更新平台内容;Codex 插件路线使用 plugin,不传 selector 时默认项目级
380
+ zc platform plugin codex
381
+ zc platform plugin codex --global
382
+
383
+ # 传统平台安装路线使用 install/update/status
384
+ zc platform install codex --global
385
+ zc platform update codex --global --plan --json
386
+
387
+ # 检查当前状态
388
+ zc platform status codex --global --json
389
+
390
+ # 诊断、修复、卸载
391
+ zc platform doctor codex --global --json
392
+ zc platform repair codex --global --plan --json
393
+ zc platform uninstall codex --global --plan --json
394
+ ```
395
+
396
+ 如果你要把 Qwen 扩展作为独立目录导出,而不是直接安装到本机,可以使用:
397
+
398
+ ```bash
399
+ zc platform generate qwen --bundle release-bundle --dir /tmp/zc-toolkit
400
+ ```
401
+
402
+ ## 设计边界
403
+
404
+ - `command:start` 和 `command:product-analysis` 目前是 toolkit 内容入口,不是 CLI 子命令
405
+ - `sdd-tdd` 在内容层里属于 `full-delivery` workflow,而不是统一任务分诊入口
406
+ - `zc` 只承载已经落地的产品命令,不把内容层 canonical command 直接暴露成 CLI
407
+
408
+ ## 开发
409
+
410
+ 常改位置:
411
+
412
+ - `apps/cli/src/cli/`
413
+ - `apps/cli/src/runtime/`
414
+ - `apps/cli/src/team/`
415
+ - `apps/cli/src/utils/`
416
+
417
+ ## 验证
418
+
419
+ ```bash
420
+ pnpm --dir apps/cli test
421
+ pnpm --dir apps/cli build
422
+ pnpm --dir apps/cli verify
423
+ pnpm audit:context
424
+ pnpm verify:mvp
425
+ pnpm verify
426
+ ```
427
+
428
+ 更完整的使用说明见:
429
+
430
+ - [../../docs/usage-guide.md](../../docs/usage-guide.md)