@zmice/zc 0.2.0 → 0.2.2

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 (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -55
  3. package/dist/cli/__tests__/platform.test.js +573 -34
  4. package/dist/cli/__tests__/platform.test.js.map +1 -1
  5. package/dist/cli/__tests__/surface.test.js +13 -1
  6. package/dist/cli/__tests__/surface.test.js.map +1 -1
  7. package/dist/cli/__tests__/toolkit.test.js +35 -0
  8. package/dist/cli/__tests__/toolkit.test.js.map +1 -1
  9. package/dist/cli/index.d.ts +1 -0
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +16 -5
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/platform.d.ts +15 -1
  14. package/dist/cli/platform.d.ts.map +1 -1
  15. package/dist/cli/platform.js +1195 -87
  16. package/dist/cli/platform.js.map +1 -1
  17. package/dist/cli/toolkit.d.ts.map +1 -1
  18. package/dist/cli/toolkit.js +26 -1
  19. package/dist/cli/toolkit.js.map +1 -1
  20. package/dist/platform-state/doctor.d.ts +3 -0
  21. package/dist/platform-state/doctor.d.ts.map +1 -0
  22. package/dist/platform-state/doctor.js +96 -0
  23. package/dist/platform-state/doctor.js.map +1 -0
  24. package/dist/platform-state/index.d.ts +2 -1
  25. package/dist/platform-state/index.d.ts.map +1 -1
  26. package/dist/platform-state/index.js +1 -0
  27. package/dist/platform-state/index.js.map +1 -1
  28. package/dist/platform-state/receipt.d.ts +5 -0
  29. package/dist/platform-state/receipt.d.ts.map +1 -1
  30. package/dist/platform-state/receipt.js +5 -0
  31. package/dist/platform-state/receipt.js.map +1 -1
  32. package/dist/platform-state/types.d.ts +16 -0
  33. package/dist/platform-state/types.d.ts.map +1 -1
  34. package/dist/utils/install-target.d.ts +1 -1
  35. package/dist/utils/install-target.d.ts.map +1 -1
  36. package/dist/utils/install-target.js +16 -6
  37. package/dist/utils/install-target.js.map +1 -1
  38. package/dist/utils/install-target.test.js +19 -10
  39. package/dist/utils/install-target.test.js.map +1 -1
  40. package/dist/utils/platform-install-cleanup.d.ts +7 -0
  41. package/dist/utils/platform-install-cleanup.d.ts.map +1 -0
  42. package/dist/utils/platform-install-cleanup.js +34 -0
  43. package/dist/utils/platform-install-cleanup.js.map +1 -0
  44. package/dist/utils/platform-install-cleanup.test.d.ts +2 -0
  45. package/dist/utils/platform-install-cleanup.test.d.ts.map +1 -0
  46. package/dist/utils/platform-install-cleanup.test.js +30 -0
  47. package/dist/utils/platform-install-cleanup.test.js.map +1 -0
  48. package/dist/utils/platform-install-receipt.d.ts +1 -0
  49. package/dist/utils/platform-install-receipt.d.ts.map +1 -1
  50. package/dist/utils/platform-install-receipt.js +10 -2
  51. package/dist/utils/platform-install-receipt.js.map +1 -1
  52. package/dist/utils/platform-install-receipt.test.js +30 -2
  53. package/dist/utils/platform-install-receipt.test.js.map +1 -1
  54. package/dist/utils/qwen-extension-cli.d.ts +52 -0
  55. package/dist/utils/qwen-extension-cli.d.ts.map +1 -0
  56. package/dist/utils/qwen-extension-cli.js +169 -0
  57. package/dist/utils/qwen-extension-cli.js.map +1 -0
  58. package/dist/utils/qwen-extension-cli.test.d.ts +2 -0
  59. package/dist/utils/qwen-extension-cli.test.d.ts.map +1 -0
  60. package/dist/utils/qwen-extension-cli.test.js +100 -0
  61. package/dist/utils/qwen-extension-cli.test.js.map +1 -0
  62. package/package.json +5 -4
  63. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +54 -1
  64. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
  65. package/vendor/node_modules/@zmice/platform-core/dist/index.js +53 -0
  66. package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
  67. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +1 -1
  68. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  69. package/vendor/node_modules/@zmice/platform-core/package.json +1 -1
  70. package/vendor/packages/platform-claude/dist/generate.d.ts +2 -0
  71. package/vendor/packages/platform-claude/dist/generate.d.ts.map +1 -0
  72. package/vendor/packages/platform-claude/dist/generate.js +2 -0
  73. package/vendor/packages/platform-claude/dist/generate.js.map +1 -0
  74. package/vendor/packages/platform-claude/dist/index.d.ts +50 -0
  75. package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -0
  76. package/vendor/packages/platform-claude/dist/index.js +250 -0
  77. package/vendor/packages/platform-claude/dist/index.js.map +1 -0
  78. package/vendor/packages/platform-claude/dist/index.test.js +81 -0
  79. package/vendor/packages/platform-claude/dist/index.test.js.map +1 -0
  80. package/vendor/packages/platform-claude/dist/install.d.ts +2 -0
  81. package/vendor/packages/platform-claude/dist/install.d.ts.map +1 -0
  82. package/vendor/packages/platform-claude/dist/install.js +2 -0
  83. package/vendor/packages/platform-claude/dist/install.js.map +1 -0
  84. package/vendor/packages/platform-claude/package.json +46 -0
  85. package/vendor/packages/platform-claude/templates/.gitkeep +1 -0
  86. package/vendor/packages/platform-claude/templates/CLAUDE.md +1 -0
  87. package/vendor/packages/platform-codex/dist/index.d.ts +36 -2
  88. package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
  89. package/vendor/packages/platform-codex/dist/index.js +231 -6
  90. package/vendor/packages/platform-codex/dist/index.js.map +1 -1
  91. package/vendor/packages/platform-codex/dist/index.test.js +40 -10
  92. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
  93. package/vendor/packages/platform-opencode/dist/generate.d.ts +2 -0
  94. package/vendor/packages/platform-opencode/dist/generate.d.ts.map +1 -0
  95. package/vendor/packages/platform-opencode/dist/generate.js +2 -0
  96. package/vendor/packages/platform-opencode/dist/generate.js.map +1 -0
  97. package/vendor/packages/platform-opencode/dist/index.d.ts +46 -0
  98. package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -0
  99. package/vendor/packages/platform-opencode/dist/index.js +308 -0
  100. package/vendor/packages/platform-opencode/dist/index.js.map +1 -0
  101. package/vendor/packages/platform-opencode/dist/index.test.d.ts +2 -0
  102. package/vendor/packages/platform-opencode/dist/index.test.d.ts.map +1 -0
  103. package/vendor/packages/platform-opencode/dist/index.test.js +106 -0
  104. package/vendor/packages/platform-opencode/dist/index.test.js.map +1 -0
  105. package/vendor/packages/platform-opencode/dist/install.d.ts +2 -0
  106. package/vendor/packages/platform-opencode/dist/install.d.ts.map +1 -0
  107. package/vendor/packages/platform-opencode/dist/install.js +2 -0
  108. package/vendor/packages/platform-opencode/dist/install.js.map +1 -0
  109. package/vendor/packages/{platform-qoder → platform-opencode}/package.json +2 -2
  110. package/vendor/packages/platform-opencode/templates/AGENTS.md +1 -0
  111. package/vendor/packages/platform-qwen/dist/index.d.ts +55 -2
  112. package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
  113. package/vendor/packages/platform-qwen/dist/index.js +229 -11
  114. package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
  115. package/vendor/packages/platform-qwen/dist/index.test.js +54 -16
  116. package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -1
  117. package/vendor/packages/toolkit/dist/loaders.test.js +1 -1
  118. package/vendor/packages/toolkit/dist/loaders.test.js.map +1 -1
  119. package/vendor/packages/toolkit/dist/manifests.test.js +29 -2
  120. package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -1
  121. package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts +4 -6
  122. package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts.map +1 -1
  123. package/vendor/packages/toolkit/dist/query/toolkit-query.js +99 -1
  124. package/vendor/packages/toolkit/dist/query/toolkit-query.js.map +1 -1
  125. package/vendor/packages/toolkit/dist/query.test.js +209 -0
  126. package/vendor/packages/toolkit/dist/query.test.js.map +1 -1
  127. package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts.map +1 -1
  128. package/vendor/packages/toolkit/dist/schema/asset-meta.js +105 -1
  129. package/vendor/packages/toolkit/dist/schema/asset-meta.js.map +1 -1
  130. package/vendor/packages/toolkit/dist/types.d.ts +41 -1
  131. package/vendor/packages/toolkit/dist/types.d.ts.map +1 -1
  132. package/vendor/packages/toolkit/dist/types.js +26 -1
  133. package/vendor/packages/toolkit/dist/types.js.map +1 -1
  134. package/vendor/packages/toolkit/package.json +1 -1
  135. package/vendor/packages/toolkit/src/content/agents/architect/meta.yaml +2 -1
  136. package/vendor/packages/toolkit/src/content/agents/backend-specialist/meta.yaml +2 -1
  137. package/vendor/packages/toolkit/src/content/agents/code-reviewer/meta.yaml +2 -1
  138. package/vendor/packages/toolkit/src/content/agents/frontend-specialist/meta.yaml +2 -1
  139. package/vendor/packages/toolkit/src/content/agents/performance-engineer/meta.yaml +2 -1
  140. package/vendor/packages/toolkit/src/content/agents/product-owner/meta.yaml +2 -1
  141. package/vendor/packages/toolkit/src/content/agents/security-auditor/meta.yaml +2 -1
  142. package/vendor/packages/toolkit/src/content/agents/test-engineer/meta.yaml +2 -1
  143. package/vendor/packages/toolkit/src/content/commands/api/meta.yaml +2 -1
  144. package/vendor/packages/toolkit/src/content/commands/build/body.md +15 -20
  145. package/vendor/packages/toolkit/src/content/commands/build/meta.yaml +12 -1
  146. package/vendor/packages/toolkit/src/content/commands/careful/body.md +21 -11
  147. package/vendor/packages/toolkit/src/content/commands/careful/meta.yaml +16 -1
  148. package/vendor/packages/toolkit/src/content/commands/ci/meta.yaml +2 -1
  149. package/vendor/packages/toolkit/src/content/commands/commit/meta.yaml +2 -1
  150. package/vendor/packages/toolkit/src/content/commands/ctx-health/body.md +16 -16
  151. package/vendor/packages/toolkit/src/content/commands/ctx-health/meta.yaml +11 -1
  152. package/vendor/packages/toolkit/src/content/commands/debug/body.md +16 -17
  153. package/vendor/packages/toolkit/src/content/commands/debug/meta.yaml +12 -1
  154. package/vendor/packages/toolkit/src/content/commands/doc/body.md +15 -16
  155. package/vendor/packages/toolkit/src/content/commands/doc/meta.yaml +11 -1
  156. package/vendor/packages/toolkit/src/content/commands/freeze/body.md +20 -9
  157. package/vendor/packages/toolkit/src/content/commands/freeze/meta.yaml +16 -1
  158. package/vendor/packages/toolkit/src/content/commands/guard/body.md +21 -10
  159. package/vendor/packages/toolkit/src/content/commands/guard/meta.yaml +16 -1
  160. package/vendor/packages/toolkit/src/content/commands/idea/body.md +15 -16
  161. package/vendor/packages/toolkit/src/content/commands/idea/meta.yaml +12 -1
  162. package/vendor/packages/toolkit/src/content/commands/learn/meta.yaml +2 -1
  163. package/vendor/packages/toolkit/src/content/commands/migrate/meta.yaml +2 -1
  164. package/vendor/packages/toolkit/src/content/commands/onboard/body.md +15 -17
  165. package/vendor/packages/toolkit/src/content/commands/onboard/meta.yaml +11 -1
  166. package/vendor/packages/toolkit/src/content/commands/perf/meta.yaml +2 -1
  167. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +21 -20
  168. package/vendor/packages/toolkit/src/content/commands/plan-review/meta.yaml +12 -1
  169. package/vendor/packages/toolkit/src/content/commands/product-analysis/body.md +52 -0
  170. package/vendor/packages/toolkit/src/content/commands/product-analysis/meta.yaml +35 -0
  171. package/vendor/packages/toolkit/src/content/commands/qa/meta.yaml +2 -1
  172. package/vendor/packages/toolkit/src/content/commands/quality-review/body.md +13 -18
  173. package/vendor/packages/toolkit/src/content/commands/quality-review/meta.yaml +13 -1
  174. package/vendor/packages/toolkit/src/content/commands/retro/meta.yaml +2 -1
  175. package/vendor/packages/toolkit/src/content/commands/sdd-tdd/body.md +29 -29
  176. package/vendor/packages/toolkit/src/content/commands/sdd-tdd/meta.yaml +11 -1
  177. package/vendor/packages/toolkit/src/content/commands/secure/meta.yaml +2 -1
  178. package/vendor/packages/toolkit/src/content/commands/ship/body.md +16 -11
  179. package/vendor/packages/toolkit/src/content/commands/ship/meta.yaml +11 -1
  180. package/vendor/packages/toolkit/src/content/commands/simplify/meta.yaml +2 -1
  181. package/vendor/packages/toolkit/src/content/commands/spec/body.md +16 -21
  182. package/vendor/packages/toolkit/src/content/commands/spec/meta.yaml +12 -1
  183. package/vendor/packages/toolkit/src/content/commands/start/body.md +148 -0
  184. package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +55 -0
  185. package/vendor/packages/toolkit/src/content/commands/task-plan/body.md +13 -18
  186. package/vendor/packages/toolkit/src/content/commands/task-plan/meta.yaml +12 -1
  187. package/vendor/packages/toolkit/src/content/commands/ui/meta.yaml +2 -1
  188. package/vendor/packages/toolkit/src/content/commands/verify/body.md +12 -17
  189. package/vendor/packages/toolkit/src/content/commands/verify/meta.yaml +15 -1
  190. package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/meta.yaml +2 -1
  191. package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/meta.yaml +2 -1
  192. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/meta.yaml +2 -1
  193. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/meta.yaml +2 -1
  194. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/meta.yaml +2 -1
  195. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/meta.yaml +2 -1
  196. package/vendor/packages/toolkit/src/content/skills/code-simplification/meta.yaml +2 -1
  197. package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/body.md +6 -3
  198. package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/meta.yaml +2 -1
  199. package/vendor/packages/toolkit/src/content/skills/context-budget-audit/meta.yaml +2 -1
  200. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +7 -5
  201. package/vendor/packages/toolkit/src/content/skills/context-engineering/meta.yaml +2 -1
  202. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +15 -15
  203. package/vendor/packages/toolkit/src/content/skills/continuous-learning/meta.yaml +2 -1
  204. package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/body.md +9 -6
  205. package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/meta.yaml +2 -1
  206. package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/meta.yaml +2 -1
  207. package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/meta.yaml +2 -1
  208. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +7 -11
  209. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/meta.yaml +2 -1
  210. package/vendor/packages/toolkit/src/content/skills/engineering-principles/meta.yaml +2 -1
  211. package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/meta.yaml +2 -1
  212. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/meta.yaml +2 -1
  213. package/vendor/packages/toolkit/src/content/skills/idea-refine/body.md +31 -160
  214. package/vendor/packages/toolkit/src/content/skills/idea-refine/meta.yaml +2 -1
  215. package/vendor/packages/toolkit/src/content/skills/incremental-implementation/meta.yaml +2 -1
  216. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/meta.yaml +2 -1
  217. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/meta.yaml +2 -1
  218. package/vendor/packages/toolkit/src/content/skills/performance-optimization/meta.yaml +2 -1
  219. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/meta.yaml +2 -1
  220. package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/meta.yaml +2 -1
  221. package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/meta.yaml +2 -1
  222. package/vendor/packages/toolkit/src/content/skills/safety-guardrails/body.md +6 -2
  223. package/vendor/packages/toolkit/src/content/skills/safety-guardrails/meta.yaml +2 -1
  224. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/meta.yaml +2 -1
  225. package/vendor/packages/toolkit/src/content/skills/security-and-hardening/meta.yaml +2 -1
  226. package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/body.md +7 -11
  227. package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/meta.yaml +2 -1
  228. package/vendor/packages/toolkit/src/content/skills/source-driven-development/meta.yaml +2 -1
  229. package/vendor/packages/toolkit/src/content/skills/spec-driven-development/meta.yaml +2 -1
  230. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/meta.yaml +2 -1
  231. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/meta.yaml +2 -1
  232. package/vendor/packages/toolkit/src/content/skills/team-orchestration/meta.yaml +2 -1
  233. package/vendor/packages/toolkit/src/content/skills/test-driven-development/meta.yaml +2 -1
  234. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/meta.yaml +2 -1
  235. package/vendor/packages/toolkit/src/content/skills/verification-before-completion/meta.yaml +2 -1
  236. package/vendor/packages/platform-qoder/dist/generate.d.ts +0 -2
  237. package/vendor/packages/platform-qoder/dist/generate.d.ts.map +0 -1
  238. package/vendor/packages/platform-qoder/dist/generate.js +0 -2
  239. package/vendor/packages/platform-qoder/dist/generate.js.map +0 -1
  240. package/vendor/packages/platform-qoder/dist/index.d.ts +0 -15
  241. package/vendor/packages/platform-qoder/dist/index.d.ts.map +0 -1
  242. package/vendor/packages/platform-qoder/dist/index.js +0 -46
  243. package/vendor/packages/platform-qoder/dist/index.js.map +0 -1
  244. package/vendor/packages/platform-qoder/dist/index.test.js +0 -38
  245. package/vendor/packages/platform-qoder/dist/index.test.js.map +0 -1
  246. package/vendor/packages/platform-qoder/dist/install.d.ts +0 -2
  247. package/vendor/packages/platform-qoder/dist/install.d.ts.map +0 -1
  248. package/vendor/packages/platform-qoder/dist/install.js +0 -2
  249. package/vendor/packages/platform-qoder/dist/install.js.map +0 -1
  250. package/vendor/packages/platform-qoder/templates/instructions.md +0 -7
  251. /package/vendor/packages/{platform-qoder → platform-claude}/dist/index.test.d.ts +0 -0
  252. /package/vendor/packages/{platform-qoder → platform-claude}/dist/index.test.d.ts.map +0 -0
@@ -4,7 +4,88 @@ export const packageName = "@zmice/platform-qwen";
4
4
  export const templateFiles = {
5
5
  context: "QWEN.md",
6
6
  extensionManifest: "qwen-extension.json",
7
+ extensionName: "zc-toolkit",
7
8
  };
9
+ export const capability = {
10
+ platform: platformName,
11
+ namespace: "zc",
12
+ surfaces: ["entry-file", "commands-dir", "skills-dir", "agents-dir", "extension-dir"],
13
+ entryFile: {
14
+ fileName: templateFiles.context,
15
+ },
16
+ commands: {
17
+ relativeDir: "commands/zc",
18
+ fileExtension: ".md",
19
+ },
20
+ skills: {
21
+ relativeDir: "skills",
22
+ fileName: "SKILL.md",
23
+ },
24
+ agents: {
25
+ relativeDir: "agents",
26
+ fileExtension: ".md",
27
+ },
28
+ extension: {
29
+ relativeDir: "extensions",
30
+ name: templateFiles.extensionName,
31
+ manifestFile: templateFiles.extensionManifest,
32
+ contextFileName: templateFiles.context,
33
+ },
34
+ };
35
+ function stripKindPrefix(asset) {
36
+ const prefix = `${asset.kind}:`;
37
+ return asset.id.startsWith(prefix) ? asset.id.slice(prefix.length) : asset.id;
38
+ }
39
+ function selectMatchedAssetsByKind(manifest, kind) {
40
+ return selectMatchedAssets(manifest, platformName).filter((asset) => asset.kind === kind);
41
+ }
42
+ function renderYamlFrontmatter(fields) {
43
+ const lines = ["---"];
44
+ for (const [key, value] of Object.entries(fields)) {
45
+ if (value === undefined || value === null) {
46
+ continue;
47
+ }
48
+ if (Array.isArray(value)) {
49
+ if (value.length === 0) {
50
+ continue;
51
+ }
52
+ lines.push(`${key}:`);
53
+ for (const entry of value) {
54
+ lines.push(` - ${JSON.stringify(String(entry))}`);
55
+ }
56
+ continue;
57
+ }
58
+ lines.push(`${key}: ${JSON.stringify(String(value))}`);
59
+ }
60
+ lines.push("---");
61
+ return `${lines.join("\n")}\n`;
62
+ }
63
+ function renderMarkdownCommandFile(options) {
64
+ return `${renderYamlFrontmatter({
65
+ name: options.name,
66
+ description: options.description,
67
+ })}\n${options.body.trim()}\n`;
68
+ }
69
+ function renderSkillFile(options) {
70
+ return `${renderYamlFrontmatter({
71
+ name: options.name,
72
+ description: options.description,
73
+ })}\n${options.body.trim()}\n`;
74
+ }
75
+ function renderMarkdownAgentFile(options) {
76
+ return `${renderYamlFrontmatter({
77
+ name: options.name,
78
+ description: options.description,
79
+ tools: options.tools,
80
+ skills: options.skills,
81
+ })}\n${options.body.trim()}\n`;
82
+ }
83
+ function getExtensionRoot(scope = "project") {
84
+ if (scope === "project") {
85
+ return `.qwen/extensions/${templateFiles.extensionName}`;
86
+ }
87
+ return `extensions/${templateFiles.extensionName}`;
88
+ }
8
89
  function renderAssetList(assets) {
9
90
  if (assets.length === 0) {
10
91
  return "- 尚未匹配到任何工具包资产。";
@@ -13,48 +94,185 @@ function renderAssetList(assets) {
13
94
  .map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
14
95
  .join("\n");
15
96
  }
16
- function renderContextFile(manifestSource, assets) {
17
- return `# Qwen 平台上下文
97
+ function renderContextFile(manifestSource, assets, commands, skills, agents) {
98
+ return `# Qwen 工作流入口
99
+
100
+ 这是安装到 Qwen extension 里的薄入口文件。
101
+
102
+ 它负责三件事:
103
+
104
+ 1. 给出统一任务开始方式
105
+ 2. 说明固定 workflow 的选路规则
106
+ 3. 指向 extension 内的 \`commands/\`、\`skills/\`、\`agents/\` 详细内容
107
+
108
+ ## 核心规则
109
+
110
+ - 默认先评估任务类型,再选对应 workflow
111
+ - 中文优先,技术契约保持原样
112
+ - 证据先于断言,完成前必须验证
113
+ - 命令统一使用 \`zc:\` 命名空间,避免和平台内置能力冲突
114
+
115
+ ## 固定 workflow
116
+
117
+ ### 1. product-analysis
118
+ - 入口:\`zc:product-analysis\`
119
+ - 适用:需求模糊、价值与范围未收敛
120
+
121
+ ### 2. full-delivery
122
+ - 入口:\`zc:sdd-tdd\`
123
+ - 适用:新功能、较大改动、完整交付
124
+
125
+ ### 3. bugfix
126
+ - 入口:\`zc:debug\`
127
+ - 适用:Bug、失败测试、异常行为
128
+
129
+ ### 4. review-closure
130
+ - 入口:\`zc:quality-review\`
131
+ - 适用:已有改动,需要审查与反馈收敛
18
132
 
19
- 此工件由工具包资产生成。
133
+ ### 5. docs-release
134
+ - 入口:\`zc:doc\` 或 \`zc:ship\`
135
+ - 适用:文档、ADR、发布说明、上线准备
136
+
137
+ ### 6. investigation
138
+ - 入口:\`zc:onboard\` 或 \`zc:ctx-health\`
139
+ - 适用:陌生代码库、上下文失焦、技术摸底
140
+
141
+ ## 推荐开始方式
142
+
143
+ - 不确定走哪条线:先用 \`zc:start\`
144
+ - 需求模糊:进 \`zc:product-analysis\`
145
+ - 已确认是完整交付:进 \`zc:sdd-tdd\`
146
+ - 明确是 bug:进 \`zc:debug\`
147
+
148
+ ## 最常用入口速查
149
+
150
+ - 做新需求但范围还没收敛:\`zc:product-analysis\`
151
+ - 进入完整交付主流程:\`zc:sdd-tdd\`
152
+ - 修 bug:\`zc:debug\`
153
+ - 做代码审查和反馈收敛:\`zc:quality-review\`
154
+ - 补文档或发布说明:\`zc:doc\`
155
+ - 陌生项目先摸底:\`zc:onboard\` 或 \`zc:ctx-health\`
156
+
157
+ ## 详细内容在哪里
158
+
159
+ - commands:\`commands/zc/*.md\`
160
+ - skills:\`skills/zc-*/SKILL.md\`
161
+ - agents:\`agents/zc-*.md\`
162
+ - 如果入口页不足以判断,就先打开对应 command、skill 或 agent 再继续
163
+
164
+ ## 已安装能力
20
165
 
21
166
  - 清单来源:\`${manifestSource}\`
22
167
  - 匹配到的资产:${assets.length}
168
+ - 命令入口:${commands.length} 个,统一暴露为 \`zc:<command>\`
169
+ - skills:${skills.length} 个
170
+ - agents:${agents.length} 个
23
171
 
24
172
  ${renderAssetList(assets)}
25
173
  `;
26
174
  }
27
- function renderExtensionManifest(packageName, manifestSource, assets) {
175
+ function renderExtensionManifest(packageName, extensionVersion, manifestSource, assets, commands, skills, agents) {
28
176
  return `${JSON.stringify({
29
- name: packageName,
177
+ name: templateFiles.extensionName,
178
+ version: extensionVersion,
179
+ packageName,
30
180
  platform: platformName,
181
+ namespace: capability.namespace,
31
182
  manifestSource,
32
- contextFile: templateFiles.context,
183
+ extensionType: "toolkit-bundle",
184
+ contextFileName: templateFiles.context,
185
+ commandsDir: capability.commands?.relativeDir,
186
+ skillsDir: capability.skills?.relativeDir,
187
+ agentsDir: capability.agents?.relativeDir,
33
188
  assetCount: assets.length,
189
+ commandCount: commands.length,
190
+ skillCount: skills.length,
191
+ agentCount: agents.length,
34
192
  }, null, 2)}\n`;
35
193
  }
194
+ function renderCommandArtifact(extensionRoot, asset) {
195
+ const slug = stripKindPrefix(asset);
196
+ return {
197
+ path: `${extensionRoot}/commands/zc/${slug}.md`,
198
+ content: renderMarkdownCommandFile({
199
+ name: `zc:${slug}`,
200
+ description: describeAsset(asset),
201
+ body: asset.body ??
202
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen 命令入口,用于触发 \`zc:${slug}\`。`,
203
+ }),
204
+ };
205
+ }
206
+ function renderSkillArtifact(extensionRoot, asset) {
207
+ const slug = stripKindPrefix(asset);
208
+ return {
209
+ path: `${extensionRoot}/skills/zc-${slug}/SKILL.md`,
210
+ content: renderSkillFile({
211
+ name: `zc-${slug}`,
212
+ description: describeAsset(asset),
213
+ body: asset.body ??
214
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen skill,供 extension 目录直接加载。`,
215
+ }),
216
+ };
217
+ }
218
+ function renderAgentArtifact(extensionRoot, asset) {
219
+ const slug = stripKindPrefix(asset);
220
+ const skillRefs = asset.requires
221
+ ?.filter((entry) => entry.startsWith("skill:"))
222
+ .map((entry) => `zc-${entry.slice("skill:".length)}`);
223
+ return {
224
+ path: `${extensionRoot}/agents/zc-${slug}.md`,
225
+ content: renderMarkdownAgentFile({
226
+ name: `zc-${slug}`,
227
+ description: describeAsset(asset),
228
+ body: asset.body ??
229
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen agent,用于承接 \`zc-${slug}\` 角色能力。`,
230
+ tools: asset.tools,
231
+ skills: skillRefs,
232
+ }),
233
+ };
234
+ }
36
235
  export function createQwenGenerationPlan(manifest, options = {}) {
37
236
  const matchedAssets = selectMatchedAssets(manifest, platformName);
237
+ const commands = selectMatchedAssetsByKind(manifest, "command");
238
+ const skills = selectMatchedAssetsByKind(manifest, "skill");
239
+ const agents = selectMatchedAssetsByKind(manifest, "agent");
38
240
  const manifestSource = options.manifestSource ?? manifest.source ?? "toolkit-manifest";
39
241
  const resolvedPackageName = options.packageName ?? packageName;
242
+ const resolvedExtensionVersion = options.extensionVersion ?? "0.1.0";
243
+ const extensionRoot = getExtensionRoot(options.scope);
40
244
  return {
41
245
  platform: platformName,
42
246
  packageName: resolvedPackageName,
43
247
  manifestSource,
44
248
  matchedAssets,
249
+ capability,
45
250
  artifacts: [
46
251
  {
47
- path: templateFiles.context,
48
- content: renderContextFile(manifestSource, matchedAssets),
252
+ path: `${extensionRoot}/${templateFiles.context}`,
253
+ content: renderContextFile(manifestSource, matchedAssets, commands, skills, agents),
49
254
  },
50
255
  {
51
- path: templateFiles.extensionManifest,
52
- content: renderExtensionManifest(resolvedPackageName, manifestSource, matchedAssets),
256
+ path: `${extensionRoot}/${templateFiles.extensionManifest}`,
257
+ content: renderExtensionManifest(resolvedPackageName, resolvedExtensionVersion, manifestSource, matchedAssets, commands, skills, agents),
53
258
  },
259
+ ...commands.map((asset) => renderCommandArtifact(extensionRoot, asset)),
260
+ ...skills.map((asset) => renderSkillArtifact(extensionRoot, asset)),
261
+ ...agents.map((asset) => renderAgentArtifact(extensionRoot, asset)),
54
262
  ],
55
263
  };
56
264
  }
57
265
  export function createQwenInstallPlan(manifest, options) {
58
- return createInstallPlan(createQwenGenerationPlan(manifest, options), options);
266
+ const generationPlan = createQwenGenerationPlan(manifest, {
267
+ ...options,
268
+ scope: options.scope,
269
+ });
270
+ const installPlan = createInstallPlan(generationPlan, options);
271
+ return {
272
+ ...installPlan,
273
+ matchedAssets: generationPlan.matchedAssets,
274
+ capability,
275
+ scope: options.scope ?? "project",
276
+ };
59
277
  }
60
278
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GAOpB,MAAM,sBAAsB,CAAC;AAS9B,MAAM,CAAC,MAAM,YAAY,GAAG,MAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,sBAA+B,CAAC;AAU3D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,qBAAqB;CAChC,CAAC;AAEX,SAAS,eAAe,CAAC,MAAmC;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;SAC9E,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,cAAsB,EAAE,MAAmC;IACpF,OAAO;;;;WAIE,cAAc;WACd,MAAM,CAAC,MAAM;;EAEtB,eAAe,CAAC,MAAM,CAAC;CACxB,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,cAAsB,EACtB,MAAmC;IAEnC,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,YAAY;QACtB,cAAc;QACd,WAAW,EAAE,aAAa,CAAC,OAAO;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA6B,EAC7B,UAA6B,EAAE;IAE/B,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,IAAI,kBAAkB,CAAC;IACvF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC;IAE/D,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,mBAAmB;QAChC,cAAc;QACd,aAAa;QACb,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC;aAC1D;YACD;gBACE,IAAI,EAAE,aAAa,CAAC,iBAAiB;gBACrC,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,EAAE,cAAc,EAAE,aAAa,CAAC;aACrF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAA6B,EAC7B,OAAuB;IAEvB,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,84 @@
1
1
  import { describe, it } from "node:test";
2
2
  import assert from "node:assert/strict";
3
- import { createQwenGenerationPlan, createQwenInstallPlan, packageName, platformName, templateFiles, } from "./index.js";
3
+ import { capability, createQwenGenerationPlan, createQwenInstallPlan, packageName, platformName, templateFiles, } from "./index.js";
4
4
  const manifest = {
5
5
  source: "toolkit-manifest",
6
6
  assets: [
7
7
  {
8
- id: "skill-alpha",
8
+ id: "skill:alpha",
9
9
  kind: "skill",
10
10
  platforms: ["qwen", "codex"],
11
11
  title: "Alpha skill",
12
+ body: "Alpha skill body",
12
13
  },
13
14
  {
14
- id: "command-beta",
15
+ id: "command:start",
15
16
  kind: "command",
16
- platforms: ["codex"],
17
- title: "Beta command",
17
+ platforms: ["qwen"],
18
+ title: "Start command",
19
+ summary: "Route the task into the right workflow",
20
+ body: "Start command body",
21
+ },
22
+ {
23
+ id: "agent:reviewer",
24
+ kind: "agent",
25
+ platforms: ["qwen"],
26
+ title: "Reviewer agent",
27
+ summary: "Review implementation quality",
28
+ body: "Reviewer agent body",
29
+ tools: ["read", "grep"],
30
+ requires: ["skill:alpha"],
18
31
  },
19
32
  ],
20
33
  };
21
34
  describe("@zmice/platform-qwen scaffold", () => {
22
- it("creates a generation plan from toolkit assets", () => {
35
+ it("creates a project-scope extension generation plan from toolkit assets", () => {
23
36
  const plan = createQwenGenerationPlan(manifest);
24
37
  assert.equal(plan.platform, platformName);
25
38
  assert.equal(plan.packageName, packageName);
26
39
  assert.equal(plan.manifestSource, "toolkit-manifest");
27
- assert.deepEqual(plan.matchedAssets.map((asset) => asset.id), ["skill-alpha"]);
40
+ assert.equal(plan.capability?.extension?.name, templateFiles.extensionName);
41
+ assert.deepEqual(plan.capability, capability);
42
+ assert.deepEqual(plan.matchedAssets.map((asset) => asset.id), [
43
+ "skill:alpha",
44
+ "command:start",
45
+ "agent:reviewer",
46
+ ]);
28
47
  assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
29
- templateFiles.context,
30
- templateFiles.extensionManifest,
48
+ ".qwen/extensions/zc-toolkit/QWEN.md",
49
+ ".qwen/extensions/zc-toolkit/qwen-extension.json",
50
+ ".qwen/extensions/zc-toolkit/commands/zc/start.md",
51
+ ".qwen/extensions/zc-toolkit/skills/zc-alpha/SKILL.md",
52
+ ".qwen/extensions/zc-toolkit/agents/zc-reviewer.md",
31
53
  ]);
32
- assert.ok(plan.artifacts[0]?.content.includes("skill-alpha"));
33
- assert.ok(plan.artifacts[1]?.content.includes(`"contextFile": "${templateFiles.context}"`));
54
+ assert.ok(plan.artifacts[0]?.content.includes("Qwen 工作流入口"));
55
+ assert.ok(plan.artifacts[0]?.content.includes("zc:start"));
56
+ assert.ok(plan.artifacts[0]?.content.includes("固定 workflow"));
57
+ assert.ok(plan.artifacts[1]?.content.includes(`"name": "${templateFiles.extensionName}"`));
58
+ assert.ok(plan.artifacts[1]?.content.includes(`"version": "0.1.0"`));
59
+ assert.ok(plan.artifacts[1]?.content.includes(`"contextFileName": "${templateFiles.context}"`));
60
+ assert.ok(plan.artifacts[2]?.content.includes('name: "zc:start"'));
61
+ assert.ok(plan.artifacts[3]?.content.includes('name: "zc-alpha"'));
62
+ assert.ok(plan.artifacts[4]?.content.includes('name: "zc-reviewer"'));
34
63
  });
35
- it("creates an install plan that is rooted at the caller destination", () => {
36
- const plan = createQwenInstallPlan(manifest, { destinationRoot: "/tmp/qwen" });
64
+ it("creates a global install plan rooted at the caller destination", () => {
65
+ const plan = createQwenInstallPlan(manifest, {
66
+ destinationRoot: "/tmp/qwen",
67
+ scope: "global",
68
+ });
37
69
  assert.equal(plan.destinationRoot, "/tmp/qwen");
70
+ assert.equal(plan.scope, "global");
38
71
  assert.equal(plan.overwrite, "error");
72
+ assert.equal(plan.capability?.namespace, "zc");
39
73
  assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
40
- "/tmp/qwen/QWEN.md",
41
- "/tmp/qwen/qwen-extension.json",
74
+ "/tmp/qwen/extensions/zc-toolkit/QWEN.md",
75
+ "/tmp/qwen/extensions/zc-toolkit/qwen-extension.json",
76
+ "/tmp/qwen/extensions/zc-toolkit/commands/zc/start.md",
77
+ "/tmp/qwen/extensions/zc-toolkit/skills/zc-alpha/SKILL.md",
78
+ "/tmp/qwen/extensions/zc-toolkit/agents/zc-reviewer.md",
42
79
  ]);
43
- assert.ok(plan.artifacts[0]?.content.includes("工具包资产"));
80
+ assert.ok(plan.artifacts[0]?.content.includes("Qwen 工作流入口"));
81
+ assert.ok(plan.artifacts[2]?.content.includes("Start command body"));
44
82
  });
45
83
  });
46
84
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,aAAa,GAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,QAAQ,GAAwB;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE;QACN;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,KAAK,EAAE,aAAa;SACrB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,cAAc;SACtB;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,aAAa,CAAC,OAAO;YACrB,aAAa,CAAC,iBAAiB;SAChC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,mBAAmB;YACnB,+BAA+B;SAChC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ describe("loadToolkitAssetUnit", () => {
69
69
  assert.equal(unit.meta.source?.originPath, "skills/sdd-tdd-workflow/SKILL.md");
70
70
  assert.match(unit.body, /SDD\+TDD|spec|test|workflow/i);
71
71
  assert.ok(unit.attachments.length >= 0);
72
- assert.deepEqual(unit.meta.platforms, ["qwen", "codex", "qoder"]);
72
+ assert.deepEqual(unit.meta.platforms, ["qwen", "codex", "claude", "opencode"]);
73
73
  });
74
74
  });
75
75
  describe("loadToolkitContentTree", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"loaders.test.js","sourceRoot":"","sources":["../src/loaders.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBlC,CAAC,CAAC;QAEC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;YACvB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,sFAAsF;YACnG,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACvB,MAAM,EAAE;gBACN,QAAQ,EAAE,wBAAwB;gBAClC,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,6BAA6B;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CACrC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAChD,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,wBAAwB,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"loaders.test.js","sourceRoot":"","sources":["../src/loaders.test.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,22 @@ describe("createToolkitManifest", () => {
16
16
  assert.equal(getToolkitAssetById(manifest, "command:verify")?.meta.title, "验证");
17
17
  assert.equal(getToolkitAssetById(manifest, "command:task-plan")?.meta.title, "计划");
18
18
  assert.equal(getToolkitAssetById(manifest, "command:spec")?.meta.tier, "core");
19
+ assert.equal(getToolkitAssetById(manifest, "command:start")?.meta.workflowFamily, "intake");
20
+ assert.equal(getToolkitAssetById(manifest, "command:product-analysis")?.meta.workflowRole, "workflow-entry");
21
+ assert.equal(getToolkitAssetById(manifest, "command:sdd-tdd")?.meta.workflowRole, "workflow-entry");
22
+ assert.deepEqual(getToolkitAssetById(manifest, "command:start")?.meta.routingWorkflows, [
23
+ "product-analysis",
24
+ "full-delivery",
25
+ "bugfix",
26
+ "review-closure",
27
+ "docs-release",
28
+ "investigation"
29
+ ]);
30
+ assert.deepEqual(getToolkitAssetById(manifest, "command:start")?.meta.taskTypes, ["feature", "bugfix", "review", "docs", "release", "investigation"]);
31
+ assert.deepEqual(getToolkitAssetById(manifest, "command:build")?.meta.routingWorkflows, ["full-delivery", "bugfix"]);
32
+ assert.deepEqual(getToolkitAssetById(manifest, "command:quality-review")?.meta.routingWorkflows, ["full-delivery", "bugfix", "review-closure"]);
33
+ assert.deepEqual(getToolkitAssetById(manifest, "command:product-analysis")?.meta.routingWorkflows, ["product-analysis"]);
34
+ assert.deepEqual(getToolkitAssetById(manifest, "command:product-analysis")?.meta.taskTypes, ["feature", "investigation"]);
19
35
  assert.equal(getToolkitAssetById(manifest, "command:spec")?.meta.source?.upstream, "agent-skills");
20
36
  assert.equal(getToolkitAssetById(manifest, "skill:sdd-tdd-workflow")?.meta.source?.originPath, "skills/sdd-tdd-workflow/SKILL.md");
21
37
  assert.equal(getToolkitAssetById(manifest, "skill:engineering-principles")?.meta.source?.upstream, "andrej-karpathy-skills");
@@ -23,6 +39,15 @@ describe("createToolkitManifest", () => {
23
39
  assert.ok(Boolean(getToolkitAssetById(manifest, "skill:branch-finish-and-cleanup")));
24
40
  assert.ok(Boolean(getToolkitAssetById(manifest, "skill:release-documentation-sync")));
25
41
  assert.ok(Boolean(getToolkitAssetById(manifest, "skill:developer-experience-audit")));
42
+ assert.deepEqual(manifest.byRelationship.requires["command:product-analysis"], []);
43
+ assert.deepEqual(manifest.byRelationship.suggests["command:product-analysis"], [
44
+ "command:idea",
45
+ "agent:product-owner",
46
+ "skill:brainstorming-and-design",
47
+ "command:spec",
48
+ "command:plan-review",
49
+ "command:task-plan"
50
+ ]);
26
51
  assert.deepEqual(manifest.byRelationship.requires["command:build"], [
27
52
  "skill:incremental-implementation",
28
53
  "skill:test-driven-development"
@@ -42,7 +67,7 @@ describe("createToolkitManifest", () => {
42
67
  assert.deepEqual(manifest.byRelationship.suggests["skill:spec-driven-development"], [
43
68
  "skill:engineering-principles"
44
69
  ]);
45
- assert.deepEqual(getToolkitAssetById(manifest, "command:verify")?.meta.platforms, ["qwen", "codex", "qoder"]);
70
+ assert.deepEqual(getToolkitAssetById(manifest, "command:verify")?.meta.platforms, ["qwen", "codex", "claude", "opencode"]);
46
71
  assert.ok(listToolkitAssetsByKind(manifest, "agent").length >= 1);
47
72
  });
48
73
  });
@@ -56,6 +81,8 @@ describe("loadToolkitManifest", () => {
56
81
  assert.ok(Boolean(manifest.byId["skill:branch-finish-and-cleanup"]));
57
82
  assert.ok(Boolean(manifest.byId["skill:release-documentation-sync"]));
58
83
  assert.ok(Boolean(manifest.byId["skill:developer-experience-audit"]));
84
+ assert.ok(Boolean(manifest.byId["command:start"]));
85
+ assert.ok(Boolean(manifest.byId["command:product-analysis"]));
59
86
  assert.ok(Boolean(manifest.byId["command:spec"]));
60
87
  assert.ok(Boolean(manifest.byId["agent:architect"]));
61
88
  assert.equal(manifest.byId["skill:sdd-tdd-workflow"]?.meta.tier, "core");
@@ -69,7 +96,7 @@ describe("loadToolkitManifest", () => {
69
96
  "skill:security-and-hardening",
70
97
  "skill:performance-optimization"
71
98
  ]);
72
- assert.deepEqual(manifest.byId["agent:test-engineer"]?.meta.platforms, ["qwen", "codex", "qoder"]);
99
+ assert.deepEqual(manifest.byId["agent:test-engineer"]?.meta.platforms, ["qwen", "codex", "claude", "opencode"]);
73
100
  });
74
101
  });
75
102
  //# sourceMappingURL=manifests.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifests.test.js","sourceRoot":"","sources":["../src/manifests.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifests.test.js","sourceRoot":"","sources":["../src/manifests.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import type { ToolkitAssetUnit, ToolkitManifest } from "../types.js";
2
- export interface ToolkitRecommendation {
3
- target: ToolkitAssetUnit;
4
- required: readonly ToolkitAssetUnit[];
5
- suggested: readonly ToolkitAssetUnit[];
6
- }
1
+ import type { ToolkitAssetUnit, ToolkitManifest, ToolkitRecommendation, ToolkitRouteHint, ToolkitTaskType, ToolkitWorkflowRole } from "../types.js";
7
2
  export declare function resolveToolkitAssetQuery(manifest: ToolkitManifest, query: string): ToolkitAssetUnit | undefined;
8
3
  export declare function searchToolkitAssets(manifest: ToolkitManifest, keyword: string): readonly ToolkitAssetUnit[];
9
4
  export declare function recommendToolkitAssets(manifest: ToolkitManifest, query: string): ToolkitRecommendation | undefined;
5
+ export declare function getToolkitRouteHint(manifest: ToolkitManifest, asset: ToolkitAssetUnit): ToolkitRouteHint | undefined;
6
+ export declare function formatToolkitTaskTypes(taskTypes: readonly ToolkitTaskType[]): string;
7
+ export declare function isPrimaryWorkflowEntry(role: ToolkitWorkflowRole | undefined): boolean;
10
8
  //# sourceMappingURL=toolkit-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolkit-query.d.ts","sourceRoot":"","sources":["../../src/query/toolkit-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACxC;AAmBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG,SAAS,CAc9B;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,SAAS,gBAAgB,EAAE,CAI7B;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAmBnC"}
1
+ {"version":3,"file":"toolkit-query.d.ts","sourceRoot":"","sources":["../../src/query/toolkit-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAEf,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAmBrB,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG,SAAS,CAc9B;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,SAAS,gBAAgB,EAAE,CAI7B;AAsHD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAuBnC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAE9B;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAEpF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAErF"}