@proletariat/cli 0.3.16 → 0.3.18

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 (338) hide show
  1. package/dist/commands/action/create.d.ts +1 -0
  2. package/dist/commands/action/create.js +74 -38
  3. package/dist/commands/action/delete.d.ts +1 -0
  4. package/dist/commands/action/delete.js +23 -24
  5. package/dist/commands/action/index.d.ts +1 -0
  6. package/dist/commands/action/index.js +5 -10
  7. package/dist/commands/action/list.d.ts +1 -0
  8. package/dist/commands/action/list.js +3 -1
  9. package/dist/commands/action/run.d.ts +1 -0
  10. package/dist/commands/action/run.js +44 -32
  11. package/dist/commands/action/show.d.ts +2 -0
  12. package/dist/commands/action/update.d.ts +1 -0
  13. package/dist/commands/action/update.js +80 -39
  14. package/dist/commands/agent/auth.d.ts +2 -0
  15. package/dist/commands/agent/auth.js +44 -3
  16. package/dist/commands/agent/discover.d.ts +2 -0
  17. package/dist/commands/agent/discover.js +35 -3
  18. package/dist/commands/agent/index.d.ts +1 -0
  19. package/dist/commands/agent/index.js +25 -45
  20. package/dist/commands/agent/list.d.ts +8 -3
  21. package/dist/commands/agent/list.js +16 -29
  22. package/dist/commands/agent/login.d.ts +1 -0
  23. package/dist/commands/agent/login.js +14 -32
  24. package/dist/commands/agent/rebuild.d.ts +1 -0
  25. package/dist/commands/agent/rebuild.js +2 -2
  26. package/dist/commands/agent/remove.d.ts +17 -0
  27. package/dist/commands/agent/remove.js +144 -0
  28. package/dist/commands/agent/restart.d.ts +1 -0
  29. package/dist/commands/agent/restart.js +2 -2
  30. package/dist/commands/agent/shell.d.ts +1 -0
  31. package/dist/commands/agent/shell.js +63 -76
  32. package/dist/commands/agent/staff/add.d.ts +1 -0
  33. package/dist/commands/agent/staff/add.js +7 -1
  34. package/dist/commands/agent/staff/index.d.ts +1 -0
  35. package/dist/commands/agent/staff/index.js +5 -4
  36. package/dist/commands/agent/staff/remove.d.ts +1 -0
  37. package/dist/commands/agent/status.d.ts +1 -0
  38. package/dist/commands/agent/status.js +11 -23
  39. package/dist/commands/agent/temp/cleanup.d.ts +1 -0
  40. package/dist/commands/agent/temp/index.d.ts +1 -0
  41. package/dist/commands/agent/temp/index.js +4 -3
  42. package/dist/commands/agent/themes/index.d.ts +1 -0
  43. package/dist/commands/agent/themes/index.js +9 -3
  44. package/dist/commands/agent/themes/set.d.ts +1 -0
  45. package/dist/commands/agent/themes/set.js +7 -1
  46. package/dist/commands/agent/visit.d.ts +1 -0
  47. package/dist/commands/agent/visit.js +11 -23
  48. package/dist/commands/autocomplete/setup.d.ts +11 -0
  49. package/dist/commands/autocomplete/setup.js +113 -8
  50. package/dist/commands/board/index.d.ts +4 -0
  51. package/dist/commands/board/index.js +32 -30
  52. package/dist/commands/board/watch.d.ts +2 -0
  53. package/dist/commands/branch/create.d.ts +1 -0
  54. package/dist/commands/branch/create.js +33 -41
  55. package/dist/commands/branch/index.d.ts +1 -0
  56. package/dist/commands/branch/list.d.ts +2 -0
  57. package/dist/commands/branch/validate.d.ts +2 -0
  58. package/dist/commands/branch/where.d.ts +1 -0
  59. package/dist/commands/claude.d.ts +6 -0
  60. package/dist/commands/claude.js +166 -116
  61. package/dist/commands/commit.d.ts +6 -0
  62. package/dist/commands/commit.js +68 -73
  63. package/dist/commands/config/index.d.ts +13 -0
  64. package/dist/commands/config/index.js +142 -98
  65. package/dist/commands/docker/clean.d.ts +2 -1
  66. package/dist/commands/docker/clean.js +20 -29
  67. package/dist/commands/docker/index.d.ts +1 -0
  68. package/dist/commands/docker/index.js +37 -41
  69. package/dist/commands/docker/prune.d.ts +2 -1
  70. package/dist/commands/docker/prune.js +20 -27
  71. package/dist/commands/docker/restart.d.ts +2 -1
  72. package/dist/commands/docker/restart.js +20 -29
  73. package/dist/commands/docker/stop.d.ts +2 -1
  74. package/dist/commands/docker/stop.js +20 -29
  75. package/dist/commands/epic/activate.d.ts +1 -0
  76. package/dist/commands/epic/archive.d.ts +1 -0
  77. package/dist/commands/epic/create.d.ts +1 -0
  78. package/dist/commands/epic/index.d.ts +1 -0
  79. package/dist/commands/epic/link/block.d.ts +1 -0
  80. package/dist/commands/epic/link/duplicates.d.ts +1 -0
  81. package/dist/commands/epic/link/index.d.ts +1 -0
  82. package/dist/commands/epic/link/relates.d.ts +1 -0
  83. package/dist/commands/epic/link/remove.d.ts +1 -0
  84. package/dist/commands/epic/list.d.ts +2 -0
  85. package/dist/commands/epic/move.d.ts +1 -0
  86. package/dist/commands/epic/progress.d.ts +1 -0
  87. package/dist/commands/epic/project.d.ts +1 -0
  88. package/dist/commands/epic/reorder.d.ts +1 -0
  89. package/dist/commands/epic/spec.d.ts +1 -0
  90. package/dist/commands/epic/ticket.d.ts +1 -0
  91. package/dist/commands/epic/view.d.ts +1 -0
  92. package/dist/commands/execution/index.d.ts +1 -0
  93. package/dist/commands/execution/index.js +9 -25
  94. package/dist/commands/execution/list.d.ts +2 -0
  95. package/dist/commands/execution/logs.d.ts +1 -0
  96. package/dist/commands/execution/logs.js +6 -16
  97. package/dist/commands/execution/stop.d.ts +1 -0
  98. package/dist/commands/execution/stop.js +4 -15
  99. package/dist/commands/gh/index.d.ts +1 -0
  100. package/dist/commands/gh/index.js +27 -27
  101. package/dist/commands/gh/login.d.ts +4 -0
  102. package/dist/commands/gh/login.js +31 -0
  103. package/dist/commands/gh/status.d.ts +4 -0
  104. package/dist/commands/gh/status.js +27 -4
  105. package/dist/commands/gh/token.d.ts +4 -0
  106. package/dist/commands/gh/token.js +49 -5
  107. package/dist/commands/phase/create.d.ts +1 -1
  108. package/dist/commands/phase/create.js +116 -74
  109. package/dist/commands/phase/delete.d.ts +1 -0
  110. package/dist/commands/phase/delete.js +23 -22
  111. package/dist/commands/phase/list.d.ts +1 -0
  112. package/dist/commands/phase/list.js +3 -5
  113. package/dist/commands/phase/move.d.ts +1 -0
  114. package/dist/commands/phase/move.js +39 -39
  115. package/dist/commands/phase/template/apply.d.ts +1 -0
  116. package/dist/commands/phase/template/create.d.ts +2 -0
  117. package/dist/commands/phase/template/delete.d.ts +1 -0
  118. package/dist/commands/phase/template/index.d.ts +1 -0
  119. package/dist/commands/phase/template/list.d.ts +1 -0
  120. package/dist/commands/phase/template/update.d.ts +2 -0
  121. package/dist/commands/phase/update.d.ts +1 -1
  122. package/dist/commands/phase/update.js +89 -55
  123. package/dist/commands/pmo/init.d.ts +2 -0
  124. package/dist/commands/pmo/init.js +84 -22
  125. package/dist/commands/pr/create.d.ts +12 -3
  126. package/dist/commands/pr/create.js +130 -147
  127. package/dist/commands/pr/index.d.ts +6 -3
  128. package/dist/commands/pr/index.js +41 -39
  129. package/dist/commands/pr/link.d.ts +7 -3
  130. package/dist/commands/pr/link.js +126 -150
  131. package/dist/commands/pr/status.d.ts +6 -3
  132. package/dist/commands/pr/status.js +101 -126
  133. package/dist/commands/project/archive.d.ts +1 -0
  134. package/dist/commands/project/archive.js +15 -20
  135. package/dist/commands/project/create.d.ts +1 -0
  136. package/dist/commands/project/create.js +13 -5
  137. package/dist/commands/project/delete.d.ts +1 -0
  138. package/dist/commands/project/delete.js +14 -28
  139. package/dist/commands/project/index.d.ts +1 -0
  140. package/dist/commands/project/index.js +0 -5
  141. package/dist/commands/project/list.d.ts +2 -0
  142. package/dist/commands/project/list.js +21 -3
  143. package/dist/commands/project/spec.d.ts +1 -0
  144. package/dist/commands/project/spec.js +17 -23
  145. package/dist/commands/project/unarchive.d.ts +2 -0
  146. package/dist/commands/project/unarchive.js +21 -2
  147. package/dist/commands/project/view.d.ts +1 -0
  148. package/dist/commands/project/view.js +34 -22
  149. package/dist/commands/repo/add.d.ts +2 -0
  150. package/dist/commands/repo/add.js +44 -1
  151. package/dist/commands/repo/index.d.ts +1 -0
  152. package/dist/commands/repo/index.js +20 -38
  153. package/dist/commands/repo/list.d.ts +2 -0
  154. package/dist/commands/repo/remove.d.ts +1 -0
  155. package/dist/commands/repo/remove.js +45 -63
  156. package/dist/commands/repo/view.d.ts +2 -0
  157. package/dist/commands/repo/view.js +30 -5
  158. package/dist/commands/roadmap/add-project.d.ts +1 -0
  159. package/dist/commands/roadmap/create.d.ts +1 -0
  160. package/dist/commands/roadmap/delete.d.ts +1 -0
  161. package/dist/commands/roadmap/generate.d.ts +1 -0
  162. package/dist/commands/roadmap/index.d.ts +1 -0
  163. package/dist/commands/roadmap/list.d.ts +2 -0
  164. package/dist/commands/roadmap/remove-project.d.ts +1 -0
  165. package/dist/commands/roadmap/reorder.d.ts +1 -0
  166. package/dist/commands/roadmap/update.d.ts +1 -0
  167. package/dist/commands/roadmap/view.d.ts +1 -0
  168. package/dist/commands/session/attach.d.ts +1 -0
  169. package/dist/commands/session/index.d.ts +1 -0
  170. package/dist/commands/session/index.js +8 -25
  171. package/dist/commands/session/list.d.ts +2 -0
  172. package/dist/commands/spec/create.d.ts +1 -1
  173. package/dist/commands/spec/create.js +64 -65
  174. package/dist/commands/spec/index.d.ts +1 -0
  175. package/dist/commands/spec/index.js +36 -22
  176. package/dist/commands/spec/link/depends.d.ts +1 -0
  177. package/dist/commands/spec/link/depends.js +6 -6
  178. package/dist/commands/spec/link/duplicates.d.ts +1 -0
  179. package/dist/commands/spec/link/duplicates.js +6 -6
  180. package/dist/commands/spec/link/index.d.ts +2 -1
  181. package/dist/commands/spec/link/index.js +0 -4
  182. package/dist/commands/spec/link/relates.d.ts +1 -0
  183. package/dist/commands/spec/link/relates.js +6 -6
  184. package/dist/commands/spec/link/remove.d.ts +2 -1
  185. package/dist/commands/spec/link/remove.js +6 -6
  186. package/dist/commands/spec/list.d.ts +2 -0
  187. package/dist/commands/spec/list.js +25 -0
  188. package/dist/commands/spec/plan.d.ts +2 -1
  189. package/dist/commands/spec/plan.js +19 -26
  190. package/dist/commands/spec/ticket.d.ts +2 -1
  191. package/dist/commands/spec/ticket.js +48 -34
  192. package/dist/commands/spec/view.d.ts +2 -1
  193. package/dist/commands/spec/view.js +25 -16
  194. package/dist/commands/status/create.d.ts +1 -1
  195. package/dist/commands/status/create.js +80 -64
  196. package/dist/commands/status/delete.d.ts +2 -1
  197. package/dist/commands/status/delete.js +26 -22
  198. package/dist/commands/status/index.d.ts +1 -0
  199. package/dist/commands/status/index.js +26 -19
  200. package/dist/commands/status/list.d.ts +1 -0
  201. package/dist/commands/status/list.js +12 -7
  202. package/dist/commands/status/move.d.ts +2 -1
  203. package/dist/commands/status/move.js +62 -61
  204. package/dist/commands/status/update.d.ts +2 -2
  205. package/dist/commands/status/update.js +110 -77
  206. package/dist/commands/template/delete.d.ts +1 -0
  207. package/dist/commands/template/delete.js +47 -48
  208. package/dist/commands/template/index.d.ts +1 -0
  209. package/dist/commands/template/index.js +26 -33
  210. package/dist/commands/template/list.d.ts +1 -0
  211. package/dist/commands/template/phase/create.d.ts +1 -0
  212. package/dist/commands/template/phase/create.js +6 -0
  213. package/dist/commands/template/phase/index.d.ts +1 -0
  214. package/dist/commands/template/phase/index.js +27 -26
  215. package/dist/commands/template/phase/update.d.ts +1 -0
  216. package/dist/commands/template/phase/update.js +6 -0
  217. package/dist/commands/template/ticket/index.d.ts +1 -0
  218. package/dist/commands/template/ticket/index.js +27 -26
  219. package/dist/commands/template/ticket/save.d.ts +1 -0
  220. package/dist/commands/template/ticket/save.js +6 -0
  221. package/dist/commands/terminal/title.d.ts +26 -0
  222. package/dist/commands/terminal/title.js +37 -3
  223. package/dist/commands/ticket/bulk.d.ts +1 -0
  224. package/dist/commands/ticket/complete.d.ts +1 -0
  225. package/dist/commands/ticket/complete.js +18 -14
  226. package/dist/commands/ticket/create.d.ts +1 -0
  227. package/dist/commands/ticket/create.js +45 -41
  228. package/dist/commands/ticket/delete.d.ts +1 -0
  229. package/dist/commands/ticket/delete.js +1 -1
  230. package/dist/commands/ticket/edit.d.ts +1 -0
  231. package/dist/commands/ticket/edit.js +1 -1
  232. package/dist/commands/ticket/epic.d.ts +1 -0
  233. package/dist/commands/ticket/epic.js +2 -2
  234. package/dist/commands/ticket/index.d.ts +1 -0
  235. package/dist/commands/ticket/link/block.d.ts +1 -0
  236. package/dist/commands/ticket/link/block.js +1 -1
  237. package/dist/commands/ticket/link/duplicates.d.ts +1 -0
  238. package/dist/commands/ticket/link/duplicates.js +1 -1
  239. package/dist/commands/ticket/link/index.d.ts +1 -0
  240. package/dist/commands/ticket/link/index.js +9 -8
  241. package/dist/commands/ticket/link/relates.d.ts +1 -0
  242. package/dist/commands/ticket/link/relates.js +1 -1
  243. package/dist/commands/ticket/link/remove.d.ts +1 -0
  244. package/dist/commands/ticket/link/remove.js +1 -1
  245. package/dist/commands/ticket/list.d.ts +2 -0
  246. package/dist/commands/ticket/move.d.ts +1 -0
  247. package/dist/commands/ticket/move.js +27 -19
  248. package/dist/commands/ticket/project.d.ts +1 -0
  249. package/dist/commands/ticket/project.js +3 -3
  250. package/dist/commands/ticket/reassign.d.ts +1 -0
  251. package/dist/commands/ticket/reassign.js +1 -1
  252. package/dist/commands/ticket/spec.d.ts +1 -0
  253. package/dist/commands/ticket/spec.js +3 -3
  254. package/dist/commands/ticket/status.d.ts +1 -0
  255. package/dist/commands/ticket/status.js +1 -1
  256. package/dist/commands/ticket/template/apply.d.ts +1 -0
  257. package/dist/commands/ticket/template/create.d.ts +2 -0
  258. package/dist/commands/ticket/template/delete.d.ts +1 -0
  259. package/dist/commands/ticket/template/index.d.ts +1 -0
  260. package/dist/commands/ticket/template/list.d.ts +1 -0
  261. package/dist/commands/ticket/template/save.d.ts +2 -0
  262. package/dist/commands/ticket/update.d.ts +1 -0
  263. package/dist/commands/ticket/update.js +1 -1
  264. package/dist/commands/ticket/view.d.ts +1 -0
  265. package/dist/commands/ticket/view.js +1 -1
  266. package/dist/commands/work/complete.d.ts +1 -0
  267. package/dist/commands/work/index.d.ts +1 -0
  268. package/dist/commands/work/ready.d.ts +1 -0
  269. package/dist/commands/work/revise.d.ts +1 -0
  270. package/dist/commands/work/spawn-all.d.ts +2 -0
  271. package/dist/commands/work/spawn-all.js +11 -4
  272. package/dist/commands/work/spawn.d.ts +1 -0
  273. package/dist/commands/work/spawn.js +261 -166
  274. package/dist/commands/work/start.d.ts +1 -0
  275. package/dist/commands/work/start.js +270 -189
  276. package/dist/commands/work/watch.d.ts +1 -0
  277. package/dist/commands/work/watch.js +63 -58
  278. package/dist/commands/workflow/create.d.ts +1 -0
  279. package/dist/commands/workflow/create.js +2 -4
  280. package/dist/commands/workflow/delete.d.ts +1 -0
  281. package/dist/commands/workflow/delete.js +21 -33
  282. package/dist/commands/workflow/index.d.ts +1 -0
  283. package/dist/commands/workflow/list.d.ts +1 -0
  284. package/dist/commands/workflow/list.js +3 -6
  285. package/dist/commands/workflow/switch.d.ts +2 -0
  286. package/dist/commands/workflow/switch.js +46 -21
  287. package/dist/commands/workflow/view.d.ts +1 -0
  288. package/dist/commands/workflow/view.js +18 -27
  289. package/dist/commands/workspace/remove.d.ts +2 -2
  290. package/dist/commands/workspace/remove.js +16 -21
  291. package/dist/commands/workspace/use.d.ts +2 -2
  292. package/dist/commands/workspace/use.js +12 -18
  293. package/dist/lib/agents/commands.d.ts +1 -1
  294. package/dist/lib/agents/commands.js +4 -4
  295. package/dist/lib/database/drizzle-schema.d.ts +5009 -0
  296. package/dist/lib/database/drizzle-schema.js +699 -0
  297. package/dist/lib/database/drizzle.d.ts +29 -0
  298. package/dist/lib/database/drizzle.js +37 -0
  299. package/dist/lib/database/index.d.ts +1 -0
  300. package/dist/lib/database/index.js +1 -1
  301. package/dist/lib/execution/config.d.ts +6 -0
  302. package/dist/lib/execution/config.js +31 -13
  303. package/dist/lib/execution/devcontainer.js +13 -7
  304. package/dist/lib/execution/runners.js +24 -7
  305. package/dist/lib/execution/spawner.js +19 -0
  306. package/dist/lib/flags/index.d.ts +4 -0
  307. package/dist/lib/flags/index.js +4 -0
  308. package/dist/lib/flags/resolver.d.ts +224 -0
  309. package/dist/lib/flags/resolver.js +313 -0
  310. package/dist/lib/pmo/base-command.d.ts +53 -3
  311. package/dist/lib/pmo/base-command.js +92 -13
  312. package/dist/lib/pmo/find-pmo.d.ts +1 -1
  313. package/dist/lib/pmo/find-pmo.js +4 -4
  314. package/dist/lib/pmo/index.d.ts +1 -1
  315. package/dist/lib/pmo/index.js +1 -1
  316. package/dist/lib/pmo/storage/helpers.js +2 -1
  317. package/dist/lib/pmo/storage/index.d.ts +9 -0
  318. package/dist/lib/pmo/storage/index.js +14 -0
  319. package/dist/lib/pmo/storage/projects.d.ts +28 -13
  320. package/dist/lib/pmo/storage/projects.js +110 -34
  321. package/dist/lib/pmo/storage/roadmaps.d.ts +2 -0
  322. package/dist/lib/pmo/storage/roadmaps.js +182 -111
  323. package/dist/lib/pmo/storage/specs.js +13 -16
  324. package/dist/lib/pmo/storage/subtasks.js +17 -2
  325. package/dist/lib/pmo/storage/tickets.d.ts +12 -2
  326. package/dist/lib/pmo/storage/tickets.js +63 -5
  327. package/dist/lib/pmo/storage/types.d.ts +7 -3
  328. package/dist/lib/pmo/storage/views.d.ts +12 -1
  329. package/dist/lib/pmo/storage/views.js +61 -6
  330. package/dist/lib/prompt-command.d.ts +90 -0
  331. package/dist/lib/prompt-command.js +102 -0
  332. package/dist/lib/prompt-json.d.ts +34 -4
  333. package/dist/lib/prompt-json.js +35 -3
  334. package/dist/lib/repos/index.js +15 -15
  335. package/dist/lib/workspace.d.ts +4 -3
  336. package/dist/lib/workspace.js +3 -3
  337. package/oclif.manifest.json +4610 -2997
  338. package/package.json +13 -5
@@ -13,6 +13,7 @@ export default class TicketEpic extends PMOCommand {
13
13
  'to-epic': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  'from-epic': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
15
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
17
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
18
  };
18
19
  execute(): Promise<void>;
@@ -102,7 +102,7 @@ export default class TicketEpic extends PMOCommand {
102
102
  items: ticketChoices,
103
103
  getName: (t) => t.name,
104
104
  getValue: (t) => t.id,
105
- getCommand: (t) => `prlt ticket epic ${t.id} --json`,
105
+ getCommand: (t) => `prlt ticket epic ${t.id} -P ${projectId} --json`,
106
106
  jsonMode: jsonMode ? { flags, commandName: 'ticket epic' } : null,
107
107
  });
108
108
  if (!selected) {
@@ -153,7 +153,7 @@ export default class TicketEpic extends PMOCommand {
153
153
  items: epicChoices,
154
154
  getName: (e) => e.name,
155
155
  getValue: (e) => e.id,
156
- getCommand: (e) => e.id === '__none__' ? `prlt ticket epic ${ticketId} --unlink --json` : `prlt ticket epic ${ticketId} ${e.id} --json`,
156
+ getCommand: (e) => e.id === '__none__' ? `prlt ticket epic ${ticketId} --unlink -P ${projectId} --json` : `prlt ticket epic ${ticketId} ${e.id} -P ${projectId} --json`,
157
157
  jsonMode: jsonMode ? { flags, commandName: 'ticket epic' } : null,
158
158
  });
159
159
  if (!selected) {
@@ -4,6 +4,7 @@ export default class Ticket extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
9
  };
9
10
  protected getPMOOptions(): {
@@ -8,6 +8,7 @@ export default class TicketLinkBlock extends PMOCommand {
8
8
  };
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  execute(): Promise<void>;
@@ -60,7 +60,7 @@ export default class TicketLinkBlock extends PMOCommand {
60
60
  items: otherTickets,
61
61
  getName: (t) => `${t.id} - ${t.title} (${t.statusName || t.status})`,
62
62
  getValue: (t) => t.id,
63
- getCommand: (t) => `prlt ticket link block ${args.id} ${t.id} --json`,
63
+ getCommand: (t) => `prlt ticket link block ${args.id} ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
64
64
  jsonMode: jsonMode ? { flags, commandName: 'ticket link block' } : null,
65
65
  });
66
66
  if (!selected) {
@@ -8,6 +8,7 @@ export default class TicketLinkDuplicates extends PMOCommand {
8
8
  };
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  execute(): Promise<void>;
@@ -59,7 +59,7 @@ export default class TicketLinkDuplicates extends PMOCommand {
59
59
  items: otherTickets,
60
60
  getName: (t) => `${t.id} - ${t.title} (${t.statusName || t.status})`,
61
61
  getValue: (t) => t.id,
62
- getCommand: (t) => `prlt ticket link duplicates ${args.id} ${t.id} --json`,
62
+ getCommand: (t) => `prlt ticket link duplicates ${args.id} ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
63
63
  jsonMode: jsonMode ? { flags, commandName: 'ticket link duplicates' } : null,
64
64
  });
65
65
  if (!selected) {
@@ -11,6 +11,7 @@ export default class TicketLink extends PMOCommand {
11
11
  relates: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  duplicates: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
16
17
  execute(): Promise<void>;
@@ -62,7 +62,7 @@ export default class TicketLink extends PMOCommand {
62
62
  items: tickets,
63
63
  getName: (t) => `${t.id} - ${t.title}`,
64
64
  getValue: (t) => t.id,
65
- getCommand: (t) => `prlt ticket link ${t.id} --json`,
65
+ getCommand: (t) => `prlt ticket link ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
66
66
  jsonMode: jsonMode ? { flags, commandName: 'ticket link' } : null,
67
67
  });
68
68
  if (!selected) {
@@ -103,12 +103,13 @@ export default class TicketLink extends PMOCommand {
103
103
  getName: (c) => c.name,
104
104
  getValue: (c) => c.id,
105
105
  getCommand: (c) => {
106
+ const pFlag = projectId ? ` -P ${projectId}` : '';
106
107
  switch (c.id) {
107
- case 'view': return `prlt ticket link ${ticketId} --all`;
108
- case 'blocks': return `prlt ticket link block ${ticketId} --json`;
109
- case 'relates_to': return `prlt ticket link relates ${ticketId} --json`;
110
- case 'duplicates': return `prlt ticket link duplicates ${ticketId} --json`;
111
- case 'remove': return `prlt ticket link remove ${ticketId} --json`;
108
+ case 'view': return `prlt ticket link ${ticketId}${pFlag} --all`;
109
+ case 'blocks': return `prlt ticket link block ${ticketId}${pFlag} --json`;
110
+ case 'relates_to': return `prlt ticket link relates ${ticketId}${pFlag} --json`;
111
+ case 'duplicates': return `prlt ticket link duplicates ${ticketId}${pFlag} --json`;
112
+ case 'remove': return `prlt ticket link remove ${ticketId}${pFlag} --json`;
112
113
  default: return '';
113
114
  }
114
115
  },
@@ -145,7 +146,7 @@ export default class TicketLink extends PMOCommand {
145
146
  items: depChoices,
146
147
  getName: (d) => d.name,
147
148
  getValue: (d) => d.id,
148
- getCommand: (d) => `prlt ticket link remove ${ticketId} ${d.id} --type ${d.type} --json`,
149
+ getCommand: (d) => `prlt ticket link remove ${ticketId} ${d.id} --type ${d.type}${projectId ? ` -P ${projectId}` : ''} --json`,
149
150
  jsonMode: jsonMode ? { flags, commandName: 'ticket link' } : null,
150
151
  });
151
152
  if (!selected) {
@@ -172,7 +173,7 @@ export default class TicketLink extends PMOCommand {
172
173
  items: otherTickets,
173
174
  getName: (t) => `${t.id} - ${t.title}`,
174
175
  getValue: (t) => t.id,
175
- getCommand: (t) => `prlt ticket link ${action === 'blocks' ? 'block' : action} ${ticketId} ${t.id} --json`,
176
+ getCommand: (t) => `prlt ticket link ${action === 'blocks' ? 'block' : action} ${ticketId} ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
176
177
  jsonMode: jsonMode ? { flags, commandName: 'ticket link' } : null,
177
178
  });
178
179
  if (targetId) {
@@ -8,6 +8,7 @@ export default class TicketLinkRelates extends PMOCommand {
8
8
  };
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  execute(): Promise<void>;
@@ -59,7 +59,7 @@ export default class TicketLinkRelates extends PMOCommand {
59
59
  items: otherTickets,
60
60
  getName: (t) => `${t.id} - ${t.title} (${t.statusName || t.status})`,
61
61
  getValue: (t) => t.id,
62
- getCommand: (t) => `prlt ticket link relates ${args.id} ${t.id} --json`,
62
+ getCommand: (t) => `prlt ticket link relates ${args.id} ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
63
63
  jsonMode: jsonMode ? { flags, commandName: 'ticket link relates' } : null,
64
64
  });
65
65
  if (!selected) {
@@ -10,6 +10,7 @@ export default class TicketLinkRemove extends PMOCommand {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
15
  };
15
16
  execute(): Promise<void>;
@@ -105,7 +105,7 @@ export default class TicketLinkRemove extends PMOCommand {
105
105
  items: depChoices,
106
106
  getName: (d) => d.name,
107
107
  getValue: (d) => d.id,
108
- getCommand: (d) => `prlt ticket link remove ${args.id} ${d.id} --type ${d.type} --json`,
108
+ getCommand: (d) => `prlt ticket link remove ${args.id} ${d.id} --type ${d.type}${flags.project ? ` -P ${flags.project}` : ''} --json`,
109
109
  jsonMode: jsonMode ? { flags, commandName: 'ticket link remove' } : null,
110
110
  });
111
111
  if (!selected) {
@@ -10,6 +10,8 @@ export default class TicketList extends Command {
10
10
  format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
11
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  'group-by': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
16
  };
15
17
  run(): Promise<void>;
@@ -11,6 +11,7 @@ export default class TicketMove extends PMOCommand {
11
11
  position: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
16
17
  execute(): Promise<void>;
@@ -1,5 +1,4 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import inquirer from 'inquirer';
3
2
  import { autoExportToBoard, PMOCommand, pmoBaseFlags, } from '../../lib/pmo/index.js';
4
3
  import { styles } from '../../lib/styles.js';
5
4
  import { shouldOutputJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
@@ -68,7 +67,7 @@ export default class TicketMove extends PMOCommand {
68
67
  }
69
68
  // Bulk mode
70
69
  if (flags.bulk) {
71
- await this.executeBulk(allTickets, flags.force, projectId);
70
+ await this.executeBulk(allTickets, flags, projectId);
72
71
  return;
73
72
  }
74
73
  // Single ticket mode
@@ -80,7 +79,7 @@ export default class TicketMove extends PMOCommand {
80
79
  items: allTickets,
81
80
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
82
81
  getValue: (t) => t.id,
83
- getCommand: (t) => `prlt ticket move ${t.id} --json`,
82
+ getCommand: (t) => `prlt ticket move ${t.id} -P ${projectId} --json`,
84
83
  jsonMode: jsonMode ? { flags, commandName: 'ticket move' } : null,
85
84
  });
86
85
  if (!selected) {
@@ -107,7 +106,7 @@ export default class TicketMove extends PMOCommand {
107
106
  items: project.columns,
108
107
  getName: (col) => col.name === ticket.statusName ? `${col.name} (current)` : col.name,
109
108
  getValue: (col) => col.name,
110
- getCommand: (col) => `prlt ticket move ${ticketId} "${col.name}" --json`,
109
+ getCommand: (col) => `prlt ticket move ${ticketId} "${col.name}" -P ${projectId} --json`,
111
110
  jsonMode: jsonMode ? { flags, commandName: 'ticket move' } : null,
112
111
  });
113
112
  if (!selected) {
@@ -134,50 +133,59 @@ export default class TicketMove extends PMOCommand {
134
133
  this.log(styles.muted(` Position: ${flags.position}`));
135
134
  }
136
135
  }
137
- async executeBulk(allTickets, force, projectId) {
138
- this.log(styles.emphasis('📦 Move Multiple Tickets\n'));
136
+ async executeBulk(allTickets, flags, projectId) {
137
+ // Only show header in interactive mode
138
+ if (!flags.json) {
139
+ this.log(styles.emphasis('📦 Move Multiple Tickets\n'));
140
+ }
139
141
  // Get columns
140
142
  const board = await this.storage.getBoard(projectId);
141
143
  const columns = board.columns.map(col => col.name);
142
- // Select tickets to move
143
- const { selectedTickets } = await inquirer.prompt([{
144
+ // Agent mode config for prompts
145
+ const jsonModeConfig = flags.json ? { flags, commandName: 'ticket move --bulk' } : null;
146
+ // Select tickets to move (now agent-compatible!)
147
+ const { selectedTickets } = await this.prompt([{
144
148
  type: 'checkbox',
145
149
  name: 'selectedTickets',
146
150
  message: 'Select tickets to move:',
147
151
  choices: allTickets.map(t => ({
148
152
  name: `${t.id} - ${t.title} (${t.statusName})`,
149
153
  value: t.id,
154
+ command: `prlt ticket move ${t.id} -P ${projectId} --json`, // For agent: select single ticket
150
155
  })),
151
- }]);
156
+ }], jsonModeConfig);
152
157
  if (selectedTickets.length === 0) {
153
158
  this.log(styles.muted('No tickets selected.'));
154
159
  return;
155
160
  }
156
- // Select target column
157
- const { targetColumn } = await inquirer.prompt([{
161
+ // Select target column (now agent-compatible!)
162
+ const { targetColumn } = await this.prompt([{
158
163
  type: 'list',
159
164
  name: 'targetColumn',
160
165
  message: 'Move selected tickets to:',
161
- choices: columns,
162
- }]);
166
+ choices: columns.map(c => ({
167
+ name: c,
168
+ value: c,
169
+ command: `prlt ticket move ${selectedTickets.join(' ')} "${c}" -P ${projectId} --json`,
170
+ })),
171
+ }], jsonModeConfig);
163
172
  // Confirmation
164
- if (!force) {
173
+ if (!flags.force) {
165
174
  this.log(styles.warning('\nThis will move:'));
166
175
  for (const ticketId of selectedTickets) {
167
176
  const ticket = allTickets.find(t => t.id === ticketId);
168
177
  this.log(styles.primary(` • ${ticketId}: ${ticket?.title}`));
169
178
  }
170
179
  this.log(styles.primary(` → to column: ${targetColumn}\n`));
171
- const { confirm } = await inquirer.prompt([{
180
+ const { confirm } = await this.prompt([{
172
181
  type: 'list',
173
182
  name: 'confirm',
174
183
  message: 'Continue?',
175
184
  choices: [
176
- { name: 'No, cancel', value: false },
177
- { name: 'Yes, move tickets', value: true }
185
+ { name: 'No, cancel', value: 'false', command: '' },
186
+ { name: 'Yes, move tickets', value: 'true', command: `prlt ticket move ${selectedTickets.join(' ')} "${targetColumn}" -P ${projectId} --force --json` }
178
187
  ],
179
- default: 0
180
- }]);
188
+ }], jsonModeConfig);
181
189
  if (!confirm) {
182
190
  this.log(styles.muted('Move cancelled.'));
183
191
  return;
@@ -11,6 +11,7 @@ export default class TicketProject extends PMOCommand {
11
11
  'keep-epic': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
16
17
  execute(): Promise<void>;
@@ -69,7 +69,7 @@ export default class TicketProject extends PMOCommand {
69
69
  items: tickets,
70
70
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
71
71
  getValue: (t) => t.id,
72
- getCommand: (t) => `prlt ticket project ${t.id} --json`,
72
+ getCommand: (t) => `prlt ticket project ${t.id} -P ${sourceProjectId} --json`,
73
73
  jsonMode: jsonMode ? { flags, commandName: 'ticket project' } : null,
74
74
  });
75
75
  if (!selected) {
@@ -112,7 +112,7 @@ export default class TicketProject extends PMOCommand {
112
112
  items: otherProjects,
113
113
  getName: (p) => `${p.id} - ${p.name} (${p.status})`,
114
114
  getValue: (p) => p.id,
115
- getCommand: (p) => `prlt ticket project ${ticketId} ${p.id} --json`,
115
+ getCommand: (p) => `prlt ticket project ${ticketId} ${p.id} -P ${sourceProjectId} --json`,
116
116
  jsonMode: jsonMode ? { flags, commandName: 'ticket project' } : null,
117
117
  });
118
118
  if (!selected) {
@@ -144,7 +144,7 @@ export default class TicketProject extends PMOCommand {
144
144
  items: actionChoices,
145
145
  getName: (a) => a.name,
146
146
  getValue: (a) => a.id,
147
- getCommand: (a) => a.id === 'unlink' ? `prlt ticket project ${ticketId} ${targetProjectId} --json` : '',
147
+ getCommand: (a) => a.id === 'unlink' ? `prlt ticket project ${ticketId} ${targetProjectId} -P ${sourceProjectId} --json` : '',
148
148
  jsonMode: jsonMode ? { flags, commandName: 'ticket project' } : null,
149
149
  });
150
150
  if (action === 'cancel' || !action) {
@@ -12,6 +12,7 @@ export default class TicketReassign extends PMOCommand {
12
12
  from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
16
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
17
  };
17
18
  execute(): Promise<void>;
@@ -91,7 +91,7 @@ export default class TicketReassign extends PMOCommand {
91
91
  items: allTickets,
92
92
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
93
93
  getValue: (t) => t.id,
94
- getCommand: (t) => `prlt ticket reassign ${t.id} --json`,
94
+ getCommand: (t) => `prlt ticket reassign ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
95
95
  jsonMode: jsonMode ? { flags, commandName: 'ticket reassign' } : null,
96
96
  });
97
97
  if (!selected) {
@@ -11,6 +11,7 @@ export default class TicketSpec extends PMOCommand {
11
11
  unlink: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
16
17
  execute(): Promise<void>;
@@ -78,7 +78,7 @@ export default class TicketSpec extends PMOCommand {
78
78
  items: ticketChoices,
79
79
  getName: (t) => t.name,
80
80
  getValue: (t) => t.id,
81
- getCommand: (t) => `prlt ticket spec ${t.id} --json`,
81
+ getCommand: (t) => `prlt ticket spec ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
82
82
  jsonMode: jsonMode ? { flags, commandName: 'ticket spec' } : null,
83
83
  });
84
84
  if (!selected) {
@@ -133,7 +133,7 @@ export default class TicketSpec extends PMOCommand {
133
133
  items: specs,
134
134
  getName: (s) => `${s.id} - ${s.title} (${s.status})`,
135
135
  getValue: (s) => s.id,
136
- getCommand: (s) => `prlt ticket spec ${ticketId} ${s.id} --json`,
136
+ getCommand: (s) => `prlt ticket spec ${ticketId} ${s.id}${projectId ? ` -P ${projectId}` : ''} --json`,
137
137
  jsonMode: jsonMode ? { flags, commandName: 'ticket spec' } : null,
138
138
  });
139
139
  if (!selected) {
@@ -171,7 +171,7 @@ export default class TicketSpec extends PMOCommand {
171
171
  items: actionChoices,
172
172
  getName: (a) => a.name,
173
173
  getValue: (a) => a.id,
174
- getCommand: (a) => a.id === 'use_epic' ? `prlt ticket spec ${ticketId} ${epic.specId} --json` : `prlt ticket spec ${ticketId} ${specId} --json`,
174
+ getCommand: (a) => a.id === 'use_epic' ? `prlt ticket spec ${ticketId} ${epic.specId}${projectId ? ` -P ${projectId}` : ''} --json` : `prlt ticket spec ${ticketId} ${specId}${projectId ? ` -P ${projectId}` : ''} --json`,
175
175
  jsonMode: jsonMode ? { flags, commandName: 'ticket spec' } : null,
176
176
  });
177
177
  if (action === 'cancel' || !action) {
@@ -7,6 +7,7 @@ export default class TicketStatus extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  execute(): Promise<void>;
@@ -48,7 +48,7 @@ export default class TicketStatus extends PMOCommand {
48
48
  items: allTickets,
49
49
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
50
50
  getValue: (t) => t.id,
51
- getCommand: (t) => `prlt ticket status ${t.id} --json`,
51
+ getCommand: (t) => `prlt ticket status ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
52
52
  jsonMode: jsonMode ? { flags, commandName: 'ticket status' } : null,
53
53
  });
54
54
  if (!selected) {
@@ -19,6 +19,7 @@ export default class TicketTemplateApply extends PMOCommand {
19
19
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
20
  'no-subtasks': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
21
  epic: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
23
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
24
  };
24
25
  execute(): Promise<void>;
@@ -10,6 +10,8 @@ export default class TicketTemplateCreate extends PMOCommand {
10
10
  'title-pattern': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  priority: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  category: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
16
  };
15
17
  protected getPMOOptions(): {
@@ -8,6 +8,7 @@ export default class TicketTemplateDelete extends PMOCommand {
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  protected getPMOOptions(): {
@@ -5,6 +5,7 @@ export default class TicketTemplateIndex extends PMOCommand {
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
10
  };
10
11
  protected getPMOOptions(): {
@@ -6,6 +6,7 @@ export default class TicketTemplateList extends PMOCommand {
6
6
  builtin: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
7
  custom: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
11
  };
11
12
  protected getPMOOptions(): {
@@ -8,6 +8,8 @@ export default class TicketTemplateSave extends PMOCommand {
8
8
  };
9
9
  static flags: {
10
10
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
14
  };
13
15
  execute(): Promise<void>;
@@ -11,6 +11,7 @@ export default class TicketUpdate extends PMOCommand {
11
11
  category: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
16
17
  execute(): Promise<void>;
@@ -73,7 +73,7 @@ export default class TicketUpdate extends PMOCommand {
73
73
  items: allTickets,
74
74
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
75
75
  getValue: (t) => t.id,
76
- getCommand: (t) => `prlt ticket update ${t.id} --json`,
76
+ getCommand: (t) => `prlt ticket update ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
77
77
  jsonMode: jsonMode ? { flags, commandName: 'ticket update' } : null,
78
78
  });
79
79
  if (!selected) {
@@ -4,6 +4,7 @@ export default class TicketView extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
9
  };
9
10
  static args: {
@@ -48,7 +48,7 @@ export default class TicketView extends PMOCommand {
48
48
  items: allTickets,
49
49
  getName: (t) => `${t.id} - ${t.title} (${t.statusName})`,
50
50
  getValue: (t) => t.id,
51
- getCommand: (t) => `prlt ticket view ${t.id} --json`,
51
+ getCommand: (t) => `prlt ticket view ${t.id}${projectId ? ` -P ${projectId}` : ''} --json`,
52
52
  jsonMode: jsonMode ? { flags, commandName: 'ticket view' } : null,
53
53
  });
54
54
  if (!selected) {
@@ -7,6 +7,7 @@ export default class WorkComplete extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  execute(): Promise<void>;
@@ -4,6 +4,7 @@ export default class Work extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
9
  };
9
10
  protected getPMOOptions(): {
@@ -10,6 +10,7 @@ export default class WorkReady extends PMOCommand {
10
10
  pr: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  draft: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  'no-pr': import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
15
  };
15
16
  execute(): Promise<void>;
@@ -12,6 +12,7 @@ export default class WorkRevise extends PMOCommand {
12
12
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  'run-on-host': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  session: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
16
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
17
  };
17
18
  execute(): Promise<void>;
@@ -3,11 +3,13 @@ export default class WorkSpawnAll extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
7
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
8
  'run-on-host': import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  'skip-permissions': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  'create-pr': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  executor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
14
  };
13
15
  protected getPMOOptions(): {
@@ -1,14 +1,19 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
3
3
  export default class WorkSpawnAll extends PMOCommand {
4
- static description = 'Spawn work on all backlog tickets (alias for "work start --all")';
4
+ static description = 'Spawn work on all backlog tickets (alias for "work spawn --all")';
5
5
  static examples = [
6
6
  '<%= config.bin %> <%= command.id %>',
7
7
  '<%= config.bin %> <%= command.id %> --skip-permissions',
8
8
  '<%= config.bin %> <%= command.id %> --create-pr',
9
+ '<%= config.bin %> <%= command.id %> --json',
9
10
  ];
10
11
  static flags = {
11
12
  ...pmoBaseFlags,
13
+ json: Flags.boolean({
14
+ description: 'Output prompt configuration as JSON (for AI agents/scripts)',
15
+ default: false,
16
+ }),
12
17
  force: Flags.boolean({
13
18
  char: 'f',
14
19
  description: 'Start even if work already in progress',
@@ -39,9 +44,11 @@ export default class WorkSpawnAll extends PMOCommand {
39
44
  const { flags } = await this.parse(WorkSpawnAll);
40
45
  // This command requires project context
41
46
  const projectId = await this.requireProject();
42
- // Build args for work start --all
47
+ // Build args for work spawn --all
43
48
  // Pass --project to avoid re-prompting for project selection
44
49
  const args = ['--all', '--project', projectId];
50
+ if (flags.json)
51
+ args.push('--json');
45
52
  if (flags.force)
46
53
  args.push('--force');
47
54
  if (flags['run-on-host'])
@@ -52,7 +59,7 @@ export default class WorkSpawnAll extends PMOCommand {
52
59
  args.push('--create-pr');
53
60
  if (flags.executor)
54
61
  args.push('--executor', flags.executor);
55
- // Use oclif's run method to invoke work start
56
- await this.config.runCommand('work:start', args);
62
+ // Use oclif's run method to invoke work spawn
63
+ await this.config.runCommand('work:spawn', args);
57
64
  }
58
65
  }