@rpamis/comet 0.4.0-beta.3 → 0.4.0-beta.4

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 (508) hide show
  1. package/README.md +10 -0
  2. package/assets/manifest.json +2 -1
  3. package/assets/skills/comet/SKILL.md +25 -1
  4. package/assets/skills/comet/reference/comet-yaml-fields.md +5 -2
  5. package/assets/skills/comet/reference/context-recovery.md +10 -0
  6. package/assets/skills/comet/reference/scripts.md +47 -15
  7. package/assets/skills/comet/rules/comet-phase-guard.en.md +8 -0
  8. package/assets/skills/comet/rules/comet-phase-guard.md +9 -1
  9. package/assets/skills/comet/scripts/comet-resume-probe.mjs +3 -0
  10. package/assets/skills/comet/scripts/comet-runtime.mjs +1387 -424
  11. package/assets/skills/comet-archive/SKILL.md +24 -11
  12. package/assets/skills/comet-build/SKILL.md +42 -25
  13. package/assets/skills/comet-design/SKILL.md +1 -0
  14. package/assets/skills/comet-hotfix/SKILL.md +3 -1
  15. package/assets/skills/comet-open/SKILL.md +11 -1
  16. package/assets/skills/comet-tweak/SKILL.md +3 -1
  17. package/assets/skills/comet-verify/SKILL.md +29 -20
  18. package/assets/skills-zh/comet/SKILL.md +25 -1
  19. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +5 -2
  20. package/assets/skills-zh/comet/reference/context-recovery.md +10 -0
  21. package/assets/skills-zh/comet/reference/scripts.md +47 -15
  22. package/assets/skills-zh/comet-archive/SKILL.md +24 -11
  23. package/assets/skills-zh/comet-build/SKILL.md +42 -25
  24. package/assets/skills-zh/comet-design/SKILL.md +1 -0
  25. package/assets/skills-zh/comet-hotfix/SKILL.md +3 -1
  26. package/assets/skills-zh/comet-open/SKILL.md +11 -1
  27. package/assets/skills-zh/comet-tweak/SKILL.md +3 -1
  28. package/assets/skills-zh/comet-verify/SKILL.md +30 -21
  29. package/dist/app/cli/comet-banner.d.ts +25 -0
  30. package/dist/app/cli/comet-banner.d.ts.map +1 -0
  31. package/dist/app/cli/comet-banner.js +265 -0
  32. package/dist/app/cli/comet-banner.js.map +1 -0
  33. package/dist/app/cli/index.js +36 -2
  34. package/dist/app/cli/index.js.map +1 -1
  35. package/dist/app/commands/classic.d.ts +4 -0
  36. package/dist/app/commands/classic.d.ts.map +1 -0
  37. package/dist/app/commands/classic.js +11 -0
  38. package/dist/app/commands/classic.js.map +1 -0
  39. package/dist/app/commands/doctor.d.ts.map +1 -1
  40. package/dist/app/commands/doctor.js +39 -24
  41. package/dist/app/commands/doctor.js.map +1 -1
  42. package/dist/app/commands/eval.d.ts.map +1 -1
  43. package/dist/app/commands/eval.js +57 -20
  44. package/dist/app/commands/eval.js.map +1 -1
  45. package/dist/app/commands/i18n.d.ts +1 -1
  46. package/dist/app/commands/i18n.d.ts.map +1 -1
  47. package/dist/app/commands/i18n.js +12 -4
  48. package/dist/app/commands/i18n.js.map +1 -1
  49. package/dist/app/commands/init.d.ts.map +1 -1
  50. package/dist/app/commands/init.js +16 -13
  51. package/dist/app/commands/init.js.map +1 -1
  52. package/dist/app/commands/project-scope-selection.d.ts +13 -0
  53. package/dist/app/commands/project-scope-selection.d.ts.map +1 -0
  54. package/dist/app/commands/project-scope-selection.js +33 -0
  55. package/dist/app/commands/project-scope-selection.js.map +1 -0
  56. package/dist/app/commands/resume-probe.d.ts +11 -0
  57. package/dist/app/commands/resume-probe.d.ts.map +1 -0
  58. package/dist/app/commands/resume-probe.js +63 -0
  59. package/dist/app/commands/resume-probe.js.map +1 -0
  60. package/dist/app/commands/status.d.ts +31 -0
  61. package/dist/app/commands/status.d.ts.map +1 -1
  62. package/dist/app/commands/status.js +109 -20
  63. package/dist/app/commands/status.js.map +1 -1
  64. package/dist/app/commands/uninstall.d.ts +2 -0
  65. package/dist/app/commands/uninstall.d.ts.map +1 -1
  66. package/dist/app/commands/uninstall.js +217 -40
  67. package/dist/app/commands/uninstall.js.map +1 -1
  68. package/dist/app/commands/update.d.ts +6 -0
  69. package/dist/app/commands/update.d.ts.map +1 -1
  70. package/dist/app/commands/update.js +361 -68
  71. package/dist/app/commands/update.js.map +1 -1
  72. package/dist/config/repository-layout.json +4 -2
  73. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -1
  74. package/dist/domains/bundle/bundle-platform.js +3 -1
  75. package/dist/domains/bundle/bundle-platform.js.map +1 -1
  76. package/dist/domains/bundle/eval-manifest-runtime.d.ts +6 -0
  77. package/dist/domains/bundle/eval-manifest-runtime.d.ts.map +1 -0
  78. package/dist/domains/bundle/eval-manifest-runtime.js +58 -0
  79. package/dist/domains/bundle/eval-manifest-runtime.js.map +1 -0
  80. package/dist/domains/bundle/types.d.ts +1 -1
  81. package/dist/domains/bundle/types.d.ts.map +1 -1
  82. package/dist/domains/comet-classic/classic-archive.d.ts +1 -0
  83. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
  84. package/dist/domains/comet-classic/classic-archive.js +35 -38
  85. package/dist/domains/comet-classic/classic-archive.js.map +1 -1
  86. package/dist/domains/comet-classic/classic-cli.d.ts +1 -1
  87. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -1
  88. package/dist/domains/comet-classic/classic-cli.js +3 -0
  89. package/dist/domains/comet-classic/classic-cli.js.map +1 -1
  90. package/dist/domains/comet-classic/classic-command-checks.d.ts +20 -0
  91. package/dist/domains/comet-classic/classic-command-checks.d.ts.map +1 -0
  92. package/dist/domains/comet-classic/classic-command-checks.js +97 -0
  93. package/dist/domains/comet-classic/classic-command-checks.js.map +1 -0
  94. package/dist/domains/comet-classic/classic-current-change.d.ts +19 -0
  95. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -0
  96. package/dist/domains/comet-classic/classic-current-change.js +132 -0
  97. package/dist/domains/comet-classic/classic-current-change.js.map +1 -0
  98. package/dist/domains/comet-classic/classic-diagnostics.d.ts +2 -1
  99. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -1
  100. package/dist/domains/comet-classic/classic-diagnostics.js +54 -1
  101. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -1
  102. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -1
  103. package/dist/domains/comet-classic/classic-evidence.js +4 -0
  104. package/dist/domains/comet-classic/classic-evidence.js.map +1 -1
  105. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  106. package/dist/domains/comet-classic/classic-guard.js +68 -69
  107. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  108. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  109. package/dist/domains/comet-classic/classic-hook-guard.js +66 -23
  110. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  111. package/dist/domains/comet-classic/classic-project-config.d.ts +16 -0
  112. package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -0
  113. package/dist/domains/comet-classic/classic-project-config.js +40 -0
  114. package/dist/domains/comet-classic/classic-project-config.js.map +1 -0
  115. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -1
  116. package/dist/domains/comet-classic/classic-resolver.js +3 -3
  117. package/dist/domains/comet-classic/classic-resolver.js.map +1 -1
  118. package/dist/domains/comet-classic/classic-resume-probe-command.d.ts +3 -0
  119. package/dist/domains/comet-classic/classic-resume-probe-command.d.ts.map +1 -0
  120. package/dist/domains/comet-classic/classic-resume-probe-command.js +58 -0
  121. package/dist/domains/comet-classic/classic-resume-probe-command.js.map +1 -0
  122. package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts +2 -0
  123. package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts.map +1 -0
  124. package/dist/domains/comet-classic/classic-resume-probe-entry.js +4 -0
  125. package/dist/domains/comet-classic/classic-resume-probe-entry.js.map +1 -0
  126. package/dist/domains/comet-classic/classic-resume-probe.d.ts +29 -0
  127. package/dist/domains/comet-classic/classic-resume-probe.d.ts.map +1 -0
  128. package/dist/domains/comet-classic/classic-resume-probe.js +386 -0
  129. package/dist/domains/comet-classic/classic-resume-probe.js.map +1 -0
  130. package/dist/domains/comet-classic/classic-runtime-run.d.ts +2 -1
  131. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
  132. package/dist/domains/comet-classic/classic-runtime-run.js +38 -0
  133. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
  134. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
  135. package/dist/domains/comet-classic/classic-state-command.js +128 -12
  136. package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
  137. package/dist/domains/comet-classic/classic-state.d.ts +3 -1
  138. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
  139. package/dist/domains/comet-classic/classic-state.js +4 -0
  140. package/dist/domains/comet-classic/classic-state.js.map +1 -1
  141. package/dist/domains/comet-classic/classic-store.d.ts +4 -1
  142. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -1
  143. package/dist/domains/comet-classic/classic-store.js +4 -3
  144. package/dist/domains/comet-classic/classic-store.js.map +1 -1
  145. package/dist/domains/comet-classic/classic-transitions.d.ts +1 -1
  146. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
  147. package/dist/domains/comet-classic/classic-transitions.js +20 -1
  148. package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
  149. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
  150. package/dist/domains/comet-classic/classic-validate-command.js +1 -0
  151. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
  152. package/dist/domains/comet-classic/index.d.ts +3 -0
  153. package/dist/domains/comet-classic/index.d.ts.map +1 -1
  154. package/dist/domains/comet-classic/index.js +3 -0
  155. package/dist/domains/comet-classic/index.js.map +1 -1
  156. package/dist/domains/dashboard/collector.js +10 -2
  157. package/dist/domains/dashboard/collector.js.map +1 -1
  158. package/dist/domains/dashboard/web/assets/{index-CjU3VXVu.js → index-CIvN-PL8.js} +11 -11
  159. package/dist/domains/dashboard/web/assets/{index-BcO3_QlT.css → index-DcyRPBnT.css} +1 -1
  160. package/dist/domains/dashboard/web/index.html +2 -2
  161. package/dist/domains/engine/types.d.ts +1 -1
  162. package/dist/domains/engine/types.d.ts.map +1 -1
  163. package/dist/domains/integrations/openspec.d.ts.map +1 -1
  164. package/dist/domains/integrations/openspec.js +6 -6
  165. package/dist/domains/integrations/openspec.js.map +1 -1
  166. package/dist/domains/skill/find.d.ts.map +1 -1
  167. package/dist/domains/skill/find.js +1 -6
  168. package/dist/domains/skill/find.js.map +1 -1
  169. package/dist/domains/skill/managed-markdown.d.ts +14 -0
  170. package/dist/domains/skill/managed-markdown.d.ts.map +1 -0
  171. package/dist/domains/skill/managed-markdown.js +126 -0
  172. package/dist/domains/skill/managed-markdown.js.map +1 -0
  173. package/dist/domains/skill/platform-install.d.ts +4 -3
  174. package/dist/domains/skill/platform-install.d.ts.map +1 -1
  175. package/dist/domains/skill/platform-install.js +96 -26
  176. package/dist/domains/skill/platform-install.js.map +1 -1
  177. package/dist/domains/skill/project-instructions.d.ts +22 -0
  178. package/dist/domains/skill/project-instructions.d.ts.map +1 -0
  179. package/dist/domains/skill/project-instructions.js +61 -0
  180. package/dist/domains/skill/project-instructions.js.map +1 -0
  181. package/dist/domains/skill/uninstall.d.ts +3 -1
  182. package/dist/domains/skill/uninstall.d.ts.map +1 -1
  183. package/dist/domains/skill/uninstall.js +86 -39
  184. package/dist/domains/skill/uninstall.js.map +1 -1
  185. package/dist/platform/install/detect.d.ts +2 -1
  186. package/dist/platform/install/detect.d.ts.map +1 -1
  187. package/dist/platform/install/detect.js +10 -1
  188. package/dist/platform/install/detect.js.map +1 -1
  189. package/dist/platform/install/platforms.d.ts +5 -1
  190. package/dist/platform/install/platforms.d.ts.map +1 -1
  191. package/dist/platform/install/platforms.js +21 -4
  192. package/dist/platform/install/platforms.js.map +1 -1
  193. package/dist/platform/install/project-registry.d.ts +37 -0
  194. package/dist/platform/install/project-registry.d.ts.map +1 -0
  195. package/dist/platform/install/project-registry.js +205 -0
  196. package/dist/platform/install/project-registry.js.map +1 -0
  197. package/eval/.env +28 -0
  198. package/eval/.env.example +52 -0
  199. package/eval/CLAUDE.md +43 -0
  200. package/eval/README.md +538 -0
  201. package/eval/langsmith/.env.example +16 -0
  202. package/eval/langsmith/README.md +93 -0
  203. package/eval/langsmith/skills/README.md +5 -0
  204. package/eval/langsmith/tasks/README.md +5 -0
  205. package/eval/langsmith/tests/conftest.py +187 -0
  206. package/eval/langsmith/tests/tasks/test_tasks.py +287 -0
  207. package/eval/langsmith/treatments/README.md +5 -0
  208. package/eval/local/README.md +80 -0
  209. package/eval/local/regression_baseline.json +13 -0
  210. package/eval/local/report-style-demo-assets/quality_cost.en.svg +41 -0
  211. package/eval/local/report-style-demo-assets/quality_cost.zh.svg +41 -0
  212. package/eval/local/report-style-demo-assets/rubric_delta.en.svg +56 -0
  213. package/eval/local/report-style-demo-assets/rubric_delta.zh.svg +56 -0
  214. package/eval/local/report-style-demo-assets/task_outcomes.en.svg +46 -0
  215. package/eval/local/report-style-demo-assets/task_outcomes.zh.svg +46 -0
  216. package/eval/local/report-style-demo.html +867 -0
  217. package/eval/local/scripts/compare_baselines.py +1018 -0
  218. package/eval/local/scripts/generate_report_style_demo_charts.py +322 -0
  219. package/eval/local/scripts/regression_check.py +171 -0
  220. package/eval/local/scripts/render_readme_benchmark_figures.py +416 -0
  221. package/eval/local/scripts/rescore_rubric.py +120 -0
  222. package/eval/local/skills/benchmarks/039-release/comet-classic-039/SKILL.md +282 -0
  223. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/auto-transition.md +27 -0
  224. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/comet-yaml-fields.md +68 -0
  225. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/context-recovery.md +35 -0
  226. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/debug-gate.md +17 -0
  227. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/decision-point.md +20 -0
  228. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/dirty-worktree.md +59 -0
  229. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/file-structure.md +28 -0
  230. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/subagent-dispatch.md +113 -0
  231. package/eval/local/skills/benchmarks/039-release/comet-classic-039/rules/comet-phase-guard.md +125 -0
  232. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-archive.sh +311 -0
  233. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-env.sh +110 -0
  234. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-guard.sh +778 -0
  235. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-handoff.sh +390 -0
  236. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-hook-guard.sh +336 -0
  237. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-state.sh +1338 -0
  238. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-yaml-validate.sh +225 -0
  239. package/eval/local/skills/benchmarks/039-release/comet-classic-039-archive/SKILL.md +100 -0
  240. package/eval/local/skills/benchmarks/039-release/comet-classic-039-build/SKILL.md +304 -0
  241. package/eval/local/skills/benchmarks/039-release/comet-classic-039-design/SKILL.md +263 -0
  242. package/eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix/SKILL.md +204 -0
  243. package/eval/local/skills/benchmarks/039-release/comet-classic-039-open/SKILL.md +220 -0
  244. package/eval/local/skills/benchmarks/039-release/comet-classic-039-tweak/SKILL.md +180 -0
  245. package/eval/local/skills/benchmarks/039-release/comet-classic-039-verify/SKILL.md +234 -0
  246. package/eval/local/skills/benchmarks/040-beta/comet/SKILL.md +261 -0
  247. package/eval/local/skills/benchmarks/040-beta/comet/reference/auto-transition.md +27 -0
  248. package/eval/local/skills/benchmarks/040-beta/comet/reference/comet-yaml-fields.md +73 -0
  249. package/eval/local/skills/benchmarks/040-beta/comet/reference/context-recovery.md +45 -0
  250. package/eval/local/skills/benchmarks/040-beta/comet/reference/debug-gate.md +33 -0
  251. package/eval/local/skills/benchmarks/040-beta/comet/reference/decision-point.md +31 -0
  252. package/eval/local/skills/benchmarks/040-beta/comet/reference/dirty-worktree.md +59 -0
  253. package/eval/local/skills/benchmarks/040-beta/comet/reference/file-structure.md +28 -0
  254. package/eval/local/skills/benchmarks/040-beta/comet/reference/intent-frame.md +74 -0
  255. package/eval/local/skills/benchmarks/040-beta/comet/reference/scripts.md +69 -0
  256. package/eval/local/skills/benchmarks/040-beta/comet/reference/subagent-dispatch.md +169 -0
  257. package/eval/local/skills/benchmarks/040-beta/comet/rules/comet-phase-guard.md +130 -0
  258. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/checks.yaml +6 -0
  259. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/guardrails.yaml +13 -0
  260. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/skill.yaml +122 -0
  261. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-archive.mjs +9515 -0
  262. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-env.mjs +15 -0
  263. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-guard.mjs +10173 -0
  264. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-handoff.mjs +9491 -0
  265. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-hook-guard.mjs +9175 -0
  266. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-intent.mjs +404 -0
  267. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-state.mjs +9273 -0
  268. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-yaml-validate.mjs +7627 -0
  269. package/eval/local/skills/benchmarks/040-beta/comet-archive/SKILL.md +110 -0
  270. package/eval/local/skills/benchmarks/040-beta/comet-build/SKILL.md +315 -0
  271. package/eval/local/skills/benchmarks/040-beta/comet-design/SKILL.md +260 -0
  272. package/eval/local/skills/benchmarks/040-beta/comet-hotfix/SKILL.md +190 -0
  273. package/eval/local/skills/benchmarks/040-beta/comet-open/SKILL.md +210 -0
  274. package/eval/local/skills/benchmarks/040-beta/comet-tweak/SKILL.md +183 -0
  275. package/eval/local/skills/benchmarks/040-beta/comet-verify/SKILL.md +230 -0
  276. package/eval/local/skills/benchmarks/dependency/claude-md/comet-workflow/CLAUDE.md +12 -0
  277. package/eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change/SKILL.md +156 -0
  278. package/eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change/SKILL.md +114 -0
  279. package/eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
  280. package/eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change/SKILL.md +118 -0
  281. package/eval/local/skills/benchmarks/dependency/openspec/openspec-explore/SKILL.md +288 -0
  282. package/eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change/SKILL.md +101 -0
  283. package/eval/local/skills/benchmarks/dependency/openspec/openspec-new-change/SKILL.md +74 -0
  284. package/eval/local/skills/benchmarks/dependency/openspec/openspec-onboard/SKILL.md +554 -0
  285. package/eval/local/skills/benchmarks/dependency/openspec/openspec-propose/SKILL.md +110 -0
  286. package/eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs/SKILL.md +138 -0
  287. package/eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change/SKILL.md +168 -0
  288. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/SKILL.md +159 -0
  289. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/frame-template.html +213 -0
  290. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/helper.js +167 -0
  291. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/server.cjs +723 -0
  292. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/start-server.sh +209 -0
  293. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/stop-server.sh +120 -0
  294. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
  295. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/visual-companion.md +291 -0
  296. package/eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents/SKILL.md +185 -0
  297. package/eval/local/skills/benchmarks/dependency/superpowers/executing-plans/SKILL.md +70 -0
  298. package/eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch/SKILL.md +241 -0
  299. package/eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review/SKILL.md +213 -0
  300. package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/SKILL.md +103 -0
  301. package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/code-reviewer.md +172 -0
  302. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/SKILL.md +418 -0
  303. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/implementer-prompt.md +139 -0
  304. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/review-package +44 -0
  305. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/sdd-workspace +22 -0
  306. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/task-brief +40 -0
  307. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/task-reviewer-prompt.md +188 -0
  308. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
  309. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md +296 -0
  310. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
  311. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
  312. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/defense-in-depth.md +122 -0
  313. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/find-polluter.sh +63 -0
  314. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
  315. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-academic.md +14 -0
  316. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-1.md +58 -0
  317. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-2.md +68 -0
  318. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-3.md +69 -0
  319. package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/SKILL.md +371 -0
  320. package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
  321. package/eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees/SKILL.md +202 -0
  322. package/eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion/SKILL.md +139 -0
  323. package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/SKILL.md +174 -0
  324. package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
  325. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md +689 -0
  326. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
  327. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  328. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/graphviz-conventions.dot +172 -0
  329. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/persuasion-principles.md +187 -0
  330. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/render-graphs.js +168 -0
  331. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
  332. package/eval/local/tasks/authoring-skill-smoke/environment/Dockerfile +2 -0
  333. package/eval/local/tasks/authoring-skill-smoke/instruction.md +4 -0
  334. package/eval/local/tasks/authoring-skill-smoke/task.toml +21 -0
  335. package/eval/local/tasks/authoring-skill-smoke/validation/test_authoring_skill_smoke.py +54 -0
  336. package/eval/local/tasks/comet-agent-memory-routing/environment/Dockerfile +28 -0
  337. package/eval/local/tasks/comet-agent-memory-routing/environment/agent_system.py +40 -0
  338. package/eval/local/tasks/comet-agent-memory-routing/environment/test_agent_system.py +29 -0
  339. package/eval/local/tasks/comet-agent-memory-routing/instruction.md +20 -0
  340. package/eval/local/tasks/comet-agent-memory-routing/task.toml +24 -0
  341. package/eval/local/tasks/comet-agent-memory-routing/validation/test_agent_memory_routing.py +24 -0
  342. package/eval/local/tasks/comet-api-cache-ttl/environment/Dockerfile +39 -0
  343. package/eval/local/tasks/comet-api-cache-ttl/environment/cache.py +39 -0
  344. package/eval/local/tasks/comet-api-cache-ttl/environment/test_cache.py +81 -0
  345. package/eval/local/tasks/comet-api-cache-ttl/instruction.md +33 -0
  346. package/eval/local/tasks/comet-api-cache-ttl/task.toml +24 -0
  347. package/eval/local/tasks/comet-api-cache-ttl/validation/test_api_cache_ttl.py +58 -0
  348. package/eval/local/tasks/comet-cross-file-refactor/environment/Dockerfile +15 -0
  349. package/eval/local/tasks/comet-cross-file-refactor/environment/cli.py +13 -0
  350. package/eval/local/tasks/comet-cross-file-refactor/environment/counting.py +13 -0
  351. package/eval/local/tasks/comet-cross-file-refactor/environment/test_textkit.py +21 -0
  352. package/eval/local/tasks/comet-cross-file-refactor/instruction.md +16 -0
  353. package/eval/local/tasks/comet-cross-file-refactor/task.toml +20 -0
  354. package/eval/local/tasks/comet-cross-file-refactor/validation/test_cross_file_refactor.py +20 -0
  355. package/eval/local/tasks/comet-dependency-confusion/environment/Dockerfile +28 -0
  356. package/eval/local/tasks/comet-dependency-confusion/environment/app.py +8 -0
  357. package/eval/local/tasks/comet-dependency-confusion/environment/settings_loader.py +14 -0
  358. package/eval/local/tasks/comet-dependency-confusion/environment/test_settings_service.py +19 -0
  359. package/eval/local/tasks/comet-dependency-confusion/instruction.md +18 -0
  360. package/eval/local/tasks/comet-dependency-confusion/task.toml +24 -0
  361. package/eval/local/tasks/comet-dependency-confusion/validation/test_dependency_confusion.py +24 -0
  362. package/eval/local/tasks/comet-fix-median/environment/Dockerfile +50 -0
  363. package/eval/local/tasks/comet-fix-median/environment/stats.py +54 -0
  364. package/eval/local/tasks/comet-fix-median/environment/test_stats.py +68 -0
  365. package/eval/local/tasks/comet-fix-median/instruction.md +25 -0
  366. package/eval/local/tasks/comet-fix-median/task.toml +24 -0
  367. package/eval/local/tasks/comet-fix-median/validation/test_fix_median.py +60 -0
  368. package/eval/local/tasks/comet-framework-selection/environment/Dockerfile +28 -0
  369. package/eval/local/tasks/comet-framework-selection/environment/architecture.py +12 -0
  370. package/eval/local/tasks/comet-framework-selection/environment/test_architecture.py +30 -0
  371. package/eval/local/tasks/comet-framework-selection/instruction.md +22 -0
  372. package/eval/local/tasks/comet-framework-selection/task.toml +24 -0
  373. package/eval/local/tasks/comet-framework-selection/validation/test_framework_selection.py +24 -0
  374. package/eval/local/tasks/comet-full-workflow/environment/Dockerfile +53 -0
  375. package/eval/local/tasks/comet-full-workflow/environment/test_wordcount.py +29 -0
  376. package/eval/local/tasks/comet-full-workflow/environment/wordcount.py +40 -0
  377. package/eval/local/tasks/comet-full-workflow/instruction.md +18 -0
  378. package/eval/local/tasks/comet-full-workflow/task.toml +24 -0
  379. package/eval/local/tasks/comet-full-workflow/validation/test_full_workflow.py +171 -0
  380. package/eval/local/tasks/comet-graph-execution-review/environment/Dockerfile +28 -0
  381. package/eval/local/tasks/comet-graph-execution-review/environment/pipeline.py +19 -0
  382. package/eval/local/tasks/comet-graph-execution-review/environment/test_pipeline.py +53 -0
  383. package/eval/local/tasks/comet-graph-execution-review/instruction.md +21 -0
  384. package/eval/local/tasks/comet-graph-execution-review/task.toml +24 -0
  385. package/eval/local/tasks/comet-graph-execution-review/validation/test_graph_execution_review.py +24 -0
  386. package/eval/local/tasks/comet-human-approval-flow/environment/Dockerfile +15 -0
  387. package/eval/local/tasks/comet-human-approval-flow/environment/approvals.py +17 -0
  388. package/eval/local/tasks/comet-human-approval-flow/environment/test_approvals.py +30 -0
  389. package/eval/local/tasks/comet-human-approval-flow/instruction.md +15 -0
  390. package/eval/local/tasks/comet-human-approval-flow/task.toml +20 -0
  391. package/eval/local/tasks/comet-human-approval-flow/validation/test_human_approval_flow.py +20 -0
  392. package/eval/local/tasks/comet-layered-streaming-fix/environment/Dockerfile +20 -0
  393. package/eval/local/tasks/comet-layered-streaming-fix/environment/chat_app.py +19 -0
  394. package/eval/local/tasks/comet-layered-streaming-fix/environment/test_chat_app.py +15 -0
  395. package/eval/local/tasks/comet-layered-streaming-fix/instruction.md +14 -0
  396. package/eval/local/tasks/comet-layered-streaming-fix/task.toml +20 -0
  397. package/eval/local/tasks/comet-layered-streaming-fix/validation/test_layered_streaming_fix.py +20 -0
  398. package/eval/local/tasks/comet-noise-distractor/environment/Dockerfile +15 -0
  399. package/eval/local/tasks/comet-noise-distractor/environment/distractor.md +4 -0
  400. package/eval/local/tasks/comet-noise-distractor/environment/invoice.py +5 -0
  401. package/eval/local/tasks/comet-noise-distractor/environment/test_invoice.py +18 -0
  402. package/eval/local/tasks/comet-noise-distractor/instruction.md +17 -0
  403. package/eval/local/tasks/comet-noise-distractor/task.toml +20 -0
  404. package/eval/local/tasks/comet-noise-distractor/validation/test_noise_distractor.py +20 -0
  405. package/eval/local/tasks/comet-observability-env-template/environment/Dockerfile +15 -0
  406. package/eval/local/tasks/comet-observability-env-template/environment/env_writer.py +17 -0
  407. package/eval/local/tasks/comet-observability-env-template/environment/test_env_writer.py +17 -0
  408. package/eval/local/tasks/comet-observability-env-template/instruction.md +20 -0
  409. package/eval/local/tasks/comet-observability-env-template/task.toml +20 -0
  410. package/eval/local/tasks/comet-observability-env-template/validation/test_observability_env_template.py +46 -0
  411. package/eval/local/tasks/comet-perf-dedupe/environment/Dockerfile +39 -0
  412. package/eval/local/tasks/comet-perf-dedupe/environment/dedupe.py +22 -0
  413. package/eval/local/tasks/comet-perf-dedupe/environment/test_dedupe.py +43 -0
  414. package/eval/local/tasks/comet-perf-dedupe/instruction.md +25 -0
  415. package/eval/local/tasks/comet-perf-dedupe/task.toml +24 -0
  416. package/eval/local/tasks/comet-perf-dedupe/validation/test_perf_dedupe.py +40 -0
  417. package/eval/local/tasks/comet-persistence-threading/environment/Dockerfile +15 -0
  418. package/eval/local/tasks/comet-persistence-threading/environment/session_store.py +15 -0
  419. package/eval/local/tasks/comet-persistence-threading/environment/test_session_store.py +21 -0
  420. package/eval/local/tasks/comet-persistence-threading/instruction.md +14 -0
  421. package/eval/local/tasks/comet-persistence-threading/task.toml +20 -0
  422. package/eval/local/tasks/comet-persistence-threading/validation/test_persistence_threading.py +20 -0
  423. package/eval/local/tasks/comet-refactor-counter/environment/Dockerfile +39 -0
  424. package/eval/local/tasks/comet-refactor-counter/environment/test_text_processor.py +57 -0
  425. package/eval/local/tasks/comet-refactor-counter/environment/text_processor.py +49 -0
  426. package/eval/local/tasks/comet-refactor-counter/instruction.md +31 -0
  427. package/eval/local/tasks/comet-refactor-counter/task.toml +24 -0
  428. package/eval/local/tasks/comet-refactor-counter/validation/test_refactor_counter.py +75 -0
  429. package/eval/local/tasks/comet-robust-config/environment/Dockerfile +39 -0
  430. package/eval/local/tasks/comet-robust-config/environment/config_loader.py +56 -0
  431. package/eval/local/tasks/comet-robust-config/environment/test_config_loader.py +72 -0
  432. package/eval/local/tasks/comet-robust-config/instruction.md +30 -0
  433. package/eval/local/tasks/comet-robust-config/task.toml +24 -0
  434. package/eval/local/tasks/comet-robust-config/validation/test_robust_config.py +37 -0
  435. package/eval/local/tasks/generic-skill-smoke/environment/Dockerfile +2 -0
  436. package/eval/local/tasks/generic-skill-smoke/instruction.md +7 -0
  437. package/eval/local/tasks/generic-skill-smoke/task.toml +21 -0
  438. package/eval/local/tasks/generic-skill-smoke/validation/test_generic_skill_smoke.py +36 -0
  439. package/eval/local/tasks/index.yaml +155 -0
  440. package/eval/local/tasks/workflow-overlay-contract/environment/Dockerfile +5 -0
  441. package/eval/local/tasks/workflow-overlay-contract/instruction.md +5 -0
  442. package/eval/local/tasks/workflow-overlay-contract/task.toml +21 -0
  443. package/eval/local/tasks/workflow-overlay-contract/validation/test_workflow_overlay_contract.py +235 -0
  444. package/eval/local/tasks/workflow-route-conformance/environment/Dockerfile +2 -0
  445. package/eval/local/tasks/workflow-route-conformance/instruction.md +5 -0
  446. package/eval/local/tasks/workflow-route-conformance/task.toml +21 -0
  447. package/eval/local/tasks/workflow-route-conformance/validation/test_workflow_route_conformance.py +84 -0
  448. package/eval/local/tests/conftest.py +1148 -0
  449. package/eval/local/tests/scaffold/test_attribution.py +48 -0
  450. package/eval/local/tests/scaffold/test_compare_baselines.py +999 -0
  451. package/eval/local/tests/scaffold/test_conftest_helpers.py +534 -0
  452. package/eval/local/tests/scaffold/test_evidence.py +15 -0
  453. package/eval/local/tests/scaffold/test_langsmith_conftest.py +244 -0
  454. package/eval/local/tests/scaffold/test_logging.py +243 -0
  455. package/eval/local/tests/scaffold/test_manifests.py +132 -0
  456. package/eval/local/tests/scaffold/test_profiles.py +866 -0
  457. package/eval/local/tests/scaffold/test_regression_check.py +19 -0
  458. package/eval/local/tests/scaffold/test_report_style_demo_charts.py +45 -0
  459. package/eval/local/tests/scaffold/test_sample_quality.py +211 -0
  460. package/eval/local/tests/scaffold/test_tasks.py +168 -0
  461. package/eval/local/tests/scaffold/test_treatments.py +244 -0
  462. package/eval/local/tests/scaffold/test_utils.py +139 -0
  463. package/eval/local/tests/tasks/test_tasks.py +445 -0
  464. package/eval/local/tests/tasks/test_validation_scripts.py +143 -0
  465. package/eval/local/treatments/comet/comet_full_039.yaml +141 -0
  466. package/eval/local/treatments/comet/comet_full_040_beta.yaml +140 -0
  467. package/eval/local/treatments/common/control.yaml +4 -0
  468. package/eval/pyproject.toml +41 -0
  469. package/eval/report-html-config.json +6 -0
  470. package/eval/scaffold/__init__.py +67 -0
  471. package/eval/scaffold/python/__init__.py +95 -0
  472. package/eval/scaffold/python/attribution.py +43 -0
  473. package/eval/scaffold/python/evidence.py +38 -0
  474. package/eval/scaffold/python/external_data_handler.py +18 -0
  475. package/eval/scaffold/python/generic_llm_judge.py +235 -0
  476. package/eval/scaffold/python/judge_config.py +168 -0
  477. package/eval/scaffold/python/llm_judge.py +191 -0
  478. package/eval/scaffold/python/logging.py +705 -0
  479. package/eval/scaffold/python/manifests.py +129 -0
  480. package/eval/scaffold/python/paper_charts.py +25 -0
  481. package/eval/scaffold/python/pass_at_k.py +107 -0
  482. package/eval/scaffold/python/paths.py +56 -0
  483. package/eval/scaffold/python/profiles.py +127 -0
  484. package/eval/scaffold/python/report_outputs.py +1391 -0
  485. package/eval/scaffold/python/sample_quality.py +339 -0
  486. package/eval/scaffold/python/schema.py +39 -0
  487. package/eval/scaffold/python/skill_parser.py +469 -0
  488. package/eval/scaffold/python/tasks.py +330 -0
  489. package/eval/scaffold/python/treatments.py +271 -0
  490. package/eval/scaffold/python/utils.py +366 -0
  491. package/eval/scaffold/python/validation/__init__.py +21 -0
  492. package/eval/scaffold/python/validation/authoring_rubric.py +326 -0
  493. package/eval/scaffold/python/validation/comet_workflow.py +187 -0
  494. package/eval/scaffold/python/validation/core.py +264 -0
  495. package/eval/scaffold/python/validation/dataset.py +337 -0
  496. package/eval/scaffold/python/validation/docker.py +106 -0
  497. package/eval/scaffold/python/validation/evaluator.py +549 -0
  498. package/eval/scaffold/python/validation/generic_rubric.py +169 -0
  499. package/eval/scaffold/python/validation/rubric.py +740 -0
  500. package/eval/scaffold/python/validation/runner.py +237 -0
  501. package/eval/scaffold/python/validation/scripts.py +58 -0
  502. package/eval/scaffold/python/validation/tracing.py +313 -0
  503. package/eval/scaffold/shell/common.sh +126 -0
  504. package/eval/scaffold/shell/docker.sh +482 -0
  505. package/eval/scaffold/shell/run-claude-loop.sh +181 -0
  506. package/eval/scaffold/shell/setup.sh +259 -0
  507. package/eval/simulator-instruction.md +9 -0
  508. package/package.json +24 -2
@@ -4,36 +4,78 @@ import { promises as fs } from 'fs';
4
4
  import { fileURLToPath } from 'url';
5
5
  import { spawn } from 'child_process';
6
6
  import { select } from '@inquirer/prompts';
7
- import { fileExists, readDir, readJson } from '../../platform/fs/file-system.js';
7
+ import { fileExists, readJson } from '../../platform/fs/file-system.js';
8
8
  import { getBaseDir } from '../../platform/install/detect.js';
9
9
  import { copyCometSkillsForPlatform, copyCometRulesForPlatform, installCometHooksForPlatform, getManifestSkills, mergeProjectConfig, } from '../../domains/skill/platform-install.js';
10
- import { PLATFORMS, getPlatformSkillsDir, } from '../../platform/install/platforms.js';
10
+ import { removeLegacyCometSkillsForPlatform } from '../../domains/skill/uninstall.js';
11
+ import { installCometProjectInstructions } from '../../domains/skill/project-instructions.js';
12
+ import { LANGUAGES } from '../../domains/skill/languages.js';
13
+ import { PLATFORMS, getPlatformSkillsDir, getPlatformSkillsDirs, } from '../../platform/install/platforms.js';
14
+ import { hasPlatformDetectionPath } from '../../platform/install/detect.js';
15
+ import { listProjectRegistryEntries, removeProjectInstallation, upsertProjectInstallation, } from '../../platform/install/project-registry.js';
11
16
  import { hasCodegraphProjectIndex, installCodegraph, } from '../../domains/integrations/codegraph.js';
12
17
  import { printVersionInfo } from '../../platform/version/version.js';
13
18
  import { t } from './i18n.js';
19
+ import { assertProjectScopeOptions, resolveProjectScopeMode } from './project-scope-selection.js';
14
20
  const PACKAGE_NAME = '@rpamis/comet';
15
21
  const OFFICIAL_REGISTRY = 'https://registry.npmjs.org';
22
+ function createNpmUpdateFailure(scope) {
23
+ const error = new Error(`npm package update failed (${scope} scope)`);
24
+ error.npmScope = scope;
25
+ return error;
26
+ }
27
+ function isGlobalNpmUpdateFailure(error) {
28
+ return error?.npmScope === 'global';
29
+ }
16
30
  function resolveTargetLanguage(language, fallback) {
17
31
  return (language ?? fallback) === 'zh' ? 'zh' : 'en';
18
32
  }
19
33
  function languageToSkillsDir(languageId) {
20
34
  return languageId === 'zh' ? 'skills-zh' : 'skills';
21
35
  }
36
+ function languageToArtifactLanguage(languageId) {
37
+ return LANGUAGES.find((entry) => entry.id === languageId).artifactLanguage;
38
+ }
22
39
  function getScopedBaseDir(scope, projectPath, globalBaseDir = os.homedir()) {
23
40
  return scope === 'global' ? globalBaseDir : projectPath;
24
41
  }
25
42
  function getInstalledCometSkillsDirs(baseDir, platform, scope = 'project') {
26
- const dirs = [path.join(baseDir, getPlatformSkillsDir(platform, scope), 'skills')];
27
- if (scope === 'global' && platform.id === 'pi') {
28
- dirs.push(path.join(baseDir, platform.skillsDir, 'skills'));
43
+ const skillsDirs = [
44
+ ...getPlatformSkillsDirs(platform, scope),
45
+ ...(scope === 'global' && platform.id === 'pi' ? [platform.skillsDir] : []),
46
+ ];
47
+ return [...new Set(skillsDirs)].map((skillsDir) => path.join(baseDir, skillsDir, 'skills'));
48
+ }
49
+ function isMissingInspectionError(error) {
50
+ const code = error?.code;
51
+ return code === 'ENOENT' || code === 'ENOTDIR';
52
+ }
53
+ async function targetPathExists(filePath) {
54
+ try {
55
+ await fs.access(filePath);
56
+ return true;
57
+ }
58
+ catch (error) {
59
+ if (isMissingInspectionError(error))
60
+ return false;
61
+ throw error;
62
+ }
63
+ }
64
+ async function readTargetDir(dirPath) {
65
+ try {
66
+ return await fs.readdir(dirPath);
67
+ }
68
+ catch (error) {
69
+ if (isMissingInspectionError(error))
70
+ return [];
71
+ throw error;
29
72
  }
30
- return [...new Set(dirs)];
31
73
  }
32
74
  async function hasLocalCometSkills(baseDir, platform, scope) {
33
75
  for (const skillsDir of getInstalledCometSkillsDirs(baseDir, platform, scope)) {
34
- if (!(await fileExists(skillsDir)))
76
+ if (!(await targetPathExists(skillsDir)))
35
77
  continue;
36
- const entries = await readDir(skillsDir);
78
+ const entries = await readTargetDir(skillsDir);
37
79
  if (entries.some((entry) => entry.startsWith('comet')))
38
80
  return true;
39
81
  }
@@ -41,20 +83,21 @@ async function hasLocalCometSkills(baseDir, platform, scope) {
41
83
  }
42
84
  async function detectInstalledCometLanguage(baseDir, platform, scope = 'project') {
43
85
  for (const skillsDir of getInstalledCometSkillsDirs(baseDir, platform, scope)) {
44
- if (!(await fileExists(skillsDir)))
86
+ if (!(await targetPathExists(skillsDir)))
45
87
  continue;
46
- const entries = (await readDir(skillsDir)).filter((entry) => entry.startsWith('comet'));
88
+ const entries = (await readTargetDir(skillsDir)).filter((entry) => entry.startsWith('comet'));
47
89
  for (const entry of entries) {
48
90
  const skillPath = path.join(skillsDir, entry, 'SKILL.md');
49
- if (!(await fileExists(skillPath)))
91
+ if (!(await targetPathExists(skillPath)))
50
92
  continue;
51
93
  try {
52
94
  const content = await fs.readFile(skillPath, 'utf-8');
53
95
  if (/[㐀-鿿]/u.test(content))
54
96
  return 'zh';
55
97
  }
56
- catch {
57
- // Fall through to the default English asset set if the file cannot be read.
98
+ catch (error) {
99
+ if (!isMissingInspectionError(error))
100
+ throw error;
58
101
  }
59
102
  }
60
103
  }
@@ -66,6 +109,10 @@ async function detectInstalledCometTargets(projectPath, options = {}) {
66
109
  for (const scope of scopes) {
67
110
  const baseDir = getScopedBaseDir(scope, projectPath, options.globalBaseDir);
68
111
  for (const platform of PLATFORMS) {
112
+ if (options.respectDetectionPaths !== false &&
113
+ !(await hasPlatformDetectionPath(baseDir, platform))) {
114
+ continue;
115
+ }
69
116
  if (!(await hasLocalCometSkills(baseDir, platform, scope)))
70
117
  continue;
71
118
  targets.push({
@@ -107,7 +154,7 @@ function formatNpmUpdateCommand(scope) {
107
154
  function formatSkillUpdateCommand(scope, platform, languageSkillsDir, installMode = 'copy') {
108
155
  const destPrefix = scope === 'global' ? '~/' : '';
109
156
  if (installMode === 'symlink') {
110
- return `symlink .comet/skills/ -> ${destPrefix}${getPlatformSkillsDir(platform, scope)}/skills/ (${scope})`;
157
+ return `symlink via .comet/skills/ in ${destPrefix}${getPlatformSkillsDir(platform, scope)}/skills/ (${scope})`;
111
158
  }
112
159
  return `copy assets/${languageSkillsDir} -> ${destPrefix}${getPlatformSkillsDir(platform, scope)}/skills/ (${scope})`;
113
160
  }
@@ -161,18 +208,57 @@ async function promptCodegraphInstall(lang) {
161
208
  ],
162
209
  });
163
210
  }
164
- export async function updateCommand(targetPath, options = {}) {
165
- const projectPath = path.resolve(targetPath);
166
- const log = options.json ? () => undefined : console.log;
211
+ function currentProjectJson(result) {
212
+ return {
213
+ npm: result.npm,
214
+ skills: {
215
+ totalCopied: result.skills.totalCopied,
216
+ cleanupFailed: result.skills.cleanupFailed,
217
+ installMode: result.skills.installMode,
218
+ targets: result.skills.targets,
219
+ },
220
+ rules: result.rules,
221
+ hooks: result.hooks,
222
+ projectInstructions: result.projectInstructions,
223
+ codegraph: result.codegraph,
224
+ };
225
+ }
226
+ function summarizeTargets(targets) {
227
+ return targets.map((target) => ({
228
+ scope: target.scope,
229
+ platform: target.platform.id,
230
+ platformName: target.platform.name,
231
+ language: target.language,
232
+ }));
233
+ }
234
+ function summarizeUpdatedTargets(targets) {
235
+ return targets.map((target) => ({
236
+ scope: target.scope,
237
+ platform: target.platform,
238
+ platformName: target.platformName,
239
+ language: target.language,
240
+ }));
241
+ }
242
+ async function upsertUpdatedProjectTargets(projectPath, result) {
243
+ const projectTargets = result.skills.targets.filter((target) => target.scope === 'project');
244
+ if (projectTargets.length === 0)
245
+ return;
246
+ await upsertProjectInstallation(projectPath, projectTargets.map((target) => ({
247
+ platform: target.platform,
248
+ language: target.language,
249
+ })), 'update');
250
+ }
251
+ async function updateSingleProject(projectPath, options, log) {
167
252
  const lang = options.language ?? 'en';
168
- log(`\n ${t(lang, 'updateTitle')}`);
169
- if (!options.json) {
170
- await printVersionInfo(log);
171
- }
172
- log('');
173
- const packageScope = options.scope ?? (await detectCometPackageScope(projectPath));
253
+ const packageScope = options.scope && !options.targetScopes
254
+ ? options.scope
255
+ : await detectCometPackageScope(projectPath);
174
256
  let npmStatus = 'skipped';
175
- if (!options.skipNpm) {
257
+ const skipRepeatedGlobalNpm = !options.skipNpm && packageScope === 'global' && options.skipGlobalNpmUpdate === true;
258
+ if (skipRepeatedGlobalNpm) {
259
+ log(` ${t(lang, 'updatingNpmPackage')}: skipped (global scope already attempted)`);
260
+ }
261
+ else if (!options.skipNpm) {
176
262
  log(` ${t(lang, 'updatingNpmPackage')} (${packageScope} scope)...`);
177
263
  log(` $ ${formatNpmUpdateCommand(packageScope)}`);
178
264
  const npmUpdated = await updateCometNpmPackage(packageScope, projectPath, log, options.json === true);
@@ -182,30 +268,31 @@ export async function updateCommand(targetPath, options = {}) {
182
268
  }
183
269
  else {
184
270
  npmStatus = 'failed';
185
- log(` ${t(lang, 'npmPackageFailed')}`);
271
+ log(` ${t(lang, options.failOnNpmFailure ? 'npmPackageFailedBlocking' : 'npmPackageFailed')}`);
272
+ if (options.failOnNpmFailure) {
273
+ throw createNpmUpdateFailure(packageScope);
274
+ }
186
275
  }
187
276
  }
188
277
  const installMode = await selectInstallMode(options, lang);
189
278
  const targets = await detectInstalledCometTargets(projectPath, {
190
- scopes: options.scope ? [options.scope] : undefined,
279
+ scopes: options.targetScopes ?? (options.scope ? [options.scope] : undefined),
280
+ respectDetectionPaths: options.scope === undefined,
191
281
  });
192
282
  if (targets.length === 0) {
193
- if (options.json) {
194
- console.log(JSON.stringify({
195
- npm: {
196
- scope: options.skipNpm ? 'skipped' : packageScope,
197
- status: npmStatus,
198
- command: options.skipNpm ? null : formatNpmUpdateCommand(packageScope),
199
- },
200
- skills: { totalCopied: 0, targets: [] },
201
- rules: { totalCopied: 0 },
202
- hooks: { totalInstalled: 0 },
203
- codegraph: 'skipped',
204
- }, null, 2));
205
- return;
206
- }
207
- log(`\n ${t(lang, 'noInstallsFound')}\n`);
208
- return;
283
+ return {
284
+ projectPath,
285
+ npm: {
286
+ scope: options.skipNpm ? 'skipped' : packageScope,
287
+ status: npmStatus,
288
+ command: options.skipNpm || skipRepeatedGlobalNpm ? null : formatNpmUpdateCommand(packageScope),
289
+ },
290
+ skills: { totalCopied: 0, cleanupFailed: 0, targets: [] },
291
+ rules: { totalCopied: 0 },
292
+ hooks: { totalInstalled: 0 },
293
+ projectInstructions: { updated: 0 },
294
+ codegraph: 'skipped',
295
+ };
209
296
  }
210
297
  log(`\n ${t(lang, 'updatingSkillsOnTargets')} ${targets.length} target(s):`);
211
298
  for (const target of targets) {
@@ -218,26 +305,36 @@ export async function updateCommand(targetPath, options = {}) {
218
305
  }
219
306
  log(`\n ${t(lang, 'copyingSkillsFiles')} ${(await getManifestSkills()).length} skill files...\n`);
220
307
  let totalCopied = 0;
308
+ let totalCleanupFailed = 0;
221
309
  let totalRulesCopied = 0;
222
310
  let totalHooksInstalled = 0;
311
+ let projectInstructionsUpdated = 0;
223
312
  const targetResults = [];
224
313
  for (const target of targets) {
225
314
  const baseDir = getBaseDir(target.scope, projectPath);
226
315
  const languageId = resolveTargetLanguage(options.language, target.language);
227
316
  const languageSkillsDir = languageToSkillsDir(languageId);
228
- const { copied, skipped } = await copyCometSkillsForPlatform(baseDir, target.platform, true, languageSkillsDir, target.scope, installMode);
317
+ const { copied, skipped, failed } = await copyCometSkillsForPlatform(baseDir, target.platform, true, languageSkillsDir, target.scope, installMode);
318
+ const cleanupResult = failed === 0
319
+ ? await removeLegacyCometSkillsForPlatform(baseDir, target.platform, target.scope)
320
+ : { removed: 0, failed: 0 };
321
+ totalCleanupFailed += cleanupResult.failed;
229
322
  totalCopied += copied;
230
323
  targetResults.push({
231
324
  scope: target.scope,
232
325
  platform: target.platform.id,
233
326
  platformName: target.platform.name,
234
- language: options.language ?? target.language,
327
+ language: languageId,
235
328
  source: languageSkillsDir,
236
329
  copied,
237
330
  skipped,
331
+ cleanupFailed: cleanupResult.failed,
238
332
  command: formatSkillUpdateCommand(target.scope, target.platform, languageSkillsDir, installMode),
239
333
  });
240
334
  log(` ${target.platform.name} (${target.scope}, ${languageSkillsDir}): ${copied} ${t(lang, 'skillsCopiedSkipped')} ${skipped} skipped`);
335
+ if (cleanupResult.failed > 0) {
336
+ log(` ${target.platform.name} (${target.scope}): legacy Skill cleanup failed; update incomplete`);
337
+ }
241
338
  try {
242
339
  const { copied: ruleCopied } = await copyCometRulesForPlatform(baseDir, target.platform, true, languageId, target.scope);
243
340
  totalRulesCopied += ruleCopied;
@@ -264,11 +361,35 @@ export async function updateCommand(targetPath, options = {}) {
264
361
  }
265
362
  }
266
363
  }
267
- const hasProjectTargets = targets.some((target) => target.scope === 'project');
268
- if (hasProjectTargets) {
269
- await mergeProjectConfig(projectPath);
364
+ for (const scope of ['project', 'global']) {
365
+ const scopeTargets = targets.filter((candidate) => candidate.scope === scope);
366
+ if (scopeTargets.length === 0)
367
+ continue;
368
+ // An explicit --language always wins. Otherwise only force the persisted language when
369
+ // every platform installed at this scope agrees — if two platforms disagree (e.g. one
370
+ // installed with English skills, another with Chinese) and the user didn't say which one
371
+ // they mean, guessing from array order would silently override whatever language they
372
+ // (or a prior install) already configured. Pass null in that case so mergeProjectConfig
373
+ // preserves the existing config's language instead of guessing.
374
+ const agreedLanguage = scopeTargets.every((t) => t.language === scopeTargets[0].language)
375
+ ? scopeTargets[0].language
376
+ : undefined;
377
+ const languageId = options.language
378
+ ? resolveTargetLanguage(options.language, scopeTargets[0].language)
379
+ : agreedLanguage;
380
+ const configRoot = getBaseDir(scope, projectPath);
381
+ await mergeProjectConfig(configRoot, languageId ? languageToArtifactLanguage(languageId) : null);
270
382
  log(` ${t(lang, 'configMerged')}`);
271
383
  }
384
+ const projectTarget = targets.find((target) => target.scope === 'project');
385
+ if (projectTarget) {
386
+ const projectLanguageId = resolveTargetLanguage(options.language, projectTarget.language);
387
+ const projectInstructionResult = await installCometProjectInstructions(projectPath, projectLanguageId);
388
+ projectInstructionsUpdated = projectInstructionResult.changed;
389
+ if (projectInstructionsUpdated > 0) {
390
+ log(` Comet project instructions -> ${projectInstructionsUpdated} file(s) updated`);
391
+ }
392
+ }
272
393
  let codegraphStatus = 'skipped';
273
394
  const primaryScope = targets[0]?.scope ?? 'project';
274
395
  const codegraphAlreadyIndexed = hasCodegraphProjectIndex(projectPath);
@@ -289,33 +410,205 @@ export async function updateCommand(targetPath, options = {}) {
289
410
  log(`\n CodeGraph: ${t(lang, 'cgSkippedByUser')}`);
290
411
  }
291
412
  }
413
+ return {
414
+ projectPath,
415
+ npm: {
416
+ scope: options.skipNpm ? 'skipped' : packageScope,
417
+ status: npmStatus,
418
+ command: options.skipNpm || skipRepeatedGlobalNpm ? null : formatNpmUpdateCommand(packageScope),
419
+ },
420
+ skills: {
421
+ totalCopied,
422
+ cleanupFailed: totalCleanupFailed,
423
+ installMode,
424
+ targets: targetResults,
425
+ },
426
+ rules: { totalCopied: totalRulesCopied },
427
+ hooks: { totalInstalled: totalHooksInstalled },
428
+ projectInstructions: { updated: projectInstructionsUpdated },
429
+ codegraph: codegraphStatus,
430
+ };
431
+ }
432
+ function logSingleProjectSummary(result, options, log) {
433
+ const lang = options.language ?? 'en';
434
+ const languages = [...new Set(result.skills.targets.map((target) => target.language))].join(', ');
435
+ const scopes = [...new Set(result.skills.targets.map((target) => target.scope))].join(', ');
436
+ log(`\n ${t(lang, 'summary')}`);
437
+ log(` ${t(lang, 'summaryNpm')} ${result.npm.status}${options.skipNpm ? '' : ` (${result.npm.scope})`}`);
438
+ log(` ${t(lang, 'summarySkills')} ${result.skills.targets.length} target(s), ${result.skills.totalCopied} files updated`);
439
+ if (result.skills.cleanupFailed > 0) {
440
+ log(` Skill cleanup failures: ${result.skills.cleanupFailed} (update incomplete)`);
441
+ }
442
+ log(` ${t(lang, 'summaryCodegraph')} ${result.codegraph}`);
443
+ log(` ${t(lang, 'summaryScope')} ${scopes}`);
444
+ log(` ${t(lang, 'summaryLanguage')} ${languages}`);
445
+ if (result.skills.cleanupFailed > 0) {
446
+ log(`\n Update incomplete. Canonical Skills were installed, but legacy cleanup failed.\n`);
447
+ }
448
+ else {
449
+ log(`\n ${t(lang, 'updateComplete')}\n`);
450
+ }
451
+ }
452
+ async function updateAllIndexedProjects(registryProjects, options, log) {
453
+ const lang = options.language ?? 'en';
454
+ const results = [];
455
+ const runnableProjects = [];
456
+ let staleRemoved = 0;
457
+ for (const project of registryProjects) {
458
+ const projectPath = project.path;
459
+ try {
460
+ const targets = await detectInstalledCometTargets(projectPath, { scopes: ['project'] });
461
+ if (targets.length === 0) {
462
+ if (await removeProjectInstallation(projectPath))
463
+ staleRemoved++;
464
+ results.push({
465
+ projectPath,
466
+ status: 'skipped',
467
+ reason: 'no project-scope Comet install detected',
468
+ targets: [],
469
+ });
470
+ continue;
471
+ }
472
+ runnableProjects.push({ projectPath, targets });
473
+ }
474
+ catch (error) {
475
+ results.push({
476
+ projectPath,
477
+ status: 'skipped',
478
+ reason: `unable to inspect project: ${error.message}`,
479
+ targets: [],
480
+ });
481
+ }
482
+ }
483
+ if (!options.json) {
484
+ log(` Comet will update ${runnableProjects.length} indexed project(s):`);
485
+ for (const project of runnableProjects) {
486
+ log(` - ${project.projectPath}`);
487
+ log(` ${project.targets.map((target) => target.platform.name).join(', ')}`);
488
+ }
489
+ const confirmed = await select({
490
+ message: t(lang, 'updateAllProjectsPrompt'),
491
+ choices: [
492
+ { name: t(lang, 'updateAllProjectsYes'), value: true },
493
+ { name: t(lang, 'updateAllProjectsNo'), value: false },
494
+ ],
495
+ });
496
+ if (!confirmed) {
497
+ log(`\n ${t(lang, 'cancelled')}\n`);
498
+ return;
499
+ }
500
+ }
501
+ const runOptions = {
502
+ ...options,
503
+ scope: undefined,
504
+ targetScopes: ['project'],
505
+ currentProject: true,
506
+ allProjects: false,
507
+ failOnNpmFailure: true,
508
+ };
509
+ if (!options.json && !runOptions.installMode) {
510
+ runOptions.installMode = await selectInstallMode(options, lang);
511
+ }
512
+ let globalNpmAttempted = false;
513
+ for (const project of runnableProjects) {
514
+ const { projectPath, targets } = project;
515
+ try {
516
+ const result = await updateSingleProject(projectPath, { ...runOptions, skipGlobalNpmUpdate: globalNpmAttempted }, log);
517
+ if (result.npm.scope === 'global' && result.npm.status !== 'skipped') {
518
+ globalNpmAttempted = true;
519
+ }
520
+ if (result.skills.targets.length === 0) {
521
+ if (await removeProjectInstallation(projectPath))
522
+ staleRemoved++;
523
+ results.push({
524
+ projectPath,
525
+ status: 'skipped',
526
+ reason: 'no project-scope Comet install detected',
527
+ targets: [],
528
+ });
529
+ continue;
530
+ }
531
+ if (result.skills.cleanupFailed > 0) {
532
+ results.push({
533
+ projectPath,
534
+ status: 'failed',
535
+ reason: `legacy Skill cleanup failed (${result.skills.cleanupFailed})`,
536
+ targets: summarizeUpdatedTargets(result.skills.targets),
537
+ });
538
+ continue;
539
+ }
540
+ await upsertUpdatedProjectTargets(projectPath, result);
541
+ results.push({
542
+ projectPath,
543
+ status: 'updated',
544
+ targets: summarizeUpdatedTargets(result.skills.targets),
545
+ summary: {
546
+ skillsCopied: result.skills.totalCopied,
547
+ rulesCopied: result.rules.totalCopied,
548
+ hooksInstalled: result.hooks.totalInstalled,
549
+ projectInstructionsUpdated: result.projectInstructions.updated,
550
+ },
551
+ });
552
+ }
553
+ catch (error) {
554
+ results.push({
555
+ projectPath,
556
+ status: 'failed',
557
+ reason: error.message,
558
+ targets: summarizeTargets(targets),
559
+ });
560
+ if (isGlobalNpmUpdateFailure(error))
561
+ break;
562
+ }
563
+ }
292
564
  if (options.json) {
293
565
  console.log(JSON.stringify({
294
- npm: {
295
- scope: options.skipNpm ? 'skipped' : packageScope,
296
- status: npmStatus,
297
- command: options.skipNpm ? null : formatNpmUpdateCommand(packageScope),
298
- },
299
- skills: {
300
- totalCopied,
301
- installMode,
302
- targets: targetResults,
566
+ mode: 'all-projects',
567
+ registry: {
568
+ projectsFound: registryProjects.length,
569
+ staleRemoved,
303
570
  },
304
- rules: { totalCopied: totalRulesCopied },
305
- hooks: { totalInstalled: totalHooksInstalled },
306
- codegraph: codegraphStatus,
571
+ projects: results,
307
572
  }, null, 2));
308
573
  return;
309
574
  }
310
- const languages = [...new Set(targetResults.map((target) => target.language))].join(', ');
311
- const scopes = [...new Set(targetResults.map((target) => target.scope))].join(', ');
312
- log(`\n ${t(lang, 'summary')}`);
313
- log(` ${t(lang, 'summaryNpm')} ${npmStatus}${options.skipNpm ? '' : ` (${packageScope})`}`);
314
- log(` ${t(lang, 'summarySkills')} ${targets.length} target(s), ${totalCopied} files updated`);
315
- log(` ${t(lang, 'summaryCodegraph')} ${codegraphStatus}`);
316
- log(` ${t(lang, 'summaryScope')} ${scopes}`);
317
- log(` ${t(lang, 'summaryLanguage')} ${languages}`);
318
- log(`\n ${t(lang, 'updateComplete')}\n`);
575
+ log(`\n Updated ${results.filter((result) => result.status === 'updated').length} indexed project(s).`);
576
+ }
577
+ export async function updateCommand(targetPath, options = {}) {
578
+ const projectPath = path.resolve(targetPath);
579
+ const log = options.json ? () => undefined : console.log;
580
+ const lang = options.language ?? 'en';
581
+ assertProjectScopeOptions(options);
582
+ const registryProjects = await listProjectRegistryEntries({
583
+ strict: options.allProjects === true,
584
+ });
585
+ log(`\n ${t(lang, 'updateTitle')}`);
586
+ if (!options.json) {
587
+ await printVersionInfo(log);
588
+ }
589
+ log('');
590
+ const scopeMode = await resolveProjectScopeMode('update', options, registryProjects.length);
591
+ if (scopeMode === 'all-projects') {
592
+ await updateAllIndexedProjects(registryProjects, options, log);
593
+ return;
594
+ }
595
+ const result = await updateSingleProject(projectPath, options, log);
596
+ if (result.skills.targets.length === 0) {
597
+ if (options.json) {
598
+ console.log(JSON.stringify(currentProjectJson(result), null, 2));
599
+ return;
600
+ }
601
+ log(`\n ${t(lang, 'noInstallsFound')}\n`);
602
+ return;
603
+ }
604
+ if (result.skills.cleanupFailed === 0) {
605
+ await upsertUpdatedProjectTargets(projectPath, result);
606
+ }
607
+ if (options.json) {
608
+ console.log(JSON.stringify(currentProjectJson(result), null, 2));
609
+ return;
610
+ }
611
+ logSingleProjectSummary(result, options, log);
319
612
  }
320
613
  export { buildNpmUpdateArgs, detectCometPackageScope, detectInstalledCometLanguage, detectInstalledCometTargets, formatNpmUpdateCommand, formatSkillUpdateCommand, };
321
614
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../app/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../app/commands/update.ts"],"names":[],"mappings":"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"}