@proletariat/cli 0.3.20 → 0.3.22

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 (352) hide show
  1. package/dist/commands/action/create.d.ts +0 -1
  2. package/dist/commands/action/delete.d.ts +0 -1
  3. package/dist/commands/action/index.d.ts +0 -1
  4. package/dist/commands/action/list.d.ts +0 -1
  5. package/dist/commands/action/list.js +2 -0
  6. package/dist/commands/action/run.d.ts +0 -1
  7. package/dist/commands/action/show.d.ts +0 -1
  8. package/dist/commands/action/update.d.ts +0 -1
  9. package/dist/commands/agent/auth.d.ts +0 -1
  10. package/dist/commands/agent/auth.js +3 -7
  11. package/dist/commands/agent/discover.d.ts +0 -1
  12. package/dist/commands/agent/discover.js +3 -7
  13. package/dist/commands/agent/index.d.ts +0 -1
  14. package/dist/commands/agent/index.js +2 -0
  15. package/dist/commands/agent/list.d.ts +0 -1
  16. package/dist/commands/agent/list.js +30 -1
  17. package/dist/commands/agent/login.d.ts +0 -1
  18. package/dist/commands/agent/login.js +4 -2
  19. package/dist/commands/agent/rebuild.d.ts +0 -1
  20. package/dist/commands/agent/rebuild.js +2 -0
  21. package/dist/commands/agent/remove.d.ts +1 -1
  22. package/dist/commands/agent/remove.js +38 -28
  23. package/dist/commands/agent/restart.d.ts +0 -1
  24. package/dist/commands/agent/restart.js +2 -0
  25. package/dist/commands/agent/shell.d.ts +0 -1
  26. package/dist/commands/agent/shell.js +4 -2
  27. package/dist/commands/agent/staff/add.d.ts +0 -1
  28. package/dist/commands/agent/staff/add.js +3 -7
  29. package/dist/commands/agent/staff/index.d.ts +0 -1
  30. package/dist/commands/agent/staff/index.js +2 -0
  31. package/dist/commands/agent/staff/remove.d.ts +0 -1
  32. package/dist/commands/agent/staff/remove.js +4 -2
  33. package/dist/commands/agent/status.d.ts +0 -1
  34. package/dist/commands/agent/status.js +4 -2
  35. package/dist/commands/agent/temp/cleanup.d.ts +0 -1
  36. package/dist/commands/agent/temp/cleanup.js +2 -0
  37. package/dist/commands/agent/temp/index.d.ts +0 -1
  38. package/dist/commands/agent/temp/index.js +2 -0
  39. package/dist/commands/agent/themes/add-names.d.ts +1 -0
  40. package/dist/commands/agent/themes/add-names.js +5 -1
  41. package/dist/commands/agent/themes/index.d.ts +0 -1
  42. package/dist/commands/agent/themes/index.js +3 -7
  43. package/dist/commands/agent/themes/set.d.ts +0 -1
  44. package/dist/commands/agent/themes/set.js +3 -7
  45. package/dist/commands/agent/visit.d.ts +0 -1
  46. package/dist/commands/agent/visit.js +4 -2
  47. package/dist/commands/autocomplete/setup.d.ts +0 -1
  48. package/dist/commands/board/index.d.ts +0 -1
  49. package/dist/commands/board/view.d.ts +0 -1
  50. package/dist/commands/board/watch.d.ts +0 -1
  51. package/dist/commands/branch/create.d.ts +0 -1
  52. package/dist/commands/branch/create.js +2 -0
  53. package/dist/commands/branch/index.d.ts +0 -1
  54. package/dist/commands/branch/index.js +2 -0
  55. package/dist/commands/branch/list.d.ts +0 -1
  56. package/dist/commands/branch/validate.d.ts +0 -1
  57. package/dist/commands/branch/where.d.ts +0 -1
  58. package/dist/commands/branch/where.js +2 -0
  59. package/dist/commands/category/create.d.ts +18 -0
  60. package/dist/commands/category/create.js +108 -0
  61. package/dist/commands/category/delete.d.ts +17 -0
  62. package/dist/commands/category/delete.js +103 -0
  63. package/dist/commands/category/index.d.ts +15 -0
  64. package/dist/commands/category/index.js +87 -0
  65. package/dist/commands/category/list.d.ts +17 -0
  66. package/dist/commands/category/list.js +85 -0
  67. package/dist/commands/category/rename.d.ts +18 -0
  68. package/dist/commands/category/rename.js +127 -0
  69. package/dist/commands/claude.js +2 -0
  70. package/dist/commands/commit.js +2 -0
  71. package/dist/commands/config/index.js +2 -0
  72. package/dist/commands/docker/clean.d.ts +0 -1
  73. package/dist/commands/docker/index.d.ts +0 -1
  74. package/dist/commands/docker/prune.d.ts +0 -1
  75. package/dist/commands/docker/restart.d.ts +0 -1
  76. package/dist/commands/docker/stop.d.ts +0 -1
  77. package/dist/commands/epic/activate.d.ts +0 -1
  78. package/dist/commands/epic/activate.js +2 -0
  79. package/dist/commands/epic/archive.d.ts +0 -1
  80. package/dist/commands/epic/archive.js +2 -0
  81. package/dist/commands/epic/create.d.ts +0 -1
  82. package/dist/commands/epic/create.js +3 -1
  83. package/dist/commands/epic/delete.d.ts +14 -0
  84. package/dist/commands/epic/delete.js +129 -0
  85. package/dist/commands/epic/index.d.ts +0 -1
  86. package/dist/commands/epic/index.js +6 -0
  87. package/dist/commands/epic/link/block.d.ts +0 -1
  88. package/dist/commands/epic/link/block.js +2 -0
  89. package/dist/commands/epic/link/duplicates.d.ts +0 -1
  90. package/dist/commands/epic/link/duplicates.js +2 -0
  91. package/dist/commands/epic/link/index.d.ts +0 -1
  92. package/dist/commands/epic/link/index.js +19 -0
  93. package/dist/commands/epic/link/relates.d.ts +0 -1
  94. package/dist/commands/epic/link/relates.js +2 -0
  95. package/dist/commands/epic/link/remove.d.ts +0 -1
  96. package/dist/commands/epic/link/remove.js +2 -0
  97. package/dist/commands/epic/list.d.ts +0 -1
  98. package/dist/commands/epic/move.d.ts +0 -1
  99. package/dist/commands/epic/move.js +2 -0
  100. package/dist/commands/epic/progress.d.ts +0 -1
  101. package/dist/commands/epic/progress.js +2 -0
  102. package/dist/commands/epic/project.d.ts +0 -1
  103. package/dist/commands/epic/project.js +2 -0
  104. package/dist/commands/epic/reorder.d.ts +0 -1
  105. package/dist/commands/epic/reorder.js +2 -0
  106. package/dist/commands/epic/spec.d.ts +0 -1
  107. package/dist/commands/epic/spec.js +2 -0
  108. package/dist/commands/epic/ticket.d.ts +0 -1
  109. package/dist/commands/epic/ticket.js +2 -0
  110. package/dist/commands/epic/view.d.ts +0 -1
  111. package/dist/commands/epic/view.js +2 -0
  112. package/dist/commands/execution/config.d.ts +0 -1
  113. package/dist/commands/execution/config.js +24 -0
  114. package/dist/commands/execution/index.d.ts +0 -1
  115. package/dist/commands/execution/index.js +3 -1
  116. package/dist/commands/execution/kill.d.ts +3 -0
  117. package/dist/commands/execution/kill.js +1 -0
  118. package/dist/commands/execution/list.d.ts +0 -1
  119. package/dist/commands/execution/list.js +5 -4
  120. package/dist/commands/execution/logs.d.ts +0 -1
  121. package/dist/commands/execution/logs.js +4 -1
  122. package/dist/commands/execution/stop.d.ts +0 -1
  123. package/dist/commands/execution/stop.js +3 -1
  124. package/dist/commands/execution/view.d.ts +0 -1
  125. package/dist/commands/execution/view.js +3 -1
  126. package/dist/commands/gh/index.d.ts +0 -1
  127. package/dist/commands/gh/login.d.ts +0 -1
  128. package/dist/commands/gh/status.d.ts +0 -1
  129. package/dist/commands/gh/token.d.ts +0 -1
  130. package/dist/commands/init.js +2 -0
  131. package/dist/commands/phase/create.d.ts +0 -1
  132. package/dist/commands/phase/create.js +1 -2
  133. package/dist/commands/phase/delete.d.ts +0 -1
  134. package/dist/commands/phase/delete.js +1 -1
  135. package/dist/commands/phase/list.d.ts +0 -1
  136. package/dist/commands/phase/move.d.ts +0 -1
  137. package/dist/commands/phase/move.js +10 -2
  138. package/dist/commands/phase/template/apply.d.ts +0 -1
  139. package/dist/commands/phase/template/apply.js +4 -2
  140. package/dist/commands/phase/template/create.d.ts +0 -1
  141. package/dist/commands/phase/template/create.js +6 -7
  142. package/dist/commands/phase/template/delete.d.ts +0 -1
  143. package/dist/commands/phase/template/delete.js +2 -0
  144. package/dist/commands/phase/template/index.d.ts +0 -1
  145. package/dist/commands/phase/template/index.js +2 -0
  146. package/dist/commands/phase/template/list.d.ts +0 -1
  147. package/dist/commands/phase/template/list.js +3 -1
  148. package/dist/commands/phase/template/update.d.ts +0 -1
  149. package/dist/commands/phase/update.d.ts +0 -1
  150. package/dist/commands/phase/update.js +2 -2
  151. package/dist/commands/pmo/init.js +2 -0
  152. package/dist/commands/pr/create.d.ts +0 -1
  153. package/dist/commands/pr/index.d.ts +0 -1
  154. package/dist/commands/pr/link.d.ts +0 -1
  155. package/dist/commands/pr/list.d.ts +0 -1
  156. package/dist/commands/pr/status.d.ts +0 -1
  157. package/dist/commands/project/archive.d.ts +0 -1
  158. package/dist/commands/project/create.d.ts +0 -1
  159. package/dist/commands/project/delete.d.ts +0 -1
  160. package/dist/commands/project/index.d.ts +0 -1
  161. package/dist/commands/project/list.d.ts +0 -1
  162. package/dist/commands/project/spec.d.ts +0 -1
  163. package/dist/commands/project/unarchive.d.ts +0 -1
  164. package/dist/commands/project/update.d.ts +0 -1
  165. package/dist/commands/project/view.d.ts +0 -1
  166. package/dist/commands/repo/add.d.ts +0 -1
  167. package/dist/commands/repo/add.js +2 -0
  168. package/dist/commands/repo/index.d.ts +0 -1
  169. package/dist/commands/repo/list.d.ts +0 -1
  170. package/dist/commands/repo/remove.d.ts +0 -1
  171. package/dist/commands/repo/view.d.ts +0 -1
  172. package/dist/commands/roadmap/add-project.d.ts +0 -1
  173. package/dist/commands/roadmap/add-project.js +2 -0
  174. package/dist/commands/roadmap/create.d.ts +0 -1
  175. package/dist/commands/roadmap/create.js +2 -0
  176. package/dist/commands/roadmap/delete.d.ts +0 -1
  177. package/dist/commands/roadmap/delete.js +12 -1
  178. package/dist/commands/roadmap/generate.d.ts +0 -1
  179. package/dist/commands/roadmap/generate.js +2 -0
  180. package/dist/commands/roadmap/index.d.ts +0 -1
  181. package/dist/commands/roadmap/index.js +2 -0
  182. package/dist/commands/roadmap/list.d.ts +0 -1
  183. package/dist/commands/roadmap/remove-project.d.ts +0 -1
  184. package/dist/commands/roadmap/remove-project.js +2 -0
  185. package/dist/commands/roadmap/reorder.d.ts +0 -1
  186. package/dist/commands/roadmap/reorder.js +2 -0
  187. package/dist/commands/roadmap/update.d.ts +0 -1
  188. package/dist/commands/roadmap/update.js +2 -0
  189. package/dist/commands/roadmap/view.d.ts +0 -1
  190. package/dist/commands/roadmap/view.js +2 -0
  191. package/dist/commands/session/attach.d.ts +0 -1
  192. package/dist/commands/session/attach.js +9 -0
  193. package/dist/commands/session/index.d.ts +0 -1
  194. package/dist/commands/session/index.js +2 -0
  195. package/dist/commands/session/list.d.ts +0 -1
  196. package/dist/commands/spec/create.d.ts +0 -1
  197. package/dist/commands/spec/create.js +1 -1
  198. package/dist/commands/spec/delete.d.ts +0 -1
  199. package/dist/commands/spec/edit.d.ts +0 -1
  200. package/dist/commands/spec/index.d.ts +0 -1
  201. package/dist/commands/spec/link/depends.d.ts +0 -1
  202. package/dist/commands/spec/link/duplicates.d.ts +0 -1
  203. package/dist/commands/spec/link/index.d.ts +0 -1
  204. package/dist/commands/spec/link/relates.d.ts +0 -1
  205. package/dist/commands/spec/link/remove.d.ts +0 -1
  206. package/dist/commands/spec/list.d.ts +0 -1
  207. package/dist/commands/spec/plan.d.ts +0 -1
  208. package/dist/commands/spec/ticket.d.ts +0 -3
  209. package/dist/commands/spec/ticket.js +7 -38
  210. package/dist/commands/spec/view.d.ts +0 -1
  211. package/dist/commands/status/category.d.ts +14 -0
  212. package/dist/commands/status/category.js +63 -0
  213. package/dist/commands/status/create.d.ts +0 -1
  214. package/dist/commands/status/create.js +1 -1
  215. package/dist/commands/status/delete.d.ts +0 -1
  216. package/dist/commands/status/index.d.ts +0 -1
  217. package/dist/commands/status/list.d.ts +0 -1
  218. package/dist/commands/status/list.js +5 -3
  219. package/dist/commands/status/move.d.ts +0 -1
  220. package/dist/commands/status/update.d.ts +0 -1
  221. package/dist/commands/template/delete.d.ts +0 -1
  222. package/dist/commands/template/delete.js +2 -0
  223. package/dist/commands/template/index.d.ts +0 -1
  224. package/dist/commands/template/list.d.ts +0 -1
  225. package/dist/commands/template/list.js +2 -0
  226. package/dist/commands/template/phase/apply.js +2 -0
  227. package/dist/commands/template/phase/create.d.ts +0 -1
  228. package/dist/commands/template/phase/create.js +3 -9
  229. package/dist/commands/template/phase/delete.js +2 -0
  230. package/dist/commands/template/phase/index.d.ts +0 -1
  231. package/dist/commands/template/phase/index.js +4 -4
  232. package/dist/commands/template/phase/list.js +2 -0
  233. package/dist/commands/template/phase/update.js +2 -0
  234. package/dist/commands/template/ticket/apply.js +2 -0
  235. package/dist/commands/template/ticket/create.js +2 -0
  236. package/dist/commands/template/ticket/delete.d.ts +1 -1
  237. package/dist/commands/template/ticket/delete.js +6 -2
  238. package/dist/commands/template/ticket/index.d.ts +0 -1
  239. package/dist/commands/template/ticket/list.js +2 -0
  240. package/dist/commands/template/ticket/save.d.ts +0 -1
  241. package/dist/commands/template/ticket/save.js +0 -6
  242. package/dist/commands/terminal/title.d.ts +0 -1
  243. package/dist/commands/ticket/bulk.d.ts +0 -1
  244. package/dist/commands/ticket/bulk.js +2 -0
  245. package/dist/commands/ticket/category.d.ts +14 -0
  246. package/dist/commands/ticket/category.js +63 -0
  247. package/dist/commands/ticket/complete.d.ts +0 -1
  248. package/dist/commands/ticket/complete.js +2 -0
  249. package/dist/commands/ticket/create.d.ts +0 -1
  250. package/dist/commands/ticket/create.js +7 -5
  251. package/dist/commands/ticket/delete.d.ts +0 -1
  252. package/dist/commands/ticket/delete.js +2 -0
  253. package/dist/commands/ticket/edit.d.ts +0 -1
  254. package/dist/commands/ticket/edit.js +5 -3
  255. package/dist/commands/ticket/epic.d.ts +0 -1
  256. package/dist/commands/ticket/epic.js +2 -0
  257. package/dist/commands/ticket/index.d.ts +0 -1
  258. package/dist/commands/ticket/index.js +2 -0
  259. package/dist/commands/ticket/link/block.d.ts +0 -1
  260. package/dist/commands/ticket/link/block.js +2 -0
  261. package/dist/commands/ticket/link/duplicates.d.ts +0 -1
  262. package/dist/commands/ticket/link/duplicates.js +2 -0
  263. package/dist/commands/ticket/link/index.d.ts +0 -1
  264. package/dist/commands/ticket/link/index.js +2 -0
  265. package/dist/commands/ticket/link/relates.d.ts +0 -1
  266. package/dist/commands/ticket/link/relates.js +2 -0
  267. package/dist/commands/ticket/link/remove.d.ts +0 -1
  268. package/dist/commands/ticket/link/remove.js +2 -0
  269. package/dist/commands/ticket/list.d.ts +2 -1
  270. package/dist/commands/ticket/list.js +39 -2
  271. package/dist/commands/ticket/move.d.ts +0 -1
  272. package/dist/commands/ticket/move.js +2 -0
  273. package/dist/commands/ticket/project.d.ts +0 -1
  274. package/dist/commands/ticket/project.js +2 -0
  275. package/dist/commands/ticket/reassign.d.ts +0 -1
  276. package/dist/commands/ticket/reassign.js +29 -0
  277. package/dist/commands/ticket/spec.d.ts +0 -1
  278. package/dist/commands/ticket/spec.js +2 -0
  279. package/dist/commands/ticket/status.d.ts +0 -1
  280. package/dist/commands/ticket/status.js +2 -0
  281. package/dist/commands/ticket/template/apply.d.ts +0 -1
  282. package/dist/commands/ticket/template/apply.js +2 -0
  283. package/dist/commands/ticket/template/create.d.ts +0 -1
  284. package/dist/commands/ticket/template/create.js +4 -2
  285. package/dist/commands/ticket/template/delete.d.ts +0 -1
  286. package/dist/commands/ticket/template/delete.js +2 -0
  287. package/dist/commands/ticket/template/index.d.ts +0 -1
  288. package/dist/commands/ticket/template/index.js +2 -0
  289. package/dist/commands/ticket/template/list.d.ts +0 -1
  290. package/dist/commands/ticket/template/list.js +2 -0
  291. package/dist/commands/ticket/template/save.d.ts +0 -1
  292. package/dist/commands/ticket/template/save.js +2 -0
  293. package/dist/commands/ticket/update.d.ts +0 -1
  294. package/dist/commands/ticket/update.js +4 -2
  295. package/dist/commands/ticket/view.d.ts +0 -1
  296. package/dist/commands/ticket/view.js +2 -0
  297. package/dist/commands/work/complete.d.ts +0 -1
  298. package/dist/commands/work/complete.js +2 -0
  299. package/dist/commands/work/index.d.ts +0 -1
  300. package/dist/commands/work/index.js +2 -0
  301. package/dist/commands/work/ready.d.ts +1 -2
  302. package/dist/commands/work/ready.js +11 -5
  303. package/dist/commands/work/revise.d.ts +0 -1
  304. package/dist/commands/work/revise.js +3 -1
  305. package/dist/commands/work/spawn-all.d.ts +0 -1
  306. package/dist/commands/work/spawn-all.js +2 -0
  307. package/dist/commands/work/spawn.d.ts +0 -1
  308. package/dist/commands/work/spawn.js +34 -8
  309. package/dist/commands/work/start.d.ts +0 -1
  310. package/dist/commands/work/start.js +6 -0
  311. package/dist/commands/work/watch.d.ts +0 -1
  312. package/dist/commands/work/watch.js +5 -1
  313. package/dist/commands/workflow/create.d.ts +0 -1
  314. package/dist/commands/workflow/delete.d.ts +0 -1
  315. package/dist/commands/workflow/index.d.ts +0 -1
  316. package/dist/commands/workflow/index.js +2 -0
  317. package/dist/commands/workflow/list.d.ts +0 -1
  318. package/dist/commands/workflow/switch.d.ts +0 -1
  319. package/dist/commands/workflow/view.d.ts +0 -1
  320. package/dist/commands/workspace/list.js +2 -0
  321. package/dist/commands/workspace/prune.d.ts +13 -0
  322. package/dist/commands/workspace/prune.js +186 -0
  323. package/dist/commands/workspace/remove.js +2 -0
  324. package/dist/commands/workspace/use.js +2 -0
  325. package/dist/lib/agents/commands.d.ts +7 -0
  326. package/dist/lib/agents/commands.js +11 -0
  327. package/dist/lib/execution/runners.js +1 -2
  328. package/dist/lib/pmo/base-command.d.ts +2 -4
  329. package/dist/lib/pmo/base-command.js +8 -10
  330. package/dist/lib/pmo/schema.d.ts +2 -0
  331. package/dist/lib/pmo/schema.js +17 -0
  332. package/dist/lib/pmo/storage/base.d.ts +4 -0
  333. package/dist/lib/pmo/storage/base.js +31 -0
  334. package/dist/lib/pmo/storage/categories.d.ts +50 -0
  335. package/dist/lib/pmo/storage/categories.js +205 -0
  336. package/dist/lib/pmo/storage/epics.js +20 -10
  337. package/dist/lib/pmo/storage/helpers.d.ts +10 -0
  338. package/dist/lib/pmo/storage/helpers.js +59 -1
  339. package/dist/lib/pmo/storage/index.d.ts +14 -1
  340. package/dist/lib/pmo/storage/index.js +35 -1
  341. package/dist/lib/pmo/storage/projects.js +20 -8
  342. package/dist/lib/pmo/storage/specs.js +23 -13
  343. package/dist/lib/pmo/storage/statuses.js +39 -18
  344. package/dist/lib/pmo/storage/subtasks.js +19 -8
  345. package/dist/lib/pmo/storage/tickets.d.ts +5 -0
  346. package/dist/lib/pmo/storage/tickets.js +57 -17
  347. package/dist/lib/pmo/storage/types.d.ts +10 -0
  348. package/dist/lib/pmo/types.d.ts +25 -0
  349. package/dist/lib/prompt-json.d.ts +10 -16
  350. package/dist/lib/prompt-json.js +8 -16
  351. package/oclif.manifest.json +3831 -3864
  352. package/package.json +1 -1
@@ -19,6 +19,8 @@ export default class PhaseTemplateList extends PMOCommand {
19
19
  exclusive: ['builtin'],
20
20
  }),
21
21
  json: Flags.boolean({
22
+ char: 'm',
23
+ aliases: ['machine'],
22
24
  description: 'Output as JSON',
23
25
  default: false,
24
26
  }),
@@ -62,7 +64,7 @@ export default class PhaseTemplateList extends PMOCommand {
62
64
  }
63
65
  }
64
66
  this.log('');
65
- this.log(styles.muted('Apply a template: prlt phase template apply <template-id>'));
67
+ this.log(styles.muted('Apply a template: prlt template phase apply <template-id>'));
66
68
  this.log('');
67
69
  }
68
70
  printTemplate(template) {
@@ -8,7 +8,6 @@ export default class PhaseTemplateUpdate extends PMOCommand {
8
8
  static flags: {
9
9
  name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
@@ -12,7 +12,6 @@ export default class PhaseUpdate extends PMOCommand {
12
12
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  default: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
16
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
17
  };
@@ -71,7 +71,7 @@ export default class PhaseUpdate extends PMOCommand {
71
71
  commandName: 'phase update',
72
72
  baseCommand: 'prlt phase update',
73
73
  jsonMode,
74
- flags: { machine: flags.machine, json: flags.json },
74
+ flags: { json: flags.json },
75
75
  });
76
76
  idResolver.addPrompt({
77
77
  flagName: 'phaseId',
@@ -114,7 +114,7 @@ export default class PhaseUpdate extends PMOCommand {
114
114
  commandName: 'phase update',
115
115
  baseCommand: `prlt phase update ${phaseId}`,
116
116
  jsonMode,
117
- flags: { machine: flags.machine, json: flags.json },
117
+ flags: { json: flags.json },
118
118
  });
119
119
  resolver.addPrompt({
120
120
  flagName: 'name',
@@ -33,6 +33,8 @@ export default class PMOInit extends Command {
33
33
  description: 'Board name',
34
34
  }),
35
35
  json: Flags.boolean({
36
+ char: 'm',
37
+ aliases: ['machine'],
36
38
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
37
39
  default: false,
38
40
  }),
@@ -12,7 +12,6 @@ export default class PRCreate extends PMOCommand {
12
12
  title: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  body: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  ticket: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
16
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
17
  };
@@ -4,7 +4,6 @@ export default class PR extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  action: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
9
  };
@@ -10,7 +10,6 @@ export default class PRLink extends PMOCommand {
10
10
  url: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  ticket: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  confirm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
15
  };
@@ -6,7 +6,6 @@ export default class PRList extends PMOCommand {
6
6
  state: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
7
  format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
8
  limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
@@ -7,7 +7,6 @@ export default class PRStatus extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  ticket: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -7,7 +7,6 @@ export default class ProjectArchive extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -11,7 +11,6 @@ export default class ProjectCreate extends PMOCommand {
11
11
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  template: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
13
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  };
@@ -7,7 +7,6 @@ export default class ProjectDelete extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -3,7 +3,6 @@ export default class Project extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
@@ -5,7 +5,6 @@ export default class ProjectList extends PMOCommand {
5
5
  static flags: {
6
6
  archived: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
7
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
10
  };
@@ -8,7 +8,6 @@ export default class ProjectSpec extends PMOCommand {
8
8
  static flags: {
9
9
  add: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  remove: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
@@ -6,7 +6,6 @@ export default class ProjectUnarchive extends PMOCommand {
6
6
  id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
@@ -8,7 +8,6 @@ export default class ProjectUpdate extends PMOCommand {
8
8
  static flags: {
9
9
  name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
@@ -6,7 +6,6 @@ export default class ProjectView extends PMOCommand {
6
6
  id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
@@ -9,7 +9,6 @@ export default class Add extends PMOCommand {
9
9
  action: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
10
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  protected getPMOOptions(): {
@@ -32,6 +32,8 @@ export default class Add extends PMOCommand {
32
32
  default: false,
33
33
  }),
34
34
  json: Flags.boolean({
35
+ char: 'm',
36
+ aliases: ['machine'],
35
37
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
36
38
  default: false,
37
39
  }),
@@ -3,7 +3,6 @@ export default class Repo extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
@@ -4,7 +4,6 @@ export default class List extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
9
  };
@@ -9,7 +9,6 @@ export default class Remove extends PMOCommand {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  'keep-files': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  bulk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
14
  };
@@ -6,7 +6,6 @@ export default class View extends PMOCommand {
6
6
  name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
@@ -9,7 +9,6 @@ export default class RoadmapAddProject extends PMOCommand {
9
9
  static flags: {
10
10
  position: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  protected getPMOOptions(): {
@@ -27,6 +27,8 @@ export default class RoadmapAddProject extends PMOCommand {
27
27
  description: 'Position in the roadmap (0-indexed)',
28
28
  }),
29
29
  json: Flags.boolean({
30
+ char: 'm',
31
+ aliases: ['machine'],
30
32
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
31
33
  default: false,
32
34
  }),
@@ -12,7 +12,6 @@ export default class RoadmapCreate extends PMOCommand {
12
12
  default: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  };
18
17
  protected getPMOOptions(): {
@@ -40,6 +40,8 @@ export default class RoadmapCreate extends PMOCommand {
40
40
  default: false,
41
41
  }),
42
42
  json: Flags.boolean({
43
+ char: 'm',
44
+ aliases: ['machine'],
43
45
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
44
46
  default: false,
45
47
  }),
@@ -8,7 +8,6 @@ export default class RoadmapDelete extends PMOCommand {
8
8
  static flags: {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
14
13
  protected getPMOOptions(): {
@@ -8,6 +8,7 @@ export default class RoadmapDelete extends PMOCommand {
8
8
  static examples = [
9
9
  '<%= config.bin %> <%= command.id %> my-roadmap',
10
10
  '<%= config.bin %> <%= command.id %> my-roadmap --force',
11
+ '<%= config.bin %> <%= command.id %> default-roadmap --force # Required for default',
11
12
  '<%= config.bin %> <%= command.id %> # Interactive selection',
12
13
  ];
13
14
  static args = {
@@ -20,10 +21,12 @@ export default class RoadmapDelete extends PMOCommand {
20
21
  ...pmoBaseFlags,
21
22
  force: Flags.boolean({
22
23
  char: 'f',
23
- description: 'Skip confirmation',
24
+ description: 'Skip confirmation (required for default roadmap)',
24
25
  default: false,
25
26
  }),
26
27
  json: Flags.boolean({
28
+ char: 'm',
29
+ aliases: ['machine'],
27
30
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
28
31
  default: false,
29
32
  }),
@@ -71,6 +74,14 @@ export default class RoadmapDelete extends PMOCommand {
71
74
  }
72
75
  this.error(`Roadmap not found: ${roadmapId}`);
73
76
  }
77
+ // Require --force to delete the default roadmap
78
+ if (roadmap.isDefault && !flags.force) {
79
+ if (jsonMode) {
80
+ outputErrorAsJson('DEFAULT_ROADMAP', `Cannot delete the default roadmap "${roadmap.name}" without --force. Use --force to confirm deletion.`, createMetadata('roadmap delete', flags));
81
+ return;
82
+ }
83
+ this.error(`Cannot delete the default roadmap "${roadmap.name}" without --force.\nUse: prlt roadmap delete ${roadmapId} --force`);
84
+ }
74
85
  // Get project count for context
75
86
  const projects = await this.storage.listRoadmapProjects(roadmapId);
76
87
  // Confirm deletion
@@ -9,7 +9,6 @@ export default class RoadmapGenerate extends PMOCommand {
9
9
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  protected getPMOOptions(): {
@@ -31,6 +31,8 @@ export default class RoadmapGenerate extends PMOCommand {
31
31
  description: 'Output directory (default: {pmoPath}/roadmaps)',
32
32
  }),
33
33
  json: Flags.boolean({
34
+ char: 'm',
35
+ aliases: ['machine'],
34
36
  description: 'Output prompt configuration as JSON',
35
37
  default: false,
36
38
  }),
@@ -4,7 +4,6 @@ export default class Roadmap 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>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
10
9
  protected getPMOOptions(): {
@@ -9,6 +9,8 @@ export default class Roadmap extends PMOCommand {
9
9
  static flags = {
10
10
  ...pmoBaseFlags,
11
11
  json: Flags.boolean({
12
+ char: 'm',
13
+ aliases: ['machine'],
12
14
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
13
15
  default: false,
14
16
  }),
@@ -3,7 +3,6 @@ export default class RoadmapList extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
@@ -9,7 +9,6 @@ export default class RoadmapRemoveProject extends PMOCommand {
9
9
  static flags: {
10
10
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  protected getPMOOptions(): {
@@ -28,6 +28,8 @@ export default class RoadmapRemoveProject extends PMOCommand {
28
28
  default: false,
29
29
  }),
30
30
  json: Flags.boolean({
31
+ char: 'm',
32
+ aliases: ['machine'],
31
33
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
32
34
  default: false,
33
35
  }),
@@ -9,7 +9,6 @@ export default class RoadmapReorder extends PMOCommand {
9
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  position: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  };
14
13
  protected getPMOOptions(): {
15
14
  promptIfMultiple: boolean;
@@ -26,6 +26,8 @@ export default class RoadmapReorder extends PMOCommand {
26
26
  description: 'New position (0-indexed)',
27
27
  }),
28
28
  json: Flags.boolean({
29
+ char: 'm',
30
+ aliases: ['machine'],
29
31
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
30
32
  default: false,
31
33
  }),
@@ -10,7 +10,6 @@ export default class RoadmapUpdate extends PMOCommand {
10
10
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  default: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
14
  };
16
15
  protected getPMOOptions(): {
@@ -31,6 +31,8 @@ export default class RoadmapUpdate extends PMOCommand {
31
31
  allowNo: true,
32
32
  }),
33
33
  json: Flags.boolean({
34
+ char: 'm',
35
+ aliases: ['machine'],
34
36
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
35
37
  default: false,
36
38
  }),
@@ -7,7 +7,6 @@ export default class RoadmapView 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>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
13
12
  protected getPMOOptions(): {
@@ -18,6 +18,8 @@ export default class RoadmapView extends PMOCommand {
18
18
  static flags = {
19
19
  ...pmoBaseFlags,
20
20
  json: Flags.boolean({
21
+ char: 'm',
22
+ aliases: ['machine'],
21
23
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
22
24
  default: false,
23
25
  }),
@@ -10,7 +10,6 @@ export default class SessionAttach extends PMOCommand {
10
10
  'new-tab': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  'current-terminal': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
12
  terminal: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
14
  };
16
15
  protected getPMOOptions(): {
@@ -25,6 +25,8 @@ export default class SessionAttach extends PMOCommand {
25
25
  static flags = {
26
26
  ...pmoBaseFlags,
27
27
  json: Flags.boolean({
28
+ char: 'm',
29
+ aliases: ['machine'],
28
30
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
29
31
  default: false,
30
32
  }),
@@ -49,6 +51,13 @@ export default class SessionAttach extends PMOCommand {
49
51
  }
50
52
  async execute() {
51
53
  const { args, flags } = await this.parse(SessionAttach);
54
+ // Check for mutually exclusive flags
55
+ const rawArgs = process.argv;
56
+ const hasCurrentTerminal = rawArgs.includes('--current-terminal') || rawArgs.includes('-c');
57
+ const hasNewTab = rawArgs.includes('--new-tab') || rawArgs.includes('-n');
58
+ if (hasCurrentTerminal && hasNewTab) {
59
+ this.error('--current-terminal and --new-tab are mutually exclusive');
60
+ }
52
61
  // Check if JSON output mode is active
53
62
  const jsonMode = shouldOutputJson(flags);
54
63
  // Get all available sessions (DB-driven)
@@ -4,7 +4,6 @@ export default class Session 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>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
10
9
  protected getPMOOptions(): {
@@ -11,6 +11,8 @@ export default class Session extends PMOCommand {
11
11
  static flags = {
12
12
  ...pmoBaseFlags,
13
13
  json: Flags.boolean({
14
+ char: 'm',
15
+ aliases: ['machine'],
14
16
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
15
17
  default: false,
16
18
  }),
@@ -4,7 +4,6 @@ export default class SessionList extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
9
  };
@@ -11,7 +11,6 @@ export default class SpecCreate extends PMOCommand {
11
11
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  problem: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  };
@@ -78,7 +78,7 @@ export default class SpecCreate extends PMOCommand {
78
78
  flagName: 'title',
79
79
  type: 'input',
80
80
  message: 'Spec title:',
81
- validate: (value) => value.length > 0 || 'Title is required',
81
+ validate: (value) => value.trim() ? true : 'Title cannot be empty',
82
82
  when: (ctx) => !ctx.flags.title,
83
83
  });
84
84
  resolver.addPrompt({
@@ -7,7 +7,6 @@ export default class SpecDelete extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -14,7 +14,6 @@ export default class SpecEdit extends PMOCommand {
14
14
  solution: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
15
  decisions: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
16
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
17
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
18
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
19
  };
@@ -3,7 +3,6 @@ export default class Spec extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
@@ -7,7 +7,6 @@ export default class SpecLinkDepends extends PMOCommand {
7
7
  target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
8
  };
9
9
  static flags: {
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -7,7 +7,6 @@ export default class SpecLinkDuplicates extends PMOCommand {
7
7
  original: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
8
  };
9
9
  static flags: {
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
@@ -10,7 +10,6 @@ export default class SpecLink extends PMOCommand {
10
10
  relates: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  duplicates: 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>;
14
13
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
15
  };