@kynetic-ai/spec 0.1.2 → 0.4.0

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 (540) hide show
  1. package/README.md +250 -17
  2. package/dist/acp/client.d.ts +18 -4
  3. package/dist/acp/client.d.ts.map +1 -1
  4. package/dist/acp/client.js +44 -26
  5. package/dist/acp/client.js.map +1 -1
  6. package/dist/acp/framing.d.ts +2 -2
  7. package/dist/acp/framing.d.ts.map +1 -1
  8. package/dist/acp/framing.js +37 -29
  9. package/dist/acp/framing.js.map +1 -1
  10. package/dist/acp/index.d.ts +6 -7
  11. package/dist/acp/index.d.ts.map +1 -1
  12. package/dist/acp/index.js +3 -3
  13. package/dist/acp/index.js.map +1 -1
  14. package/dist/acp/types.d.ts +5 -5
  15. package/dist/acp/types.d.ts.map +1 -1
  16. package/dist/acp/types.js +18 -18
  17. package/dist/acp/types.js.map +1 -1
  18. package/dist/agents/adapters.d.ts.map +1 -1
  19. package/dist/agents/adapters.js +24 -13
  20. package/dist/agents/adapters.js.map +1 -1
  21. package/dist/agents/index.d.ts +2 -2
  22. package/dist/agents/index.js +2 -2
  23. package/dist/agents/spawner.d.ts +4 -4
  24. package/dist/agents/spawner.d.ts.map +1 -1
  25. package/dist/agents/spawner.js +6 -6
  26. package/dist/agents/spawner.js.map +1 -1
  27. package/dist/cli/batch-context.d.ts +43 -0
  28. package/dist/cli/batch-context.d.ts.map +1 -0
  29. package/dist/cli/batch-context.js +93 -0
  30. package/dist/cli/batch-context.js.map +1 -0
  31. package/dist/cli/batch-exec.d.ts +107 -0
  32. package/dist/cli/batch-exec.d.ts.map +1 -0
  33. package/dist/cli/batch-exec.js +706 -0
  34. package/dist/cli/batch-exec.js.map +1 -0
  35. package/dist/cli/batch.d.ts +4 -2
  36. package/dist/cli/batch.d.ts.map +1 -1
  37. package/dist/cli/batch.js +15 -14
  38. package/dist/cli/batch.js.map +1 -1
  39. package/dist/cli/command-annotations.d.ts +23 -0
  40. package/dist/cli/command-annotations.d.ts.map +1 -0
  41. package/dist/cli/command-annotations.js +27 -0
  42. package/dist/cli/command-annotations.js.map +1 -0
  43. package/dist/cli/commands/agents.d.ts +46 -0
  44. package/dist/cli/commands/agents.d.ts.map +1 -0
  45. package/dist/cli/commands/agents.js +377 -0
  46. package/dist/cli/commands/agents.js.map +1 -0
  47. package/dist/cli/commands/batch.d.ts +20 -0
  48. package/dist/cli/commands/batch.d.ts.map +1 -0
  49. package/dist/cli/commands/batch.js +214 -0
  50. package/dist/cli/commands/batch.js.map +1 -0
  51. package/dist/cli/commands/clone-for-testing.d.ts +1 -1
  52. package/dist/cli/commands/clone-for-testing.d.ts.map +1 -1
  53. package/dist/cli/commands/clone-for-testing.js +37 -47
  54. package/dist/cli/commands/clone-for-testing.js.map +1 -1
  55. package/dist/cli/commands/derive.d.ts +1 -1
  56. package/dist/cli/commands/derive.d.ts.map +1 -1
  57. package/dist/cli/commands/derive.js +141 -88
  58. package/dist/cli/commands/derive.js.map +1 -1
  59. package/dist/cli/commands/doctor.d.ts +11 -0
  60. package/dist/cli/commands/doctor.d.ts.map +1 -0
  61. package/dist/cli/commands/doctor.js +152 -0
  62. package/dist/cli/commands/doctor.js.map +1 -0
  63. package/dist/cli/commands/export.d.ts +12 -0
  64. package/dist/cli/commands/export.d.ts.map +1 -0
  65. package/dist/cli/commands/export.js +134 -0
  66. package/dist/cli/commands/export.js.map +1 -0
  67. package/dist/cli/commands/help.d.ts +1 -1
  68. package/dist/cli/commands/help.d.ts.map +1 -1
  69. package/dist/cli/commands/help.js +163 -37
  70. package/dist/cli/commands/help.js.map +1 -1
  71. package/dist/cli/commands/inbox.d.ts +1 -1
  72. package/dist/cli/commands/inbox.d.ts.map +1 -1
  73. package/dist/cli/commands/inbox.js +178 -56
  74. package/dist/cli/commands/inbox.js.map +1 -1
  75. package/dist/cli/commands/index.d.ts +31 -19
  76. package/dist/cli/commands/index.d.ts.map +1 -1
  77. package/dist/cli/commands/index.js +31 -19
  78. package/dist/cli/commands/index.js.map +1 -1
  79. package/dist/cli/commands/init.d.ts +5 -1
  80. package/dist/cli/commands/init.d.ts.map +1 -1
  81. package/dist/cli/commands/init.js +108 -57
  82. package/dist/cli/commands/init.js.map +1 -1
  83. package/dist/cli/commands/item.d.ts +1 -1
  84. package/dist/cli/commands/item.d.ts.map +1 -1
  85. package/dist/cli/commands/item.js +557 -274
  86. package/dist/cli/commands/item.js.map +1 -1
  87. package/dist/cli/commands/link.d.ts +1 -1
  88. package/dist/cli/commands/link.d.ts.map +1 -1
  89. package/dist/cli/commands/link.js +55 -46
  90. package/dist/cli/commands/link.js.map +1 -1
  91. package/dist/cli/commands/log.d.ts +1 -1
  92. package/dist/cli/commands/log.d.ts.map +1 -1
  93. package/dist/cli/commands/log.js +58 -51
  94. package/dist/cli/commands/log.js.map +1 -1
  95. package/dist/cli/commands/merge-driver.d.ts +19 -0
  96. package/dist/cli/commands/merge-driver.d.ts.map +1 -0
  97. package/dist/cli/commands/merge-driver.js +398 -0
  98. package/dist/cli/commands/merge-driver.js.map +1 -0
  99. package/dist/cli/commands/meta.d.ts +1 -1
  100. package/dist/cli/commands/meta.d.ts.map +1 -1
  101. package/dist/cli/commands/meta.js +534 -399
  102. package/dist/cli/commands/meta.js.map +1 -1
  103. package/dist/cli/commands/module.d.ts +1 -1
  104. package/dist/cli/commands/module.d.ts.map +1 -1
  105. package/dist/cli/commands/module.js +30 -25
  106. package/dist/cli/commands/module.js.map +1 -1
  107. package/dist/cli/commands/plan-import.d.ts +11 -0
  108. package/dist/cli/commands/plan-import.d.ts.map +1 -0
  109. package/dist/cli/commands/plan-import.js +547 -0
  110. package/dist/cli/commands/plan-import.js.map +1 -0
  111. package/dist/cli/commands/plan.d.ts +10 -0
  112. package/dist/cli/commands/plan.d.ts.map +1 -0
  113. package/dist/cli/commands/plan.js +421 -0
  114. package/dist/cli/commands/plan.js.map +1 -0
  115. package/dist/cli/commands/ralph.d.ts +1 -1
  116. package/dist/cli/commands/ralph.d.ts.map +1 -1
  117. package/dist/cli/commands/ralph.js +1109 -170
  118. package/dist/cli/commands/ralph.js.map +1 -1
  119. package/dist/cli/commands/refs.d.ts +13 -0
  120. package/dist/cli/commands/refs.d.ts.map +1 -0
  121. package/dist/cli/commands/refs.js +283 -0
  122. package/dist/cli/commands/refs.js.map +1 -0
  123. package/dist/cli/commands/search.d.ts +1 -1
  124. package/dist/cli/commands/search.d.ts.map +1 -1
  125. package/dist/cli/commands/search.js +199 -37
  126. package/dist/cli/commands/search.js.map +1 -1
  127. package/dist/cli/commands/serve.d.ts +10 -0
  128. package/dist/cli/commands/serve.d.ts.map +1 -0
  129. package/dist/cli/commands/serve.js +491 -0
  130. package/dist/cli/commands/serve.js.map +1 -0
  131. package/dist/cli/commands/session.d.ts +25 -6
  132. package/dist/cli/commands/session.d.ts.map +1 -1
  133. package/dist/cli/commands/session.js +810 -127
  134. package/dist/cli/commands/session.js.map +1 -1
  135. package/dist/cli/commands/setup-seeding.d.ts +81 -0
  136. package/dist/cli/commands/setup-seeding.d.ts.map +1 -0
  137. package/dist/cli/commands/setup-seeding.js +292 -0
  138. package/dist/cli/commands/setup-seeding.js.map +1 -0
  139. package/dist/cli/commands/setup.d.ts +77 -3
  140. package/dist/cli/commands/setup.d.ts.map +1 -1
  141. package/dist/cli/commands/setup.js +1267 -274
  142. package/dist/cli/commands/setup.js.map +1 -1
  143. package/dist/cli/commands/shadow.d.ts +1 -1
  144. package/dist/cli/commands/shadow.d.ts.map +1 -1
  145. package/dist/cli/commands/shadow.js +70 -50
  146. package/dist/cli/commands/shadow.js.map +1 -1
  147. package/dist/cli/commands/skill-crud.d.ts +58 -0
  148. package/dist/cli/commands/skill-crud.d.ts.map +1 -0
  149. package/dist/cli/commands/skill-crud.js +753 -0
  150. package/dist/cli/commands/skill-crud.js.map +1 -0
  151. package/dist/cli/commands/skill-diff.d.ts +27 -0
  152. package/dist/cli/commands/skill-diff.d.ts.map +1 -0
  153. package/dist/cli/commands/skill-diff.js +840 -0
  154. package/dist/cli/commands/skill-diff.js.map +1 -0
  155. package/dist/cli/commands/skill-install.d.ts +56 -0
  156. package/dist/cli/commands/skill-install.d.ts.map +1 -0
  157. package/dist/cli/commands/skill-install.js +509 -0
  158. package/dist/cli/commands/skill-install.js.map +1 -0
  159. package/dist/cli/commands/skill.d.ts +20 -0
  160. package/dist/cli/commands/skill.d.ts.map +1 -0
  161. package/dist/cli/commands/skill.js +36 -0
  162. package/dist/cli/commands/skill.js.map +1 -0
  163. package/dist/cli/commands/task.d.ts +1 -1
  164. package/dist/cli/commands/task.d.ts.map +1 -1
  165. package/dist/cli/commands/task.js +584 -350
  166. package/dist/cli/commands/task.js.map +1 -1
  167. package/dist/cli/commands/tasks.d.ts +26 -1
  168. package/dist/cli/commands/tasks.d.ts.map +1 -1
  169. package/dist/cli/commands/tasks.js +225 -122
  170. package/dist/cli/commands/tasks.js.map +1 -1
  171. package/dist/cli/commands/trait.d.ts +1 -1
  172. package/dist/cli/commands/trait.d.ts.map +1 -1
  173. package/dist/cli/commands/trait.js +166 -101
  174. package/dist/cli/commands/trait.js.map +1 -1
  175. package/dist/cli/commands/triage.d.ts +7 -0
  176. package/dist/cli/commands/triage.d.ts.map +1 -0
  177. package/dist/cli/commands/triage.js +483 -0
  178. package/dist/cli/commands/triage.js.map +1 -0
  179. package/dist/cli/commands/util.d.ts +7 -0
  180. package/dist/cli/commands/util.d.ts.map +1 -0
  181. package/dist/cli/commands/util.js +30 -0
  182. package/dist/cli/commands/util.js.map +1 -0
  183. package/dist/cli/commands/validate.d.ts +1 -1
  184. package/dist/cli/commands/validate.d.ts.map +1 -1
  185. package/dist/cli/commands/validate.js +264 -83
  186. package/dist/cli/commands/validate.js.map +1 -1
  187. package/dist/cli/commands/workflow.d.ts +16 -0
  188. package/dist/cli/commands/workflow.d.ts.map +1 -0
  189. package/dist/cli/commands/workflow.js +851 -0
  190. package/dist/cli/commands/workflow.js.map +1 -0
  191. package/dist/cli/exit-codes.d.ts +7 -0
  192. package/dist/cli/exit-codes.d.ts.map +1 -1
  193. package/dist/cli/exit-codes.js +26 -18
  194. package/dist/cli/exit-codes.js.map +1 -1
  195. package/dist/cli/help/content.d.ts.map +1 -1
  196. package/dist/cli/help/content.js +86 -71
  197. package/dist/cli/help/content.js.map +1 -1
  198. package/dist/cli/index.d.ts +1 -1
  199. package/dist/cli/index.d.ts.map +1 -1
  200. package/dist/cli/index.js +131 -19
  201. package/dist/cli/index.js.map +1 -1
  202. package/dist/cli/introspection.d.ts +6 -2
  203. package/dist/cli/introspection.d.ts.map +1 -1
  204. package/dist/cli/introspection.js +11 -8
  205. package/dist/cli/introspection.js.map +1 -1
  206. package/dist/cli/output.d.ts +64 -4
  207. package/dist/cli/output.d.ts.map +1 -1
  208. package/dist/cli/output.js +237 -85
  209. package/dist/cli/output.js.map +1 -1
  210. package/dist/cli/parse-utils.d.ts +21 -0
  211. package/dist/cli/parse-utils.d.ts.map +1 -0
  212. package/dist/cli/parse-utils.js +32 -0
  213. package/dist/cli/parse-utils.js.map +1 -0
  214. package/dist/cli/pid-utils.d.ts +72 -0
  215. package/dist/cli/pid-utils.d.ts.map +1 -0
  216. package/dist/cli/pid-utils.js +174 -0
  217. package/dist/cli/pid-utils.js.map +1 -0
  218. package/dist/cli/suggest.d.ts.map +1 -1
  219. package/dist/cli/suggest.js +1 -2
  220. package/dist/cli/suggest.js.map +1 -1
  221. package/dist/cli/validators.d.ts +43 -0
  222. package/dist/cli/validators.d.ts.map +1 -0
  223. package/dist/cli/validators.js +84 -0
  224. package/dist/cli/validators.js.map +1 -0
  225. package/dist/daemon/index.ts +52 -0
  226. package/dist/daemon/middleware/project-context.ts +126 -0
  227. package/dist/daemon/pid.ts +179 -0
  228. package/dist/daemon/project-context.ts +343 -0
  229. package/dist/daemon/routes/inbox.ts +164 -0
  230. package/dist/daemon/routes/items.ts +322 -0
  231. package/dist/daemon/routes/meta.ts +118 -0
  232. package/dist/daemon/routes/projects.ts +162 -0
  233. package/dist/daemon/routes/tasks.ts +327 -0
  234. package/dist/daemon/routes/triage.ts +402 -0
  235. package/dist/daemon/routes/validation.ts +248 -0
  236. package/dist/daemon/server.ts +408 -0
  237. package/dist/daemon/watcher.ts +195 -0
  238. package/dist/daemon/websocket/handler.ts +138 -0
  239. package/dist/daemon/websocket/heartbeat.ts +71 -0
  240. package/dist/daemon/websocket/pubsub.ts +125 -0
  241. package/dist/daemon/websocket/types.ts +66 -0
  242. package/dist/export/html.d.ts +19 -0
  243. package/dist/export/html.d.ts.map +1 -0
  244. package/dist/export/html.js +239 -0
  245. package/dist/export/html.js.map +1 -0
  246. package/dist/export/index.d.ts +10 -0
  247. package/dist/export/index.d.ts.map +1 -0
  248. package/dist/export/index.js +10 -0
  249. package/dist/export/index.js.map +1 -0
  250. package/dist/export/json.d.ts +24 -0
  251. package/dist/export/json.d.ts.map +1 -0
  252. package/dist/export/json.js +198 -0
  253. package/dist/export/json.js.map +1 -0
  254. package/dist/export/triage.d.ts +51 -0
  255. package/dist/export/triage.d.ts.map +1 -0
  256. package/dist/export/triage.js +83 -0
  257. package/dist/export/triage.js.map +1 -0
  258. package/dist/export/types.d.ts +122 -0
  259. package/dist/export/types.d.ts.map +1 -0
  260. package/dist/export/types.js +9 -0
  261. package/dist/export/types.js.map +1 -0
  262. package/dist/index.d.ts +2 -2
  263. package/dist/index.js +2 -2
  264. package/dist/lib/claude-plugin-registry.d.ts +66 -0
  265. package/dist/lib/claude-plugin-registry.d.ts.map +1 -0
  266. package/dist/lib/claude-plugin-registry.js +318 -0
  267. package/dist/lib/claude-plugin-registry.js.map +1 -0
  268. package/dist/merge/arrays.d.ts +87 -0
  269. package/dist/merge/arrays.d.ts.map +1 -0
  270. package/dist/merge/arrays.js +164 -0
  271. package/dist/merge/arrays.js.map +1 -0
  272. package/dist/merge/file-type.d.ts +32 -0
  273. package/dist/merge/file-type.d.ts.map +1 -0
  274. package/dist/merge/file-type.js +70 -0
  275. package/dist/merge/file-type.js.map +1 -0
  276. package/dist/merge/index.d.ts +14 -0
  277. package/dist/merge/index.d.ts.map +1 -0
  278. package/dist/merge/index.js +11 -0
  279. package/dist/merge/index.js.map +1 -0
  280. package/dist/merge/objects.d.ts +46 -0
  281. package/dist/merge/objects.d.ts.map +1 -0
  282. package/dist/merge/objects.js +193 -0
  283. package/dist/merge/objects.js.map +1 -0
  284. package/dist/merge/parse.d.ts +23 -0
  285. package/dist/merge/parse.d.ts.map +1 -0
  286. package/dist/merge/parse.js +78 -0
  287. package/dist/merge/parse.js.map +1 -0
  288. package/dist/merge/resolve.d.ts +66 -0
  289. package/dist/merge/resolve.d.ts.map +1 -0
  290. package/dist/merge/resolve.js +189 -0
  291. package/dist/merge/resolve.js.map +1 -0
  292. package/dist/merge/types.d.ts +82 -0
  293. package/dist/merge/types.d.ts.map +1 -0
  294. package/dist/merge/types.js +8 -0
  295. package/dist/merge/types.js.map +1 -0
  296. package/dist/parser/agent-data-sections.d.ts +53 -0
  297. package/dist/parser/agent-data-sections.d.ts.map +1 -0
  298. package/dist/parser/agent-data-sections.js +118 -0
  299. package/dist/parser/agent-data-sections.js.map +1 -0
  300. package/dist/parser/alignment.d.ts +4 -4
  301. package/dist/parser/alignment.d.ts.map +1 -1
  302. package/dist/parser/alignment.js +27 -22
  303. package/dist/parser/alignment.js.map +1 -1
  304. package/dist/parser/assess.d.ts +5 -5
  305. package/dist/parser/assess.d.ts.map +1 -1
  306. package/dist/parser/assess.js +36 -32
  307. package/dist/parser/assess.js.map +1 -1
  308. package/dist/parser/config.d.ts +457 -0
  309. package/dist/parser/config.d.ts.map +1 -0
  310. package/dist/parser/config.js +373 -0
  311. package/dist/parser/config.js.map +1 -0
  312. package/dist/parser/convention-validation.d.ts +1 -1
  313. package/dist/parser/convention-validation.d.ts.map +1 -1
  314. package/dist/parser/convention-validation.js +21 -16
  315. package/dist/parser/convention-validation.js.map +1 -1
  316. package/dist/parser/coverage-cache.d.ts +49 -0
  317. package/dist/parser/coverage-cache.d.ts.map +1 -0
  318. package/dist/parser/coverage-cache.js +123 -0
  319. package/dist/parser/coverage-cache.js.map +1 -0
  320. package/dist/parser/daemon-status.d.ts +37 -0
  321. package/dist/parser/daemon-status.d.ts.map +1 -0
  322. package/dist/parser/daemon-status.js +67 -0
  323. package/dist/parser/daemon-status.js.map +1 -0
  324. package/dist/parser/doctor.d.ts +107 -0
  325. package/dist/parser/doctor.d.ts.map +1 -0
  326. package/dist/parser/doctor.js +366 -0
  327. package/dist/parser/doctor.js.map +1 -0
  328. package/dist/parser/fix.d.ts +1 -1
  329. package/dist/parser/fix.d.ts.map +1 -1
  330. package/dist/parser/fix.js +31 -27
  331. package/dist/parser/fix.js.map +1 -1
  332. package/dist/parser/index.d.ts +16 -11
  333. package/dist/parser/index.d.ts.map +1 -1
  334. package/dist/parser/index.js +16 -11
  335. package/dist/parser/index.js.map +1 -1
  336. package/dist/parser/items.d.ts +8 -2
  337. package/dist/parser/items.d.ts.map +1 -1
  338. package/dist/parser/items.js +71 -35
  339. package/dist/parser/items.js.map +1 -1
  340. package/dist/parser/meta.d.ts +167 -9
  341. package/dist/parser/meta.d.ts.map +1 -1
  342. package/dist/parser/meta.js +379 -46
  343. package/dist/parser/meta.js.map +1 -1
  344. package/dist/parser/plan-document.d.ts +197 -0
  345. package/dist/parser/plan-document.d.ts.map +1 -0
  346. package/dist/parser/plan-document.js +341 -0
  347. package/dist/parser/plan-document.js.map +1 -0
  348. package/dist/parser/plans.d.ts +59 -0
  349. package/dist/parser/plans.d.ts.map +1 -0
  350. package/dist/parser/plans.js +239 -0
  351. package/dist/parser/plans.js.map +1 -0
  352. package/dist/parser/refs.d.ts +22 -9
  353. package/dist/parser/refs.d.ts.map +1 -1
  354. package/dist/parser/refs.js +102 -50
  355. package/dist/parser/refs.js.map +1 -1
  356. package/dist/parser/setup-status.d.ts +71 -0
  357. package/dist/parser/setup-status.d.ts.map +1 -0
  358. package/dist/parser/setup-status.js +269 -0
  359. package/dist/parser/setup-status.js.map +1 -0
  360. package/dist/parser/shadow.d.ts +150 -19
  361. package/dist/parser/shadow.d.ts.map +1 -1
  362. package/dist/parser/shadow.js +548 -187
  363. package/dist/parser/shadow.js.map +1 -1
  364. package/dist/parser/skill-render.d.ts +317 -0
  365. package/dist/parser/skill-render.d.ts.map +1 -0
  366. package/dist/parser/skill-render.js +943 -0
  367. package/dist/parser/skill-render.js.map +1 -0
  368. package/dist/parser/traits.d.ts +3 -3
  369. package/dist/parser/traits.d.ts.map +1 -1
  370. package/dist/parser/traits.js +2 -2
  371. package/dist/parser/traits.js.map +1 -1
  372. package/dist/parser/validate-skills.d.ts +32 -0
  373. package/dist/parser/validate-skills.d.ts.map +1 -0
  374. package/dist/parser/validate-skills.js +202 -0
  375. package/dist/parser/validate-skills.js.map +1 -0
  376. package/dist/parser/validate.d.ts +45 -3
  377. package/dist/parser/validate.d.ts.map +1 -1
  378. package/dist/parser/validate.js +622 -105
  379. package/dist/parser/validate.js.map +1 -1
  380. package/dist/parser/yaml.d.ts +83 -19
  381. package/dist/parser/yaml.d.ts.map +1 -1
  382. package/dist/parser/yaml.js +478 -173
  383. package/dist/parser/yaml.js.map +1 -1
  384. package/dist/ralph/cli-renderer.d.ts +8 -1
  385. package/dist/ralph/cli-renderer.d.ts.map +1 -1
  386. package/dist/ralph/cli-renderer.js +105 -34
  387. package/dist/ralph/cli-renderer.js.map +1 -1
  388. package/dist/ralph/events.d.ts +10 -10
  389. package/dist/ralph/events.d.ts.map +1 -1
  390. package/dist/ralph/events.js +301 -98
  391. package/dist/ralph/events.js.map +1 -1
  392. package/dist/ralph/index.d.ts +5 -2
  393. package/dist/ralph/index.d.ts.map +1 -1
  394. package/dist/ralph/index.js +9 -3
  395. package/dist/ralph/index.js.map +1 -1
  396. package/dist/ralph/loop-errors.d.ts +83 -0
  397. package/dist/ralph/loop-errors.d.ts.map +1 -0
  398. package/dist/ralph/loop-errors.js +150 -0
  399. package/dist/ralph/loop-errors.js.map +1 -0
  400. package/dist/ralph/subagent.d.ts +94 -0
  401. package/dist/ralph/subagent.d.ts.map +1 -0
  402. package/dist/ralph/subagent.js +193 -0
  403. package/dist/ralph/subagent.js.map +1 -0
  404. package/dist/ralph/wrap-up.d.ts +125 -0
  405. package/dist/ralph/wrap-up.d.ts.map +1 -0
  406. package/dist/ralph/wrap-up.js +270 -0
  407. package/dist/ralph/wrap-up.js.map +1 -0
  408. package/dist/schema/batch.d.ts +97 -0
  409. package/dist/schema/batch.d.ts.map +1 -0
  410. package/dist/schema/batch.js +24 -0
  411. package/dist/schema/batch.js.map +1 -0
  412. package/dist/schema/common.d.ts +8 -2
  413. package/dist/schema/common.d.ts.map +1 -1
  414. package/dist/schema/common.js +42 -31
  415. package/dist/schema/common.js.map +1 -1
  416. package/dist/schema/inbox.d.ts +12 -12
  417. package/dist/schema/inbox.js +4 -4
  418. package/dist/schema/inbox.js.map +1 -1
  419. package/dist/schema/index.d.ts +8 -5
  420. package/dist/schema/index.d.ts.map +1 -1
  421. package/dist/schema/index.js +8 -5
  422. package/dist/schema/index.js.map +1 -1
  423. package/dist/schema/meta.d.ts +1454 -27
  424. package/dist/schema/meta.d.ts.map +1 -1
  425. package/dist/schema/meta.js +198 -21
  426. package/dist/schema/meta.js.map +1 -1
  427. package/dist/schema/plan.d.ts +285 -0
  428. package/dist/schema/plan.d.ts.map +1 -0
  429. package/dist/schema/plan.js +81 -0
  430. package/dist/schema/plan.js.map +1 -0
  431. package/dist/schema/spec.d.ts +72 -33
  432. package/dist/schema/spec.d.ts.map +1 -1
  433. package/dist/schema/spec.js +22 -9
  434. package/dist/schema/spec.js.map +1 -1
  435. package/dist/schema/task.d.ts +172 -161
  436. package/dist/schema/task.d.ts.map +1 -1
  437. package/dist/schema/task.js +21 -12
  438. package/dist/schema/task.js.map +1 -1
  439. package/dist/schema/triage.d.ts +266 -0
  440. package/dist/schema/triage.d.ts.map +1 -0
  441. package/dist/schema/triage.js +134 -0
  442. package/dist/schema/triage.js.map +1 -0
  443. package/dist/sessions/index.d.ts +2 -2
  444. package/dist/sessions/index.d.ts.map +1 -1
  445. package/dist/sessions/index.js +3 -3
  446. package/dist/sessions/index.js.map +1 -1
  447. package/dist/sessions/store.d.ts +241 -1
  448. package/dist/sessions/store.d.ts.map +1 -1
  449. package/dist/sessions/store.js +810 -31
  450. package/dist/sessions/store.js.map +1 -1
  451. package/dist/sessions/types.d.ts +10 -10
  452. package/dist/sessions/types.d.ts.map +1 -1
  453. package/dist/sessions/types.js +10 -9
  454. package/dist/sessions/types.js.map +1 -1
  455. package/dist/strings/errors.d.ts +55 -0
  456. package/dist/strings/errors.d.ts.map +1 -1
  457. package/dist/strings/errors.js +138 -106
  458. package/dist/strings/errors.js.map +1 -1
  459. package/dist/strings/guidance.d.ts.map +1 -1
  460. package/dist/strings/guidance.js +16 -16
  461. package/dist/strings/guidance.js.map +1 -1
  462. package/dist/strings/index.d.ts +4 -4
  463. package/dist/strings/index.d.ts.map +1 -1
  464. package/dist/strings/index.js +4 -4
  465. package/dist/strings/index.js.map +1 -1
  466. package/dist/strings/labels.d.ts +4 -0
  467. package/dist/strings/labels.d.ts.map +1 -1
  468. package/dist/strings/labels.js +45 -41
  469. package/dist/strings/labels.js.map +1 -1
  470. package/dist/strings/validation.d.ts.map +1 -1
  471. package/dist/strings/validation.js +71 -71
  472. package/dist/strings/validation.js.map +1 -1
  473. package/dist/triage/actions.d.ts +27 -0
  474. package/dist/triage/actions.d.ts.map +1 -0
  475. package/dist/triage/actions.js +95 -0
  476. package/dist/triage/actions.js.map +1 -0
  477. package/dist/triage/constants.d.ts +6 -0
  478. package/dist/triage/constants.d.ts.map +1 -0
  479. package/dist/triage/constants.js +7 -0
  480. package/dist/triage/constants.js.map +1 -0
  481. package/dist/triage/index.d.ts +3 -0
  482. package/dist/triage/index.d.ts.map +1 -0
  483. package/dist/triage/index.js +3 -0
  484. package/dist/triage/index.js.map +1 -0
  485. package/dist/utils/commit.d.ts +1 -1
  486. package/dist/utils/commit.d.ts.map +1 -1
  487. package/dist/utils/commit.js +28 -26
  488. package/dist/utils/commit.js.map +1 -1
  489. package/dist/utils/git.d.ts +1 -1
  490. package/dist/utils/git.d.ts.map +1 -1
  491. package/dist/utils/git.js +40 -38
  492. package/dist/utils/git.js.map +1 -1
  493. package/dist/utils/grep.js +11 -11
  494. package/dist/utils/grep.js.map +1 -1
  495. package/dist/utils/index.d.ts +7 -7
  496. package/dist/utils/index.d.ts.map +1 -1
  497. package/dist/utils/index.js +4 -4
  498. package/dist/utils/index.js.map +1 -1
  499. package/dist/utils/time.d.ts.map +1 -1
  500. package/dist/utils/time.js +10 -10
  501. package/dist/utils/time.js.map +1 -1
  502. package/package.json +28 -5
  503. package/plugin/.claude-plugin/marketplace.json +17 -0
  504. package/plugin/.claude-plugin/plugin.json +5 -0
  505. package/plugin/plugins/kspec/skills/create-workflow/SKILL.md +235 -0
  506. package/plugin/plugins/kspec/skills/help/SKILL.md +42 -0
  507. package/plugin/plugins/kspec/skills/observations/SKILL.md +143 -0
  508. package/plugin/plugins/kspec/skills/plan/SKILL.md +343 -0
  509. package/plugin/plugins/kspec/skills/reflect/SKILL.md +161 -0
  510. package/plugin/plugins/kspec/skills/review/SKILL.md +193 -0
  511. package/plugin/plugins/kspec/skills/task-work/SKILL.md +303 -0
  512. package/plugin/plugins/kspec/skills/triage/SKILL.md +206 -0
  513. package/plugin/plugins/kspec/skills/triage/docs/automation.md +120 -0
  514. package/plugin/plugins/kspec/skills/triage/docs/inbox.md +144 -0
  515. package/plugin/plugins/kspec/skills/triage/docs/observations.md +85 -0
  516. package/plugin/plugins/kspec/skills/triage-automation/SKILL.md +140 -0
  517. package/plugin/plugins/kspec/skills/triage-inbox/SKILL.md +232 -0
  518. package/plugin/plugins/kspec/skills/writing-specs/SKILL.md +340 -0
  519. package/templates/agents-sections/01-quick-start.md +22 -0
  520. package/templates/agents-sections/02-shadow-branch.md +34 -0
  521. package/templates/agents-sections/03-task-lifecycle.md +48 -0
  522. package/templates/agents-sections/04-pr-workflow.md +17 -0
  523. package/templates/agents-sections/05-commit-convention.md +27 -0
  524. package/templates/agents-sections/06-ralph-loop.md +45 -0
  525. package/templates/hooks/pre-commit +34 -0
  526. package/templates/skills/create-workflow/SKILL.md +228 -0
  527. package/templates/skills/help/SKILL.md +37 -0
  528. package/templates/skills/manifest.yaml +60 -0
  529. package/templates/skills/observations/SKILL.md +137 -0
  530. package/templates/skills/plan/SKILL.md +336 -0
  531. package/templates/skills/reflect/SKILL.md +155 -0
  532. package/templates/skills/review/SKILL.md +186 -0
  533. package/templates/skills/task-work/SKILL.md +296 -0
  534. package/templates/skills/triage/SKILL.md +199 -0
  535. package/templates/skills/triage/docs/automation.md +120 -0
  536. package/templates/skills/triage/docs/inbox.md +144 -0
  537. package/templates/skills/triage/docs/observations.md +85 -0
  538. package/templates/skills/triage-automation/SKILL.md +134 -0
  539. package/templates/skills/triage-inbox/SKILL.md +225 -0
  540. package/templates/skills/writing-specs/SKILL.md +333 -0
@@ -1,12 +1,21 @@
1
- import { initContext, loadAllTasks, loadAllItems, saveTask, createTask, createNote, getAuthor, ReferenceIndex, AlignmentIndex, } from '../../parser/index.js';
2
- import { commitIfShadow } from '../../parser/shadow.js';
3
- import { output, error, info, isJsonMode } from '../output.js';
4
- import { errors } from '../../strings/index.js';
5
- import { EXIT_CODES } from '../exit-codes.js';
1
+ import { markMutating } from "../command-annotations.js";
2
+ import { AlignmentIndex, createNote, createTask, getAuthor, initContext, loadAllItems, loadAllTasks, ReferenceIndex, saveTask, } from "../../parser/index.js";
3
+ import { commitIfShadow } from "../../parser/shadow.js";
4
+ import { normalizeRefInput } from "../../schema/index.js";
5
+ import { errors } from "../../strings/index.js";
6
+ import { EXIT_CODES } from "../exit-codes.js";
7
+ import { error, info, isJsonMode, output, warn } from "../output.js";
8
+ import { parseIntOption } from "../validators.js";
6
9
  /**
7
10
  * Fields that contain nested spec items (mirrors yaml.ts)
8
11
  */
9
- const NESTED_ITEM_FIELDS = ['modules', 'features', 'requirements', 'constraints', 'decisions'];
12
+ const _NESTED_ITEM_FIELDS = [
13
+ "modules",
14
+ "features",
15
+ "requirements",
16
+ "constraints",
17
+ "decisions",
18
+ ];
10
19
  /**
11
20
  * Get the parent path from a child's _path.
12
21
  * e.g., "features[0].requirements[1]" -> "features[0]"
@@ -14,10 +23,10 @@ const NESTED_ITEM_FIELDS = ['modules', 'features', 'requirements', 'constraints'
14
23
  */
15
24
  function getParentPath(childPath) {
16
25
  if (!childPath)
17
- return '';
18
- const lastDotIndex = childPath.lastIndexOf('.');
26
+ return "";
27
+ const lastDotIndex = childPath.lastIndexOf(".");
19
28
  if (lastDotIndex === -1)
20
- return '';
29
+ return "";
21
30
  return childPath.slice(0, lastDotIndex);
22
31
  }
23
32
  /**
@@ -25,23 +34,23 @@ function getParentPath(childPath) {
25
34
  * Direct children have a path that extends the parent's path by exactly one field[index].
26
35
  */
27
36
  function isDirectChildOf(child, parent) {
28
- const childPath = child._path || '';
29
- const parentPath = parent._path || '';
37
+ const childPath = child._path || "";
38
+ const parentPath = parent._path || "";
30
39
  // If paths are equal, not a child
31
40
  if (childPath === parentPath)
32
41
  return false;
33
42
  // Child path must start with parent path
34
- if (parentPath && !childPath.startsWith(parentPath + '.'))
43
+ if (parentPath && !childPath.startsWith(`${parentPath}.`))
35
44
  return false;
36
45
  // For root parent (empty path), child must be a top-level path like "features[0]"
37
46
  if (!parentPath) {
38
47
  // Direct child of root has no '.' in its path
39
- return !childPath.includes('.');
48
+ return !childPath.includes(".");
40
49
  }
41
50
  // Get the remaining path after parent
42
51
  const remaining = childPath.slice(parentPath.length + 1);
43
52
  // Direct child has no additional '.' (e.g., "requirements[0]" not "requirements[0].something")
44
- return !remaining.includes('.');
53
+ return !remaining.includes(".");
45
54
  }
46
55
  /**
47
56
  * Find the parent spec item of a given item.
@@ -55,14 +64,14 @@ function findParentItem(item, allItems) {
55
64
  if (!parentPath)
56
65
  return undefined;
57
66
  // Find item with matching path in the same source file
58
- return allItems.find(i => i._path === parentPath && i._sourceFile === item._sourceFile);
67
+ return allItems.find((i) => i._path === parentPath && i._sourceFile === item._sourceFile);
59
68
  }
60
69
  /**
61
70
  * Get direct children of a spec item.
62
71
  * Only returns immediate children, not grandchildren.
63
72
  */
64
73
  function getDirectChildren(parent, allItems) {
65
- return allItems.filter(item => item._sourceFile === parent._sourceFile && isDirectChildOf(item, parent));
74
+ return allItems.filter((item) => item._sourceFile === parent._sourceFile && isDirectChildOf(item, parent));
66
75
  }
67
76
  /**
68
77
  * Collect an item and all its descendants in topological order (parent first).
@@ -85,18 +94,18 @@ function resolveSpecRef(ref, items, tasks, index) {
85
94
  const result = index.resolve(ref);
86
95
  if (!result.ok) {
87
96
  switch (result.error) {
88
- case 'not_found':
97
+ case "not_found":
89
98
  error(errors.reference.specNotFound(ref));
90
99
  break;
91
- case 'ambiguous':
100
+ case "ambiguous":
92
101
  error(errors.reference.ambiguous(ref));
93
102
  for (const candidate of result.candidates) {
94
- const item = items.find(i => i._ulid === candidate);
95
- const slug = item?.slugs[0] || '';
96
- console.error(` - ${index.shortUlid(candidate)} ${slug ? `(${slug})` : ''}`);
103
+ const item = items.find((i) => i._ulid === candidate);
104
+ const slug = item?.slugs[0] || "";
105
+ console.error(` - ${index.shortUlid(candidate)} ${slug ? `(${slug})` : ""}`);
97
106
  }
98
107
  break;
99
- case 'duplicate_slug':
108
+ case "duplicate_slug":
100
109
  error(errors.reference.slugMapsToMultiple(ref));
101
110
  for (const candidate of result.candidates) {
102
111
  console.error(` - ${index.shortUlid(candidate)}`);
@@ -106,10 +115,10 @@ function resolveSpecRef(ref, items, tasks, index) {
106
115
  process.exit(EXIT_CODES.NOT_FOUND);
107
116
  }
108
117
  // Check if it's actually a spec item (not a task)
109
- const item = items.find(i => i._ulid === result.ulid);
118
+ const item = items.find((i) => i._ulid === result.ulid);
110
119
  if (!item) {
111
120
  // Check if it's a task
112
- const task = tasks.find(t => t._ulid === result.ulid);
121
+ const task = tasks.find((t) => t._ulid === result.ulid);
113
122
  if (task) {
114
123
  error(errors.reference.notSpecItem(ref));
115
124
  }
@@ -125,11 +134,11 @@ function resolveSpecRef(ref, items, tasks, index) {
125
134
  * Converts "My Feature Title" -> "task-my-feature-title"
126
135
  */
127
136
  function generateSlugFromTitle(title) {
128
- return ('task-' +
137
+ return ("task-" +
129
138
  title
130
139
  .toLowerCase()
131
- .replace(/[^a-z0-9]+/g, '-')
132
- .replace(/^-|-$/g, '')
140
+ .replace(/[^a-z0-9]+/g, "-")
141
+ .replace(/^-|-$/g, "")
133
142
  .slice(0, 50));
134
143
  }
135
144
  /**
@@ -139,14 +148,14 @@ function generateSlugFromTitle(title) {
139
148
  function normalizePriority(priority) {
140
149
  if (priority === undefined)
141
150
  return 3;
142
- if (typeof priority === 'number')
151
+ if (typeof priority === "number")
143
152
  return priority;
144
153
  switch (priority) {
145
- case 'high':
154
+ case "high":
146
155
  return 1;
147
- case 'medium':
156
+ case "medium":
148
157
  return 3;
149
- case 'low':
158
+ case "low":
150
159
  return 5;
151
160
  default:
152
161
  return 3;
@@ -164,15 +173,15 @@ function generateImplementationNotes(specItem) {
164
173
  }
165
174
  // Add acceptance criteria summary if present
166
175
  if (specItem.acceptance_criteria && specItem.acceptance_criteria.length > 0) {
167
- const acSection = ['', 'Acceptance Criteria:'];
176
+ const acSection = ["", "Acceptance Criteria:"];
168
177
  for (const ac of specItem.acceptance_criteria) {
169
- const summary = `${ac.given ? 'Given ' + ac.given + ', ' : ''}when ${ac.when}, then ${ac.then}`;
178
+ const summary = `${ac.given ? `Given ${ac.given}, ` : ""}when ${ac.when}, then ${ac.then}`;
170
179
  acSection.push(`- ${ac.id}: ${summary}`);
171
180
  }
172
- parts.push(acSection.join('\n'));
181
+ parts.push(acSection.join("\n"));
173
182
  }
174
183
  // Return combined content, or undefined if nothing to add
175
- return parts.length > 0 ? parts.join('\n\n') : undefined;
184
+ return parts.length > 0 ? parts.join("\n\n") : undefined;
176
185
  }
177
186
  /**
178
187
  * Derive a task from a spec item.
@@ -181,18 +190,23 @@ function generateImplementationNotes(specItem) {
181
190
  * @param dependsOn - Task references to add as dependencies (for hierarchy-based deps)
182
191
  * @param priority - Priority override (1-5), if not provided uses spec's priority
183
192
  */
184
- async function deriveTaskFromSpec(ctx, specItem, existingTasks, items, index, alignmentIndex, options) {
193
+ async function deriveTaskFromSpec(ctx, specItem, existingTasks, _items, index, alignmentIndex, options) {
194
+ // Count acceptance criteria for display
195
+ const acCount = specItem.acceptance_criteria?.length ?? 0;
185
196
  // Check if a task already exists for this spec
197
+ // AC: @cmd-derive ac-15 - skip cancelled tasks
186
198
  const linkedTasks = alignmentIndex.getTasksForSpec(specItem._ulid);
187
- if (linkedTasks.length > 0 && !options.force) {
188
- const taskRef = linkedTasks[0].slugs[0]
189
- ? `@${linkedTasks[0].slugs[0]}`
190
- : `@${index.shortUlid(linkedTasks[0]._ulid)}`;
199
+ const activeTasks = linkedTasks.filter((task) => task.status !== "cancelled");
200
+ if (activeTasks.length > 0 && !options.force) {
201
+ const taskRef = activeTasks[0].slugs[0]
202
+ ? `@${activeTasks[0].slugs[0]}`
203
+ : `@${index.shortUlid(activeTasks[0]._ulid)}`;
191
204
  return {
192
205
  specItem,
193
- action: 'skipped',
194
- task: linkedTasks[0],
206
+ action: "skipped",
207
+ task: activeTasks[0],
195
208
  reason: `task exists: ${taskRef}`,
209
+ acCount,
196
210
  };
197
211
  }
198
212
  // Check if slug would collide with existing task
@@ -200,7 +214,7 @@ async function deriveTaskFromSpec(ctx, specItem, existingTasks, items, index, al
200
214
  let slug = baseSlug;
201
215
  let slugSuffix = 1;
202
216
  // Find unique slug if needed
203
- while (existingTasks.some(t => t.slugs.includes(slug))) {
217
+ while (existingTasks.some((t) => t.slugs.includes(slug))) {
204
218
  slug = `${baseSlug}-${slugSuffix}`;
205
219
  slugSuffix++;
206
220
  }
@@ -208,18 +222,21 @@ async function deriveTaskFromSpec(ctx, specItem, existingTasks, items, index, al
208
222
  // AC: @cmd-derive ac-author
209
223
  const noteContent = generateImplementationNotes(specItem);
210
224
  const initialNotes = noteContent
211
- ? [createNote(`Implementation notes (auto-generated from spec):\n\n${noteContent}`, getAuthor())]
225
+ ? [
226
+ createNote(`Implementation notes (auto-generated from spec):\n\n${noteContent}`, getAuthor(ctx.config?.identity?.author)),
227
+ ]
212
228
  : [];
213
229
  // Build task input with depends_on and initial notes
230
+ // AC: @derive-title-override ac-1 - use provided title if specified
214
231
  const taskInput = {
215
- title: `Implement: ${specItem.title}`,
216
- type: 'task',
232
+ title: options.title ?? `Implement: ${specItem.title}`,
233
+ type: "task",
217
234
  spec_ref: `@${specItem.slugs[0] || specItem._ulid}`,
218
- derivation: 'auto',
235
+ derivation: "auto",
219
236
  priority: options.priority ?? normalizePriority(specItem.priority),
220
237
  slugs: [slug],
221
238
  tags: [...(specItem.tags || [])],
222
- depends_on: options.dependsOn || [],
239
+ depends_on: (options.dependsOn || []).map(normalizeRefInput),
223
240
  notes: initialNotes,
224
241
  };
225
242
  // Dry run - don't actually create
@@ -227,23 +244,25 @@ async function deriveTaskFromSpec(ctx, specItem, existingTasks, items, index, al
227
244
  const previewTask = createTask(taskInput);
228
245
  return {
229
246
  specItem,
230
- action: 'would_create',
247
+ action: "would_create",
231
248
  task: previewTask,
232
249
  dependsOn: options.dependsOn,
250
+ acCount,
233
251
  };
234
252
  }
235
253
  // Create and save the task
236
254
  const newTask = createTask(taskInput);
237
255
  await saveTask(ctx, newTask);
238
256
  const specSlug = specItem.slugs[0] || specItem._ulid.slice(0, 8);
239
- await commitIfShadow(ctx.shadow, 'derive', specSlug);
257
+ await commitIfShadow(ctx.shadow, "derive", specSlug);
240
258
  // Add to existing tasks list for slug collision checks
241
259
  existingTasks.push(newTask);
242
260
  return {
243
261
  specItem,
244
- action: 'created',
262
+ action: "created",
245
263
  task: newTask,
246
264
  dependsOn: options.dependsOn,
265
+ acCount,
247
266
  };
248
267
  }
249
268
  /**
@@ -251,24 +270,30 @@ async function deriveTaskFromSpec(ctx, specItem, existingTasks, items, index, al
251
270
  * Prefers slug over ULID for readability.
252
271
  */
253
272
  function getTaskRef(task, index) {
254
- return task.slugs[0] ? `@${task.slugs[0]}` : `@${index.shortUlid(task._ulid)}`;
273
+ return task.slugs[0]
274
+ ? `@${task.slugs[0]}`
275
+ : `@${index.shortUlid(task._ulid)}`;
255
276
  }
256
277
  /**
257
278
  * Find or get the task for a parent spec item.
258
279
  * Looks in:
259
280
  * 1. Tasks created in this derive session (specToTaskMap)
260
281
  * 2. Existing tasks linked to the parent spec (alignmentIndex)
282
+ *
283
+ * Only returns tasks that are NOT in 'cancelled' state (AC-15).
261
284
  */
262
285
  function getParentTaskRef(parentSpec, specToTaskMap, alignmentIndex, index) {
263
286
  // Check if we created a task for this parent in this session
264
287
  const sessionTask = specToTaskMap.get(parentSpec._ulid);
265
- if (sessionTask) {
288
+ if (sessionTask && sessionTask.status !== "cancelled") {
266
289
  return getTaskRef(sessionTask, index);
267
290
  }
268
291
  // Check if an existing task is linked to this parent spec
292
+ // AC: @cmd-derive ac-15 - skip cancelled tasks
269
293
  const linkedTasks = alignmentIndex.getTasksForSpec(parentSpec._ulid);
270
- if (linkedTasks.length > 0) {
271
- return getTaskRef(linkedTasks[0], index);
294
+ const activeTask = linkedTasks.find((task) => task.status !== "cancelled");
295
+ if (activeTask) {
296
+ return getTaskRef(activeTask, index);
272
297
  }
273
298
  return undefined;
274
299
  }
@@ -276,23 +301,23 @@ function getParentTaskRef(parentSpec, specToTaskMap, alignmentIndex, index) {
276
301
  * Register the 'derive' command
277
302
  */
278
303
  export function registerDeriveCommand(program) {
279
- program
280
- .command('derive [ref]')
281
- .description('Create task(s) from spec item(s)')
282
- .option('--all', 'Derive tasks for all spec items without linked tasks')
283
- .option('--flat', 'Only derive for the specified item, not children (default: recursive)')
284
- .option('--force', 'Create task even if one already exists for the spec')
285
- .option('--dry-run', 'Show what would be created without making changes')
286
- .option('--priority <n>', 'Set priority for created task(s) (1-5)', parseInt)
304
+ markMutating(program.command("derive [ref]"))
305
+ .description("Create task(s) from spec item(s)")
306
+ .option("--all", "Derive tasks for all spec items without linked tasks")
307
+ .option("--flat", "Only derive for the specified item, not children (default: recursive)")
308
+ .option("--force", "Create task even if one already exists for the spec")
309
+ .option("--dry-run", "Show what would be created without making changes")
310
+ .option("--priority <n>", "Set priority for created task(s) (1-5)")
311
+ .option("--title <title>", "Override task title (default: 'Implement: {spec title}')")
287
312
  .action(async (ref, options) => {
288
313
  try {
289
314
  // Validate arguments
290
315
  if (!ref && !options.all) {
291
316
  error(errors.usage.deriveNoRef);
292
- console.error('Usage:');
293
- console.error(' kspec derive @spec-ref');
294
- console.error(' kspec derive @spec-ref --flat');
295
- console.error(' kspec derive --all');
317
+ console.error("Usage:");
318
+ console.error(" kspec derive @spec-ref");
319
+ console.error(" kspec derive @spec-ref --flat");
320
+ console.error(" kspec derive --all");
296
321
  process.exit(EXIT_CODES.USAGE_ERROR);
297
322
  }
298
323
  if (ref && options.all) {
@@ -301,10 +326,17 @@ export function registerDeriveCommand(program) {
301
326
  }
302
327
  // Validate priority if provided
303
328
  if (options.priority !== undefined) {
304
- if (isNaN(options.priority) || options.priority < 1 || options.priority > 5) {
305
- error('Priority must be a number between 1 and 5');
329
+ const priorityResult = parseIntOption(options.priority, {
330
+ min: 1,
331
+ max: 5,
332
+ name: "Priority",
333
+ });
334
+ if (!priorityResult.ok) {
335
+ error(priorityResult.error);
306
336
  process.exit(EXIT_CODES.USAGE_ERROR);
307
337
  }
338
+ // Replace raw string with validated number for downstream use
339
+ options.priority = priorityResult.value;
308
340
  }
309
341
  const ctx = await initContext();
310
342
  const tasks = await loadAllTasks(ctx);
@@ -317,7 +349,7 @@ export function registerDeriveCommand(program) {
317
349
  let specsToDerive;
318
350
  if (options.all) {
319
351
  // Get all spec items without linked tasks
320
- specsToDerive = items.filter(item => {
352
+ specsToDerive = items.filter((item) => {
321
353
  const linkedTasks = alignmentIndex.getTasksForSpec(item._ulid);
322
354
  return linkedTasks.length === 0 || options.force;
323
355
  });
@@ -326,7 +358,7 @@ export function registerDeriveCommand(program) {
326
358
  console.log(JSON.stringify([]));
327
359
  }
328
360
  else {
329
- info('Nothing to derive (all items have tasks)');
361
+ info("Nothing to derive (all items have tasks)");
330
362
  }
331
363
  return;
332
364
  }
@@ -364,13 +396,15 @@ export function registerDeriveCommand(program) {
364
396
  dryRun: options.dryRun || false,
365
397
  dependsOn,
366
398
  priority: options.priority,
399
+ title: options.title,
367
400
  });
368
401
  // Track created/would_create tasks for dependency resolution
369
- if (result.task && (result.action === 'created' || result.action === 'would_create')) {
402
+ if (result.task &&
403
+ (result.action === "created" || result.action === "would_create")) {
370
404
  specToTaskMap.set(specItem._ulid, result.task);
371
405
  }
372
406
  // Also track skipped tasks (existing) for dependency resolution
373
- if (result.action === 'skipped' && result.task) {
407
+ if (result.action === "skipped" && result.task) {
374
408
  specToTaskMap.set(specItem._ulid, result.task);
375
409
  }
376
410
  results.push(result);
@@ -378,12 +412,13 @@ export function registerDeriveCommand(program) {
378
412
  // Output results
379
413
  if (isJsonMode()) {
380
414
  // JSON output format - simplified per AC
381
- const jsonOutput = results.map(r => ({
415
+ const jsonOutput = results.map((r) => ({
382
416
  ulid: r.task?._ulid || null,
383
417
  slug: r.task?.slugs[0] || null,
384
418
  spec_ref: `@${r.specItem.slugs[0] || r.specItem._ulid}`,
385
419
  depends_on: r.task?.depends_on || [],
386
420
  action: r.action,
421
+ ac_count: r.acCount,
387
422
  }));
388
423
  console.log(JSON.stringify(jsonOutput, null, 2));
389
424
  return; // Don't call output() which would output full results in global JSON mode
@@ -391,21 +426,30 @@ export function registerDeriveCommand(program) {
391
426
  else {
392
427
  // Human-readable output
393
428
  output(results, () => {
394
- const created = results.filter(r => r.action === 'created');
395
- const skipped = results.filter(r => r.action === 'skipped');
396
- const wouldCreate = results.filter(r => r.action === 'would_create');
429
+ const created = results.filter((r) => r.action === "created");
430
+ const skipped = results.filter((r) => r.action === "skipped");
431
+ const wouldCreate = results.filter((r) => r.action === "would_create");
397
432
  if (options.dryRun) {
398
- console.log('Would create:');
433
+ console.log("Would create:");
399
434
  for (const r of wouldCreate) {
400
- const taskSlug = r.task?.slugs[0] || '';
401
- const deps = r.dependsOn?.length ? ` (depends: ${r.dependsOn.join(', ')})` : '';
402
- console.log(` + ${r.specItem.title}`);
435
+ const taskSlug = r.task?.slugs[0] || "";
436
+ const deps = r.dependsOn?.length
437
+ ? ` (depends: ${r.dependsOn.join(", ")})`
438
+ : "";
439
+ const acInfo = r.acCount > 0 ? ` (${r.acCount} ACs)` : "";
440
+ console.log(` + ${r.specItem.title}${acInfo}`);
403
441
  console.log(` -> ${taskSlug}${deps}`);
442
+ // Complexity warning for specs with many ACs
443
+ if (r.acCount > 5) {
444
+ warn(`This spec has ${r.acCount} ACs — consider splitting before implementing.`);
445
+ }
404
446
  }
405
447
  if (skipped.length > 0) {
406
- console.log('\nSkipped:');
448
+ console.log("\nSkipped:");
407
449
  for (const r of skipped) {
408
- const specRef = r.specItem.slugs[0] ? `@${r.specItem.slugs[0]}` : `@${index.shortUlid(r.specItem._ulid)}`;
450
+ const specRef = r.specItem.slugs[0]
451
+ ? `@${r.specItem.slugs[0]}`
452
+ : `@${index.shortUlid(r.specItem._ulid)}`;
409
453
  console.log(` - ${specRef} (${r.reason})`);
410
454
  }
411
455
  }
@@ -417,21 +461,30 @@ export function registerDeriveCommand(program) {
417
461
  }
418
462
  if (created.length > 0) {
419
463
  for (const r of created) {
420
- const taskSlug = r.task?.slugs[0] || '';
421
- const deps = r.dependsOn?.length ? ` (depends: ${r.dependsOn.join(', ')})` : '';
422
- console.log(`OK Created task: ${taskSlug}${deps}`);
464
+ const taskSlug = r.task?.slugs[0] || "";
465
+ const deps = r.dependsOn?.length
466
+ ? ` (depends: ${r.dependsOn.join(", ")})`
467
+ : "";
468
+ const acInfo = r.acCount > 0 ? ` (${r.acCount} ACs)` : "";
469
+ console.log(`OK Created task: ${taskSlug}${acInfo}${deps}`);
470
+ // Complexity warning for specs with many ACs
471
+ if (r.acCount > 5) {
472
+ warn(`This spec has ${r.acCount} ACs — consider splitting before implementing.`);
473
+ }
423
474
  }
424
475
  }
425
476
  if (skipped.length > 0 && !options.all) {
426
477
  // Show skipped for explicit derive (not --all)
427
478
  for (const r of skipped) {
428
- const specRef = r.specItem.slugs[0] ? `@${r.specItem.slugs[0]}` : `@${index.shortUlid(r.specItem._ulid)}`;
479
+ const specRef = r.specItem.slugs[0]
480
+ ? `@${r.specItem.slugs[0]}`
481
+ : `@${index.shortUlid(r.specItem._ulid)}`;
429
482
  console.log(`Skipped ${specRef} (${r.reason})`);
430
483
  }
431
484
  }
432
485
  // Summary
433
486
  if (created.length > 0 || skipped.length > 0) {
434
- console.log('');
487
+ console.log("");
435
488
  if (created.length > 0) {
436
489
  console.log(`Created ${created.length} task(s)`);
437
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * kspec doctor command - unified health check
3
+ *
4
+ * AC: @doctor-command
5
+ */
6
+ import type { Command } from "commander";
7
+ /**
8
+ * Register the doctor command
9
+ */
10
+ export declare function registerDoctorCommand(program: Command): void;
11
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC5D"}