@g3nomaly/skills 1.0.0 → 1.0.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 (388) hide show
  1. package/dist/cli/adapter.d.ts +55 -18
  2. package/dist/cli/adapter.d.ts.map +1 -1
  3. package/dist/cli/adapter.js +70 -64
  4. package/dist/cli/adapter.js.map +1 -1
  5. package/dist/cli/commands/add.d.ts +16 -10
  6. package/dist/cli/commands/add.d.ts.map +1 -1
  7. package/dist/cli/commands/add.js +16 -98
  8. package/dist/cli/commands/add.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts +25 -2
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +31 -1
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/ls.d.ts +18 -2
  14. package/dist/cli/commands/ls.d.ts.map +1 -1
  15. package/dist/cli/commands/ls.js +26 -5
  16. package/dist/cli/commands/ls.js.map +1 -1
  17. package/dist/cli/commands/remove.d.ts +16 -7
  18. package/dist/cli/commands/remove.d.ts.map +1 -1
  19. package/dist/cli/commands/remove.js +15 -56
  20. package/dist/cli/commands/remove.js.map +1 -1
  21. package/dist/cli/commands/source.d.ts +58 -0
  22. package/dist/cli/commands/source.d.ts.map +1 -0
  23. package/dist/cli/commands/source.js +49 -0
  24. package/dist/cli/commands/source.js.map +1 -0
  25. package/dist/cli/commands/update.d.ts +15 -6
  26. package/dist/cli/commands/update.d.ts.map +1 -1
  27. package/dist/cli/commands/update.js +13 -43
  28. package/dist/cli/commands/update.js.map +1 -1
  29. package/dist/cli/index.js +84 -58
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/index.d.ts +2 -8
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -8
  34. package/dist/index.js.map +1 -1
  35. package/dist/packages/index.d.ts +3 -0
  36. package/dist/packages/index.d.ts.map +1 -0
  37. package/dist/packages/index.js +3 -0
  38. package/dist/packages/index.js.map +1 -0
  39. package/dist/packages/install.d.ts +29 -0
  40. package/dist/packages/install.d.ts.map +1 -0
  41. package/dist/packages/install.js +48 -0
  42. package/dist/packages/install.js.map +1 -0
  43. package/dist/registry/index.d.ts +4 -2
  44. package/dist/registry/index.d.ts.map +1 -1
  45. package/dist/registry/index.js +3 -2
  46. package/dist/registry/index.js.map +1 -1
  47. package/dist/registry/locate.d.ts +33 -0
  48. package/dist/registry/locate.d.ts.map +1 -0
  49. package/dist/registry/locate.js +88 -0
  50. package/dist/registry/locate.js.map +1 -0
  51. package/dist/registry/manifest.d.ts +10 -0
  52. package/dist/registry/manifest.d.ts.map +1 -0
  53. package/dist/registry/manifest.js +15 -0
  54. package/dist/registry/manifest.js.map +1 -0
  55. package/dist/registry/readSkillDir.d.ts +9 -6
  56. package/dist/registry/readSkillDir.d.ts.map +1 -1
  57. package/dist/registry/readSkillDir.js +24 -24
  58. package/dist/registry/readSkillDir.js.map +1 -1
  59. package/dist/registry/readSource.d.ts +12 -0
  60. package/dist/registry/readSource.d.ts.map +1 -0
  61. package/dist/registry/readSource.js +33 -0
  62. package/dist/registry/readSource.js.map +1 -0
  63. package/dist/registry/types.d.ts +27 -16
  64. package/dist/registry/types.d.ts.map +1 -1
  65. package/dist/registry/types.js +8 -23
  66. package/dist/registry/types.js.map +1 -1
  67. package/dist/sources/builtins.d.ts +4 -0
  68. package/dist/sources/builtins.d.ts.map +1 -0
  69. package/dist/sources/builtins.js +5 -0
  70. package/dist/sources/builtins.js.map +1 -0
  71. package/dist/sources/index.d.ts +2 -0
  72. package/dist/sources/index.d.ts.map +1 -0
  73. package/dist/sources/index.js +3 -0
  74. package/dist/sources/index.js.map +1 -0
  75. package/dist/utils/frontmatter.d.ts +9 -0
  76. package/dist/utils/frontmatter.d.ts.map +1 -0
  77. package/dist/utils/frontmatter.js +22 -0
  78. package/dist/utils/frontmatter.js.map +1 -0
  79. package/dist/utils/index.d.ts +2 -0
  80. package/dist/utils/index.d.ts.map +1 -0
  81. package/dist/utils/index.js +3 -0
  82. package/dist/utils/index.js.map +1 -0
  83. package/package.json +8 -32
  84. package/dist/cli/commands/hook.d.ts +0 -6
  85. package/dist/cli/commands/hook.d.ts.map +0 -1
  86. package/dist/cli/commands/hook.js +0 -18
  87. package/dist/cli/commands/hook.js.map +0 -1
  88. package/dist/decisions/index.d.ts +0 -6
  89. package/dist/decisions/index.d.ts.map +0 -1
  90. package/dist/decisions/index.js +0 -5
  91. package/dist/decisions/index.js.map +0 -1
  92. package/dist/decisions/paths.d.ts +0 -4
  93. package/dist/decisions/paths.d.ts.map +0 -1
  94. package/dist/decisions/paths.js +0 -12
  95. package/dist/decisions/paths.js.map +0 -1
  96. package/dist/decisions/read.d.ts +0 -18
  97. package/dist/decisions/read.d.ts.map +0 -1
  98. package/dist/decisions/read.js +0 -45
  99. package/dist/decisions/read.js.map +0 -1
  100. package/dist/decisions/write.d.ts +0 -20
  101. package/dist/decisions/write.d.ts.map +0 -1
  102. package/dist/decisions/write.js +0 -48
  103. package/dist/decisions/write.js.map +0 -1
  104. package/dist/filetree/ensure.d.ts +0 -7
  105. package/dist/filetree/ensure.d.ts.map +0 -1
  106. package/dist/filetree/ensure.js +0 -36
  107. package/dist/filetree/ensure.js.map +0 -1
  108. package/dist/filetree/entries.d.ts +0 -9
  109. package/dist/filetree/entries.d.ts.map +0 -1
  110. package/dist/filetree/entries.js +0 -49
  111. package/dist/filetree/entries.js.map +0 -1
  112. package/dist/filetree/frontmatter.d.ts +0 -16
  113. package/dist/filetree/frontmatter.d.ts.map +0 -1
  114. package/dist/filetree/frontmatter.js +0 -43
  115. package/dist/filetree/frontmatter.js.map +0 -1
  116. package/dist/filetree/generate.d.ts +0 -16
  117. package/dist/filetree/generate.d.ts.map +0 -1
  118. package/dist/filetree/generate.js +0 -62
  119. package/dist/filetree/generate.js.map +0 -1
  120. package/dist/filetree/index.d.ts +0 -17
  121. package/dist/filetree/index.d.ts.map +0 -1
  122. package/dist/filetree/index.js +0 -13
  123. package/dist/filetree/index.js.map +0 -1
  124. package/dist/filetree/levels.d.ts +0 -25
  125. package/dist/filetree/levels.d.ts.map +0 -1
  126. package/dist/filetree/levels.js +0 -45
  127. package/dist/filetree/levels.js.map +0 -1
  128. package/dist/filetree/locate.d.ts +0 -44
  129. package/dist/filetree/locate.d.ts.map +0 -1
  130. package/dist/filetree/locate.js +0 -76
  131. package/dist/filetree/locate.js.map +0 -1
  132. package/dist/filetree/paths.d.ts +0 -15
  133. package/dist/filetree/paths.d.ts.map +0 -1
  134. package/dist/filetree/paths.js +0 -38
  135. package/dist/filetree/paths.js.map +0 -1
  136. package/dist/filetree/read.d.ts +0 -23
  137. package/dist/filetree/read.d.ts.map +0 -1
  138. package/dist/filetree/read.js +0 -36
  139. package/dist/filetree/read.js.map +0 -1
  140. package/dist/filetree/remove.d.ts +0 -9
  141. package/dist/filetree/remove.d.ts.map +0 -1
  142. package/dist/filetree/remove.js +0 -17
  143. package/dist/filetree/remove.js.map +0 -1
  144. package/dist/filetree/root.d.ts +0 -9
  145. package/dist/filetree/root.d.ts.map +0 -1
  146. package/dist/filetree/root.js +0 -15
  147. package/dist/filetree/root.js.map +0 -1
  148. package/dist/filetree/status.d.ts +0 -21
  149. package/dist/filetree/status.d.ts.map +0 -1
  150. package/dist/filetree/status.js +0 -55
  151. package/dist/filetree/status.js.map +0 -1
  152. package/dist/hooks/cli.d.ts +0 -29
  153. package/dist/hooks/cli.d.ts.map +0 -1
  154. package/dist/hooks/cli.js +0 -65
  155. package/dist/hooks/cli.js.map +0 -1
  156. package/dist/hooks/index.d.ts +0 -3
  157. package/dist/hooks/index.d.ts.map +0 -1
  158. package/dist/hooks/index.js +0 -3
  159. package/dist/hooks/index.js.map +0 -1
  160. package/dist/plugins/grilling/.claude-plugin/plugin.json +0 -7
  161. package/dist/plugins/grilling/skills/domain-modeling/ADR-FORMAT.md +0 -47
  162. package/dist/plugins/grilling/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  163. package/dist/plugins/grilling/skills/domain-modeling/SKILL.md +0 -74
  164. package/dist/plugins/grilling/skills/domain-modeling/agents/openai.yaml +0 -3
  165. package/dist/plugins/grilling/skills/grill-me/SKILL.md +0 -7
  166. package/dist/plugins/grilling/skills/grill-me/agents/openai.yaml +0 -5
  167. package/dist/plugins/grilling/skills/grill-with-docs/SKILL.md +0 -7
  168. package/dist/plugins/grilling/skills/grill-with-docs/agents/openai.yaml +0 -5
  169. package/dist/plugins/grilling/skills/grilling/SKILL.md +0 -12
  170. package/dist/plugins/grilling/skills/grilling/agents/openai.yaml +0 -3
  171. package/dist/plugins/speech/.claude-plugin/plugin.json +0 -7
  172. package/dist/plugins/speech/skills/emphasise/SKILL.md +0 -49
  173. package/dist/plugins/speech/skills/emphasise/agents/openai.yaml +0 -5
  174. package/dist/plugins/speech/skills/unslop/SKILL.md +0 -80
  175. package/dist/plugins/task-manager/.claude-plugin/plugin.json +0 -11
  176. package/dist/plugins/task-manager/hooks/hooks.json +0 -19
  177. package/dist/plugins/task-manager/skills/decisions/SKILL.md +0 -39
  178. package/dist/plugins/task-manager/skills/decisions/agents/openai.yaml +0 -5
  179. package/dist/plugins/task-manager/skills/decisions/references/usage.md +0 -26
  180. package/dist/plugins/task-manager/skills/task-manager/SKILL.md +0 -99
  181. package/dist/plugins/task-manager/skills/vocabulary/SKILL.md +0 -42
  182. package/dist/plugins/task-manager/skills/vocabulary/agents/openai.yaml +0 -5
  183. package/dist/plugins/task-manager/skills/vocabulary/references/usage.md +0 -26
  184. package/dist/plugins/using-hooks/.claude-plugin/plugin.json +0 -7
  185. package/dist/plugins/using-hooks/skills/hook-post-tool-use/SKILL.md +0 -79
  186. package/dist/plugins/using-hooks/skills/hook-post-tool-use/agents/openai.yaml +0 -5
  187. package/dist/plugins/using-hooks/skills/hook-pre-tool-use/SKILL.md +0 -84
  188. package/dist/plugins/using-hooks/skills/hook-pre-tool-use/agents/openai.yaml +0 -5
  189. package/dist/plugins/using-hooks/skills/hook-stop/SKILL.md +0 -69
  190. package/dist/plugins/using-hooks/skills/hook-stop/agents/openai.yaml +0 -5
  191. package/dist/plugins/using-hooks/skills/hook-user-prompt-submit/SKILL.md +0 -64
  192. package/dist/plugins/using-hooks/skills/hook-user-prompt-submit/agents/openai.yaml +0 -5
  193. package/dist/plugins/workflow/.claude-plugin/plugin.json +0 -16
  194. package/dist/plugins/workflow/agents/reviewer.md +0 -9
  195. package/dist/plugins/workflow/skills/execute/SKILL.md +0 -21
  196. package/dist/plugins/workflow/skills/execute/agents/openai.yaml +0 -5
  197. package/dist/plugins/workflow/skills/orchestrator/SKILL.md +0 -27
  198. package/dist/plugins/workflow/skills/orchestrator/agents/openai.yaml +0 -5
  199. package/dist/plugins/workflow/skills/plan/SKILL.md +0 -18
  200. package/dist/plugins/workflow/skills/plan/agents/openai.yaml +0 -5
  201. package/dist/plugins/workflow/skills/plan/references/task-frontmatter.md +0 -33
  202. package/dist/plugins/workflow/skills/review/SKILL.md +0 -25
  203. package/dist/plugins/workflow/skills/review/agents/openai.yaml +0 -5
  204. package/dist/plugins/workflow/skills/run/SKILL.md +0 -33
  205. package/dist/plugins/workflow/skills/run/agents/openai.yaml +0 -5
  206. package/dist/plugins/workflow/skills/run/references/sub-agents.md +0 -46
  207. package/dist/plugins/workflow/skills/sync/SKILL.md +0 -18
  208. package/dist/plugins/workflow/skills/sync/agents/openai.yaml +0 -5
  209. package/dist/plugins/workflow/skills/worktree/SKILL.md +0 -38
  210. package/dist/plugins/workflow/skills/worktree/agents/openai.yaml +0 -5
  211. package/dist/plugins/workflow/skills/worktree/references/git-commands.md +0 -27
  212. package/dist/plugins/writing/.claude-plugin/plugin.json +0 -7
  213. package/dist/plugins/writing/skills/writing-great-hooks/SKILL.md +0 -192
  214. package/dist/plugins/writing/skills/writing-great-hooks/agents/openai.yaml +0 -5
  215. package/dist/plugins/writing/skills/writing-great-skills/GLOSSARY.md +0 -201
  216. package/dist/plugins/writing/skills/writing-great-skills/SKILL.md +0 -92
  217. package/dist/plugins/writing/skills/writing-great-skills/agents/openai.yaml +0 -5
  218. package/dist/plugins/writing/skills/writing-great-tasks/SKILL.md +0 -136
  219. package/dist/plugins/writing/skills/writing-great-tasks/agents/openai.yaml +0 -5
  220. package/dist/plugins/writing/skills/writing-great-tasks/templates/template_task.md +0 -108
  221. package/dist/registry/loadPackageRegistry.d.ts +0 -14
  222. package/dist/registry/loadPackageRegistry.d.ts.map +0 -1
  223. package/dist/registry/loadPackageRegistry.js +0 -59
  224. package/dist/registry/loadPackageRegistry.js.map +0 -1
  225. package/dist/registry/userManifest.d.ts +0 -7
  226. package/dist/registry/userManifest.d.ts.map +0 -1
  227. package/dist/registry/userManifest.js +0 -21
  228. package/dist/registry/userManifest.js.map +0 -1
  229. package/dist/remote/fetch.d.ts +0 -16
  230. package/dist/remote/fetch.d.ts.map +0 -1
  231. package/dist/remote/fetch.js +0 -41
  232. package/dist/remote/fetch.js.map +0 -1
  233. package/dist/remote/index.d.ts +0 -7
  234. package/dist/remote/index.d.ts.map +0 -1
  235. package/dist/remote/index.js +0 -5
  236. package/dist/remote/index.js.map +0 -1
  237. package/dist/remote/manifest.d.ts +0 -23
  238. package/dist/remote/manifest.d.ts.map +0 -1
  239. package/dist/remote/manifest.js +0 -116
  240. package/dist/remote/manifest.js.map +0 -1
  241. package/dist/remote/registry.d.ts +0 -18
  242. package/dist/remote/registry.d.ts.map +0 -1
  243. package/dist/remote/registry.js +0 -58
  244. package/dist/remote/registry.js.map +0 -1
  245. package/dist/schemas/config.d.ts +0 -3
  246. package/dist/schemas/config.d.ts.map +0 -1
  247. package/dist/schemas/config.js +0 -3
  248. package/dist/schemas/config.js.map +0 -1
  249. package/dist/schemas/decision.d.ts +0 -43
  250. package/dist/schemas/decision.d.ts.map +0 -1
  251. package/dist/schemas/decision.js +0 -24
  252. package/dist/schemas/decision.js.map +0 -1
  253. package/dist/schemas/index.d.ts +0 -17
  254. package/dist/schemas/index.d.ts.map +0 -1
  255. package/dist/schemas/index.js +0 -10
  256. package/dist/schemas/index.js.map +0 -1
  257. package/dist/schemas/phase.d.ts +0 -46
  258. package/dist/schemas/phase.d.ts.map +0 -1
  259. package/dist/schemas/phase.js +0 -16
  260. package/dist/schemas/phase.js.map +0 -1
  261. package/dist/schemas/plan.d.ts +0 -44
  262. package/dist/schemas/plan.d.ts.map +0 -1
  263. package/dist/schemas/plan.js +0 -15
  264. package/dist/schemas/plan.js.map +0 -1
  265. package/dist/schemas/primitives.d.ts +0 -38
  266. package/dist/schemas/primitives.d.ts.map +0 -1
  267. package/dist/schemas/primitives.js +0 -33
  268. package/dist/schemas/primitives.js.map +0 -1
  269. package/dist/schemas/task.d.ts +0 -70
  270. package/dist/schemas/task.d.ts.map +0 -1
  271. package/dist/schemas/task.js +0 -19
  272. package/dist/schemas/task.js.map +0 -1
  273. package/dist/schemas/term.d.ts +0 -17
  274. package/dist/schemas/term.d.ts.map +0 -1
  275. package/dist/schemas/term.js +0 -22
  276. package/dist/schemas/term.js.map +0 -1
  277. package/dist/schemas/validation.d.ts +0 -24
  278. package/dist/schemas/validation.d.ts.map +0 -1
  279. package/dist/schemas/validation.js +0 -39
  280. package/dist/schemas/validation.js.map +0 -1
  281. package/dist/task-manager/hooks/add-decision.d.ts +0 -2
  282. package/dist/task-manager/hooks/add-decision.d.ts.map +0 -1
  283. package/dist/task-manager/hooks/add-decision.js +0 -19
  284. package/dist/task-manager/hooks/add-decision.js.map +0 -1
  285. package/dist/task-manager/hooks/cleanup.d.ts +0 -2
  286. package/dist/task-manager/hooks/cleanup.d.ts.map +0 -1
  287. package/dist/task-manager/hooks/cleanup.js +0 -27
  288. package/dist/task-manager/hooks/cleanup.js.map +0 -1
  289. package/dist/task-manager/hooks/get-decision.d.ts +0 -2
  290. package/dist/task-manager/hooks/get-decision.d.ts.map +0 -1
  291. package/dist/task-manager/hooks/get-decision.js +0 -11
  292. package/dist/task-manager/hooks/get-decision.js.map +0 -1
  293. package/dist/task-manager/hooks/get-entry.d.ts +0 -2
  294. package/dist/task-manager/hooks/get-entry.d.ts.map +0 -1
  295. package/dist/task-manager/hooks/get-entry.js +0 -20
  296. package/dist/task-manager/hooks/get-entry.js.map +0 -1
  297. package/dist/task-manager/hooks/get-term.d.ts +0 -2
  298. package/dist/task-manager/hooks/get-term.d.ts.map +0 -1
  299. package/dist/task-manager/hooks/get-term.js +0 -13
  300. package/dist/task-manager/hooks/get-term.js.map +0 -1
  301. package/dist/task-manager/hooks/guard-tree.d.ts +0 -2
  302. package/dist/task-manager/hooks/guard-tree.d.ts.map +0 -1
  303. package/dist/task-manager/hooks/guard-tree.js +0 -63
  304. package/dist/task-manager/hooks/guard-tree.js.map +0 -1
  305. package/dist/task-manager/hooks/index.d.ts +0 -4
  306. package/dist/task-manager/hooks/index.d.ts.map +0 -1
  307. package/dist/task-manager/hooks/index.js +0 -32
  308. package/dist/task-manager/hooks/index.js.map +0 -1
  309. package/dist/task-manager/hooks/list-decisions.d.ts +0 -2
  310. package/dist/task-manager/hooks/list-decisions.d.ts.map +0 -1
  311. package/dist/task-manager/hooks/list-decisions.js +0 -20
  312. package/dist/task-manager/hooks/list-decisions.js.map +0 -1
  313. package/dist/task-manager/hooks/list-entries.d.ts +0 -2
  314. package/dist/task-manager/hooks/list-entries.d.ts.map +0 -1
  315. package/dist/task-manager/hooks/list-entries.js +0 -19
  316. package/dist/task-manager/hooks/list-entries.js.map +0 -1
  317. package/dist/task-manager/hooks/list-terms.d.ts +0 -2
  318. package/dist/task-manager/hooks/list-terms.d.ts.map +0 -1
  319. package/dist/task-manager/hooks/list-terms.js +0 -8
  320. package/dist/task-manager/hooks/list-terms.js.map +0 -1
  321. package/dist/task-manager/hooks/next-entry.d.ts +0 -2
  322. package/dist/task-manager/hooks/next-entry.d.ts.map +0 -1
  323. package/dist/task-manager/hooks/next-entry.js +0 -23
  324. package/dist/task-manager/hooks/next-entry.js.map +0 -1
  325. package/dist/task-manager/hooks/remove-term.d.ts +0 -2
  326. package/dist/task-manager/hooks/remove-term.d.ts.map +0 -1
  327. package/dist/task-manager/hooks/remove-term.js +0 -15
  328. package/dist/task-manager/hooks/remove-term.js.map +0 -1
  329. package/dist/task-manager/hooks/set-state.d.ts +0 -2
  330. package/dist/task-manager/hooks/set-state.d.ts.map +0 -1
  331. package/dist/task-manager/hooks/set-state.js +0 -15
  332. package/dist/task-manager/hooks/set-state.js.map +0 -1
  333. package/dist/task-manager/hooks/set-term.d.ts +0 -2
  334. package/dist/task-manager/hooks/set-term.d.ts.map +0 -1
  335. package/dist/task-manager/hooks/set-term.js +0 -27
  336. package/dist/task-manager/hooks/set-term.js.map +0 -1
  337. package/dist/task-manager/hooks/sync-tree.d.ts +0 -2
  338. package/dist/task-manager/hooks/sync-tree.d.ts.map +0 -1
  339. package/dist/task-manager/hooks/sync-tree.js +0 -28
  340. package/dist/task-manager/hooks/sync-tree.js.map +0 -1
  341. package/dist/task-manager/index.d.ts +0 -2
  342. package/dist/task-manager/index.d.ts.map +0 -1
  343. package/dist/task-manager/index.js +0 -3
  344. package/dist/task-manager/index.js.map +0 -1
  345. package/dist/vocabulary/file.d.ts +0 -15
  346. package/dist/vocabulary/file.d.ts.map +0 -1
  347. package/dist/vocabulary/file.js +0 -80
  348. package/dist/vocabulary/file.js.map +0 -1
  349. package/dist/vocabulary/index.d.ts +0 -4
  350. package/dist/vocabulary/index.d.ts.map +0 -1
  351. package/dist/vocabulary/index.js +0 -4
  352. package/dist/vocabulary/index.js.map +0 -1
  353. package/dist/vocabulary/match.d.ts +0 -22
  354. package/dist/vocabulary/match.d.ts.map +0 -1
  355. package/dist/vocabulary/match.js +0 -31
  356. package/dist/vocabulary/match.js.map +0 -1
  357. package/dist/workflow/gates.d.ts +0 -24
  358. package/dist/workflow/gates.d.ts.map +0 -1
  359. package/dist/workflow/gates.js +0 -34
  360. package/dist/workflow/gates.js.map +0 -1
  361. package/dist/workflow/hooks/advance-step.d.ts +0 -2
  362. package/dist/workflow/hooks/advance-step.d.ts.map +0 -1
  363. package/dist/workflow/hooks/advance-step.js +0 -51
  364. package/dist/workflow/hooks/advance-step.js.map +0 -1
  365. package/dist/workflow/hooks/current-step.d.ts +0 -2
  366. package/dist/workflow/hooks/current-step.d.ts.map +0 -1
  367. package/dist/workflow/hooks/current-step.js +0 -24
  368. package/dist/workflow/hooks/current-step.js.map +0 -1
  369. package/dist/workflow/hooks/index.d.ts +0 -4
  370. package/dist/workflow/hooks/index.d.ts.map +0 -1
  371. package/dist/workflow/hooks/index.js +0 -10
  372. package/dist/workflow/hooks/index.js.map +0 -1
  373. package/dist/workflow/hooks/ready-phases.d.ts +0 -2
  374. package/dist/workflow/hooks/ready-phases.d.ts.map +0 -1
  375. package/dist/workflow/hooks/ready-phases.js +0 -15
  376. package/dist/workflow/hooks/ready-phases.js.map +0 -1
  377. package/dist/workflow/index.d.ts +0 -8
  378. package/dist/workflow/index.d.ts.map +0 -1
  379. package/dist/workflow/index.js +0 -6
  380. package/dist/workflow/index.js.map +0 -1
  381. package/dist/workflow/phase.d.ts +0 -16
  382. package/dist/workflow/phase.d.ts.map +0 -1
  383. package/dist/workflow/phase.js +0 -22
  384. package/dist/workflow/phase.js.map +0 -1
  385. package/dist/workflow/steps.d.ts +0 -15
  386. package/dist/workflow/steps.d.ts.map +0 -1
  387. package/dist/workflow/steps.js +0 -32
  388. package/dist/workflow/steps.js.map +0 -1
@@ -1,30 +1,67 @@
1
1
  import { resolveProjectRoot } from "@g3nomaly/core/config";
2
2
  import type { G3nConfig } from "@g3nomaly/core/config";
3
- import type { EntrySource, InstallTarget } from "@g3nomaly/core/cli";
4
- import type { SkillRegistry } from "../registry/types";
5
- /** Injection point for tests; the real project root comes from git discovery. */
3
+ import type { InstallCommandContext, ManifestTarget } from "@g3nomaly/core/cli";
4
+ import type { SourceRegistry } from "@g3nomaly/core/installer";
5
+ import type { RegisteredSource } from "@g3nomaly/core/sources";
6
+ import type { SkillMeta, SkillRegistry } from "../registry/types";
7
+ /**
8
+ * @brief Injection point for tests; the real project root comes from git discovery.
9
+ *
10
+ * @property resolveProjectRoot - Replaces git discovery, e.g. `() => "/tmp/project"`.
11
+ */
6
12
  export interface ProjectDeps {
7
13
  resolveProjectRoot?: typeof resolveProjectRoot;
8
14
  }
9
- /** Anchors the command to the git project and loads its config; exits when outside a repo. */
15
+ /**
16
+ * @brief Anchors the command to the git project and loads its config; exits when outside a repo.
17
+ *
18
+ * @param deps - Test injection; the default discovers the project from git.
19
+ * @returns The project root and its loaded config.
20
+ */
10
21
  export declare function openSkillProject(deps?: ProjectDeps): Promise<{
11
22
  projectRoot: string;
12
23
  config: G3nConfig;
13
24
  }>;
14
- export declare function skillRegistry(): Promise<SkillRegistry>;
15
- /** One install target per configured harness, narrowed to `only` when given. */
16
- export declare function skillTargets(config: G3nConfig, projectRoot: string, only?: string[]): Promise<InstallTarget[]>;
17
25
  /**
18
- * Expands group names to their skills and separates unknown keys. With
19
- * `withDependencies` each skill also pulls in its `registryDependencies`
20
- * closure; `notes` says which skill required each pulled-in key. When a key
21
- * names both a group and a skill, the group wins unless `skillFirst` is set
22
- * (remote plugins often carry a skill named like the plugin itself).
26
+ * @brief One target per configured harness, narrowed to `only` when given; exits on an unreadable `skills.json`.
27
+ *
28
+ * @param config - Loaded g3n config holding the configured harnesses.
29
+ * @param projectRoot - Absolute project root the install directories are relative to.
30
+ * @param only - Harness names to narrow to, e.g. `["claude"]`; every configured target when absent or empty.
31
+ * @returns One target per harness, each with its install directory and manifest.
32
+ */
33
+ export declare function skillTargets(config: G3nConfig, projectRoot: string, only?: string[]): ManifestTarget[];
34
+ /**
35
+ * @brief Built-in sources plus those registered in any of the targets' `skills.json`.
36
+ *
37
+ * @param targets - Targets whose manifests are read.
38
+ * @returns The sources, built-in ones first.
39
+ */
40
+ export declare function skillSources(targets: readonly ManifestTarget[]): RegisteredSource[];
41
+ /**
42
+ * @brief Installed skills of one target.
43
+ *
44
+ * @param target - Target whose `skills.json` is read.
45
+ * @returns The installed skills keyed by skill key.
46
+ */
47
+ export declare function installedSkills(target: ManifestTarget): SkillRegistry;
48
+ /** What the core install and source commands print and check for skills. */
49
+ export declare const SKILL_CONTEXT: InstallCommandContext<SkillMeta>;
50
+ /**
51
+ * @brief Reads the skills of the targets' sources, or only those of `only`, and
52
+ * prints what could not be read; the caller disposes the result.
53
+ *
54
+ * @param targets - Targets whose sources are read.
55
+ * @param projectRoot - Absolute project root the sources are checked out under.
56
+ * @param only - Source name to read alone; exits when no such source is registered.
57
+ * @returns The skills per source; dispose it once read.
58
+ */
59
+ export declare function openSkillRegistry(targets: readonly ManifestTarget[], projectRoot: string, only?: string): Promise<SourceRegistry<SkillMeta>>;
60
+ /**
61
+ * @brief Installs the packages of the given skills in one target and prints each failure; sets exit code 1 on any.
62
+ *
63
+ * @param target - Target whose install directory holds the skills.
64
+ * @param keys - Skill keys to install, e.g. `["emphasise"]`.
23
65
  */
24
- export declare function resolveSkillKeys(keys: string[], registry: SkillRegistry, withDependencies?: boolean, skillFirst?: boolean): {
25
- resolved: string[];
26
- unknown: string[];
27
- notes: Record<string, string>;
28
- };
29
- export declare const skillSource: EntrySource;
66
+ export declare function installPackagesReporting(target: ManifestTarget, keys: readonly string[]): Promise<void>;
30
67
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiC,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAChD;AAED,8FAA8F;AAC9F,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAOlH;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5D;AAED,gFAAgF;AAChF,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAgBpH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,aAAa,EACvB,gBAAgB,UAAQ,EACxB,UAAU,UAAQ,GACjB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgC1E;AAED,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAOlH;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAWtG;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,gBAAgB,EAAE,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAErE;AAED,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAsE,CAAC;AAElI;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAIlJ;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7G"}
@@ -1,86 +1,92 @@
1
1
  // packages/skills/src/cli/adapter.ts
2
2
  import path from "node:path";
3
- import { collectDependencies, entries } from "@g3nomaly/core/registry";
4
- import { copySource } from "@g3nomaly/core/installer";
5
3
  import { SkillTargetSchema, loadConfig, resolveProjectRoot } from "@g3nomaly/core/config";
6
- import { lineError } from "@g3nomaly/core/cli";
7
- import { loadPackageRegistry, resolveSkillSourcePath } from "../registry/loadPackageRegistry";
8
- import { loadUserManifest } from "../registry/userManifest";
4
+ import { c, lineError, narrowSources, orExit, reportSourceRegistry } from "@g3nomaly/core/cli";
5
+ import { installedEntries, loadInstallManifest, loadSourceRegistry, manifestSources } from "@g3nomaly/core/installer";
6
+ import { skillsManifestPath } from "../registry/manifest";
7
+ import { readSkillSource } from "../registry/readSource";
9
8
  import { SkillMetaSchema } from "../registry/types";
10
- /** Anchors the command to the git project and loads its config; exits when outside a repo. */
9
+ import { installSkillPackages } from "../packages/install";
10
+ import { BUILTIN_SOURCES } from "../sources/builtins";
11
+ /**
12
+ * @brief Anchors the command to the git project and loads its config; exits when outside a repo.
13
+ *
14
+ * @param deps - Test injection; the default discovers the project from git.
15
+ * @returns The project root and its loaded config.
16
+ */
11
17
  export async function openSkillProject(deps = {}) {
12
18
  const projectRoot = (deps.resolveProjectRoot ?? resolveProjectRoot)();
13
19
  if (projectRoot === null) {
14
- console.error(lineError("No g3n project found — run `g3n-skills init` inside a git repository."));
20
+ console.error(lineError("No g3n project found: run `g3n-skills init` inside a git repository."));
15
21
  process.exit(1);
16
22
  }
17
23
  return { projectRoot, config: await loadConfig(projectRoot) };
18
24
  }
19
- export async function skillRegistry() {
20
- return entries(await loadPackageRegistry());
21
- }
22
- /** One install target per configured harness, narrowed to `only` when given. */
23
- export async function skillTargets(config, projectRoot, only) {
25
+ /**
26
+ * @brief One target per configured harness, narrowed to `only` when given; exits on an unreadable `skills.json`.
27
+ *
28
+ * @param config - Loaded g3n config holding the configured harnesses.
29
+ * @param projectRoot - Absolute project root the install directories are relative to.
30
+ * @param only - Harness names to narrow to, e.g. `["claude"]`; every configured target when absent or empty.
31
+ * @returns One target per harness, each with its install directory and manifest.
32
+ */
33
+ export function skillTargets(config, projectRoot, only) {
24
34
  const settings = config.skills.settings;
25
35
  const wanted = only === undefined || only.length === 0
26
36
  ? settings.targets
27
37
  : only.map((t) => SkillTargetSchema.parse(t));
28
- const targets = [];
29
- for (const target of wanted) {
38
+ return wanted.map((target) => {
30
39
  const installDir = settings.installDirs[target];
31
- targets.push({
32
- label: target,
33
- installDir: path.join(projectRoot, installDir),
34
- store: await loadUserManifest(projectRoot, installDir),
35
- });
36
- }
37
- return targets;
40
+ const manifest = orExit(() => loadInstallManifest(skillsManifestPath(projectRoot, installDir), SkillMetaSchema));
41
+ return { label: target, installDir: path.join(projectRoot, installDir), store: manifest.store, manifest };
42
+ });
38
43
  }
39
44
  /**
40
- * Expands group names to their skills and separates unknown keys. With
41
- * `withDependencies` each skill also pulls in its `registryDependencies`
42
- * closure; `notes` says which skill required each pulled-in key. When a key
43
- * names both a group and a skill, the group wins unless `skillFirst` is set
44
- * (remote plugins often carry a skill named like the plugin itself).
45
+ * @brief Built-in sources plus those registered in any of the targets' `skills.json`.
46
+ *
47
+ * @param targets - Targets whose manifests are read.
48
+ * @returns The sources, built-in ones first.
45
49
  */
46
- export function resolveSkillKeys(keys, registry, withDependencies = false, skillFirst = false) {
47
- const groups = {};
48
- for (const [key, meta] of Object.entries(registry))
49
- (groups[meta.group] ??= []).push(key);
50
- const named = [];
51
- const unknown = [];
52
- const notes = {};
53
- for (const raw of keys) {
54
- const key = raw.toLowerCase();
55
- const group = groups[key];
56
- if (registry[key] && (skillFirst || group === undefined)) {
57
- named.push(key);
58
- if (group !== undefined)
59
- notes[key] = `also a plugin name — picked the single skill; name the plugin's other skills to add more`;
60
- }
61
- else if (group !== undefined) {
62
- named.push(...group);
63
- }
64
- else {
65
- unknown.push(key);
66
- }
67
- }
68
- if (!withDependencies)
69
- return { resolved: [...new Set(named)], unknown, notes };
70
- const resolved = [];
71
- for (const key of new Set(named)) {
72
- const closure = new Set();
73
- collectDependencies(key, registry, closure, unknown);
74
- for (const dep of closure) {
75
- if (!named.includes(dep) && notes[dep] === undefined)
76
- notes[dep] = `dep of ${key}`;
77
- resolved.push(dep);
78
- }
50
+ export function skillSources(targets) {
51
+ return manifestSources(targets.map((t) => t.manifest), BUILTIN_SOURCES);
52
+ }
53
+ /**
54
+ * @brief Installed skills of one target.
55
+ *
56
+ * @param target - Target whose `skills.json` is read.
57
+ * @returns The installed skills keyed by skill key.
58
+ */
59
+ export function installedSkills(target) {
60
+ return installedEntries(target.manifest, SkillMetaSchema);
61
+ }
62
+ /** What the core install and source commands print and check for skills. */
63
+ export const SKILL_CONTEXT = { bin: "g3n-skills", noun: "skill", entrySchema: SkillMetaSchema };
64
+ /**
65
+ * @brief Reads the skills of the targets' sources, or only those of `only`, and
66
+ * prints what could not be read; the caller disposes the result.
67
+ *
68
+ * @param targets - Targets whose sources are read.
69
+ * @param projectRoot - Absolute project root the sources are checked out under.
70
+ * @param only - Source name to read alone; exits when no such source is registered.
71
+ * @returns The skills per source; dispose it once read.
72
+ */
73
+ export async function openSkillRegistry(targets, projectRoot, only) {
74
+ const registry = await loadSourceRegistry(narrowSources(skillSources(targets), only, "g3n-skills"), projectRoot, readSkillSource);
75
+ reportSourceRegistry(registry);
76
+ return registry;
77
+ }
78
+ /**
79
+ * @brief Installs the packages of the given skills in one target and prints each failure; sets exit code 1 on any.
80
+ *
81
+ * @param target - Target whose install directory holds the skills.
82
+ * @param keys - Skill keys to install, e.g. `["emphasise"]`.
83
+ */
84
+ export async function installPackagesReporting(target, keys) {
85
+ for (const result of await installSkillPackages(target.installDir, keys)) {
86
+ if (result.error === undefined)
87
+ continue;
88
+ console.error(lineError(`${c.key(result.key)} (${c.target(target.label)}): its packages could not be installed, so its hooks will not run: ${result.error}`));
89
+ process.exitCode = 1;
79
90
  }
80
- return { resolved: [...new Set(resolved)], unknown: [...new Set(unknown)], notes };
81
91
  }
82
- export const skillSource = (entry) => {
83
- const { group } = SkillMetaSchema.pick({ group: true }).parse(entry);
84
- return copySource((filePath) => resolveSkillSourcePath(group, filePath));
85
- };
86
92
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,23 @@
1
- import type { Dialogue, InstallInput, InstallOptions } from "@g3nomaly/core/cli";
1
+ import type { InstallOptions } from "@g3nomaly/core/cli";
2
2
  import type { ProjectDeps } from "../adapter";
3
+ /**
4
+ * @brief Options of `addCommand`, on top of the core install options.
5
+ *
6
+ * @property targets - Harness names to install into, e.g. `["claude"]`; every configured target when absent.
7
+ */
3
8
  export interface AddOptions extends InstallOptions {
4
9
  targets?: string[];
5
- /** Git URL of a plugin or marketplace repository to install from instead of the package */
6
- remote?: string;
7
10
  }
8
- export declare const noValueDialogue: Dialogue<InstallInput>;
9
- export declare const entryNotFoundDialogue: Dialogue<InstallInput>;
10
- export declare const collisionDialogue: Dialogue<InstallInput>;
11
11
  /**
12
- * Installs skills (or whole groups) into every configured target. With
13
- * `--remote` the registry comes from a cloned plugin repository instead of
14
- * the package; dependency resolution is off there.
12
+ * @brief Installs skills or whole groups from the registered sources into every
13
+ * configured target, each with the skills it depends on from any source, and
14
+ * installs the packages of the skills that ship a `package.json`. A name more
15
+ * than one source offers is picked as `<name>@<source>`; with no names the
16
+ * user picks from what the sources offer.
17
+ *
18
+ * @param names - Skill keys or groups to install, e.g. `emphasise`; empty to pick from the sources.
19
+ * @param options - Force flag and the `targets` to narrow the install to.
20
+ * @param deps - Test injection.
15
21
  */
16
- export declare function addCommand(keys: string[], options?: AddOptions, deps?: ProjectDeps): Promise<void>;
22
+ export declare function addCommand(names: string[], options?: AddOptions, deps?: ProjectDeps): Promise<void>;
17
23
  //# sourceMappingURL=add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAe,YAAY,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAC;AAO7G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,YAAY,CAQlD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAQxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAWpD,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BhH"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CASjH"}
@@ -1,108 +1,26 @@
1
1
  // packages/skills/src/cli/commands/add.ts
2
- import { addEntries, runDialogueValue, ConflictDecision, StepKind, c, lineError, lineInfo, lineWarn } from "@g3nomaly/core/cli";
3
- import { saveUserManifest } from "../../registry/userManifest";
4
- import { cloneRemote, removeCheckout } from "../../remote/fetch";
5
- import { loadRemoteRegistry, remoteSkillSource } from "../../remote/registry";
6
- import { openSkillProject, resolveSkillKeys, skillRegistry, skillSource, skillTargets } from "../adapter";
7
- export const noValueDialogue = {
8
- steps: {
9
- selectSkills: {
10
- kind: StepKind.MultiSelect,
11
- message: "Select skills to install:",
12
- choices: (input) => input.keyChoices ?? [],
13
- },
14
- },
15
- };
16
- export const entryNotFoundDialogue = {
17
- steps: {
18
- entryNotFound: {
19
- kind: StepKind.Confirm,
20
- message: "Unknown skill(s): {unknown}. Continue with the remaining selection?",
21
- initial: false,
22
- },
23
- },
24
- };
25
- export const collisionDialogue = {
26
- steps: {
27
- conflict: {
28
- kind: StepKind.Select,
29
- message: "{key} ({target}) has local changes. What would you like to do?",
30
- choices: [
31
- { value: ConflictDecision.Keep, label: "Keep my changes — skip modified files" },
32
- { value: ConflictDecision.Overwrite, label: "Overwrite with the package version" },
33
- ],
34
- },
35
- },
36
- };
2
+ import { addFromSources } from "@g3nomaly/core/cli";
3
+ import { SKILL_CONTEXT, installPackagesReporting, openSkillProject, openSkillRegistry, skillTargets } from "../adapter";
37
4
  /**
38
- * Installs skills (or whole groups) into every configured target. With
39
- * `--remote` the registry comes from a cloned plugin repository instead of
40
- * the package; dependency resolution is off there.
5
+ * @brief Installs skills or whole groups from the registered sources into every
6
+ * configured target, each with the skills it depends on from any source, and
7
+ * installs the packages of the skills that ship a `package.json`. A name more
8
+ * than one source offers is picked as `<name>@<source>`; with no names the
9
+ * user picks from what the sources offer.
10
+ *
11
+ * @param names - Skill keys or groups to install, e.g. `emphasise`; empty to pick from the sources.
12
+ * @param options - Force flag and the `targets` to narrow the install to.
13
+ * @param deps - Test injection.
41
14
  */
42
- export async function addCommand(keys, options = {}, deps = {}) {
15
+ export async function addCommand(names, options = {}, deps = {}) {
43
16
  const { projectRoot, config } = await openSkillProject(deps);
44
- const targets = await skillTargets(config, projectRoot, options.targets);
45
- if (options.remote === undefined) {
46
- const registry = await skillRegistry();
47
- await installSkills(keys, registry, skillSource, targets, options, {
48
- withDependencies: true,
49
- skillFirst: false,
50
- unknownHint: `Run ${c.cmd("g3n-skills ls")} to see what is available.`,
51
- });
52
- return;
53
- }
54
- const checkout = await cloneRemoteOrExit(options.remote);
17
+ const targets = skillTargets(config, projectRoot, options.targets);
18
+ const registry = await openSkillRegistry(targets, projectRoot);
55
19
  try {
56
- const { registry, warnings } = await loadRemoteRegistryOrExit(checkout);
57
- for (const warning of warnings)
58
- console.log(lineWarn(warning));
59
- await installSkills(keys, registry, remoteSkillSource(checkout), targets, options, {
60
- withDependencies: false,
61
- skillFirst: true,
62
- unknownHint: `The repository provides: ${Object.keys(registry).map((k) => c.key(k)).join(", ")}.`,
63
- });
20
+ await addFromSources(targets, names, registry, options, SKILL_CONTEXT, installPackagesReporting);
64
21
  }
65
22
  finally {
66
- removeCheckout(checkout);
67
- }
68
- }
69
- async function installSkills(keys, registry, source, targets, options, plan) {
70
- const { resolved, unknown, notes } = resolveSkillKeys(keys, registry, plan.withDependencies, plan.skillFirst);
71
- if (unknown.length > 0) {
72
- console.error(lineError(`Unknown skill(s): ${unknown.map((k) => c.key(k)).join(", ")}. ${plan.unknownHint}`));
73
- const proceed = resolved.length > 0
74
- && (await runDialogueValue(entryNotFoundDialogue, { unknown: unknown.map((k) => c.key(k)).join(", ") }, options.answers)) === true;
75
- if (!proceed)
76
- process.exit(1);
77
- }
78
- for (const [dep, why] of Object.entries(notes))
79
- console.log(lineInfo(`${c.key(dep)} — ${why}`));
80
- await addEntries(registry, targets, source, resolved, options, {
81
- onNoValue: noValueDialogue,
82
- onCollision: collisionDialogue,
83
- });
84
- for (const target of targets)
85
- saveUserManifest(target.store);
86
- }
87
- async function cloneRemoteOrExit(url) {
88
- try {
89
- return await cloneRemote(url);
23
+ registry.dispose();
90
24
  }
91
- catch (error) {
92
- console.error(lineError(`Could not fetch ${c.key(url)} — ${errorMessage(error)}`));
93
- process.exit(1);
94
- }
95
- }
96
- async function loadRemoteRegistryOrExit(checkout) {
97
- try {
98
- return await loadRemoteRegistry(checkout);
99
- }
100
- catch (error) {
101
- console.error(lineError(`${c.key(checkout.url)} — ${errorMessage(error)}`));
102
- process.exit(1);
103
- }
104
- }
105
- function errorMessage(error) {
106
- return error instanceof Error ? error.message : String(error);
107
25
  }
108
26
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAYxH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,OAAO,GAAe,EAAE,EAAE,IAAI,GAAgB,EAAE;IAChG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAI,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAC;IACnG,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,22 +1,45 @@
1
1
  import type { SkillTarget, SkillsSettings } from "@g3nomaly/core/config";
2
2
  import type { Dialogue, DialogueAnswers } from "@g3nomaly/core/cli";
3
3
  import type { ProjectDeps } from "../adapter";
4
+ /**
5
+ * @brief Options of `initCommand`; the preset options skip the prompts.
6
+ *
7
+ * @property force - Reconfigure without asking when a config already exists.
8
+ * @property targets - Harness names to configure, e.g. `["claude", "codex"]`; skips the harness prompt.
9
+ * @property answers - Preset dialogue answers by step id; skips the terminal prompt.
10
+ */
4
11
  export interface InitOptions {
5
12
  force?: boolean;
6
13
  targets?: string[];
7
- /** Preset dialogue answers by step id; skips the terminal prompt. */
8
14
  answers?: DialogueAnswers;
9
15
  }
16
+ /**
17
+ * @brief Answers of the init dialogue, parsed into the skills settings.
18
+ *
19
+ * @property targets - Harnesses to install skills for.
20
+ * @property claudeDir - Claude skills directory, relative to the project root, e.g. `.claude/skills`.
21
+ * @property codexDir - Codex skills directory, relative to the project root, e.g. `.codex/skills`.
22
+ */
10
23
  export interface SkillsInitAnswers {
11
24
  targets: SkillTarget[];
12
25
  claudeDir: string;
13
26
  codexDir: string;
14
27
  }
28
+ /**
29
+ * @brief Input of the init dialogue: the settings its steps start from.
30
+ *
31
+ * @property settings - Current skills settings, the initial value of each step.
32
+ */
15
33
  interface SkillsInitInput extends Record<string, unknown> {
16
34
  settings: SkillsSettings;
17
35
  }
18
36
  export declare const initDialogue: Dialogue<SkillsInitInput>;
19
- /** Configures which harnesses skills are installed for. */
37
+ /**
38
+ * @brief Configures which harnesses skills are installed for.
39
+ *
40
+ * @param options - Force flag, targets and preset answers.
41
+ * @param deps - Test injection.
42
+ */
20
43
  export declare function initCommand(options?: InitOptions, deps?: ProjectDeps): Promise<void>;
21
44
  export {};
22
45
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAI,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAI,WAAW,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAG,MAAM,CAAC;CACnB;AAKD,UAAU,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAYD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,eAAe,CA6BlD,CAAC;AA6BF,2DAA2D;AAC3D,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClG"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAI,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAI,WAAW,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAG,MAAM,CAAC;CACnB;AAWD;;;;GAIG;AACH,UAAU,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAYD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,eAAe,CA6BlD,CAAC;AAgDF;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClG"}
@@ -7,6 +7,12 @@ import { z } from "zod";
7
7
  import { SkillTargetSchema, configExists, loadConfig, resolveProjectRoot, saveConfig } from "@g3nomaly/core/config";
8
8
  import { StepKind, c, runDialogue, runDialogueValue } from "@g3nomaly/core/cli";
9
9
  const TargetsSchema = z.array(SkillTargetSchema);
10
+ /**
11
+ * @brief Validates a directory answer: rejects a blank one.
12
+ *
13
+ * @param v - Text the user typed; `undefined` when nothing was typed.
14
+ * @returns The error message to show, or `undefined` when the value is valid.
15
+ */
10
16
  const notEmpty = (v) => (v?.trim() ? undefined : "Directory cannot be empty");
11
17
  const reconfigureDialogue = {
12
18
  steps: {
@@ -47,6 +53,11 @@ export const initDialogue = {
47
53
  },
48
54
  },
49
55
  };
56
+ /**
57
+ * @brief The printed lines of the skills settings: harnesses and their directories.
58
+ *
59
+ * @param targets - Harnesses to list.
60
+ */
50
61
  function settingsLines(targets, claudeDir, codexDir) {
51
62
  return [
52
63
  ` targets: ${targets.map((t) => c.target(t)).join(", ")}`,
@@ -54,6 +65,13 @@ function settingsLines(targets, claudeDir, codexDir) {
54
65
  ` codex dir: ${c.dir(codexDir)}`,
55
66
  ];
56
67
  }
68
+ /**
69
+ * @brief Answers taken from the preset options.
70
+ *
71
+ * @param options - Command options; `targets` is the preset.
72
+ * @param config - Loaded config whose directories fill the answers.
73
+ * @returns The preset answers, or `null` when no targets were given.
74
+ */
57
75
  function fromOptions(options, config) {
58
76
  if (options.targets === undefined)
59
77
  return null;
@@ -64,6 +82,13 @@ function fromOptions(options, config) {
64
82
  codexDir: s.installDirs.codex,
65
83
  };
66
84
  }
85
+ /**
86
+ * @brief Parses the dialogue record into answers, keeping the configured directories where a step gave none.
87
+ *
88
+ * @param record - Answers of the dialogue by step id.
89
+ * @param config - Loaded config whose directories are the fallback.
90
+ * @returns The parsed answers.
91
+ */
67
92
  function parseAnswers(record, config) {
68
93
  const s = config.skills.settings;
69
94
  return {
@@ -72,7 +97,12 @@ function parseAnswers(record, config) {
72
97
  codexDir: typeof record.codexDir === "string" ? record.codexDir : s.installDirs.codex,
73
98
  };
74
99
  }
75
- /** Configures which harnesses skills are installed for. */
100
+ /**
101
+ * @brief Configures which harnesses skills are installed for.
102
+ *
103
+ * @param options - Force flag, targets and preset answers.
104
+ * @param deps - Test injection.
105
+ */
76
106
  export async function initCommand(options = {}, deps = {}) {
77
107
  p.intro(chalk.bold.cyan("g3n-skills init"));
78
108
  const projectRoot = (deps.resolveProjectRoot ?? resolveProjectRoot)();
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}