@proletariat/cli 0.3.21 → 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 (333) 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 +2 -0
  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 +0 -1
  22. package/dist/commands/agent/remove.js +2 -0
  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 +2 -0
  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 +2 -0
  33. package/dist/commands/agent/status.d.ts +0 -1
  34. package/dist/commands/agent/status.js +2 -0
  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/index.d.ts +0 -1
  40. package/dist/commands/agent/themes/index.js +3 -7
  41. package/dist/commands/agent/themes/set.d.ts +0 -1
  42. package/dist/commands/agent/themes/set.js +3 -7
  43. package/dist/commands/agent/visit.d.ts +0 -1
  44. package/dist/commands/agent/visit.js +2 -0
  45. package/dist/commands/autocomplete/setup.d.ts +0 -1
  46. package/dist/commands/board/index.d.ts +0 -1
  47. package/dist/commands/board/view.d.ts +0 -1
  48. package/dist/commands/board/watch.d.ts +0 -1
  49. package/dist/commands/branch/create.d.ts +0 -1
  50. package/dist/commands/branch/create.js +2 -0
  51. package/dist/commands/branch/index.d.ts +0 -1
  52. package/dist/commands/branch/index.js +2 -0
  53. package/dist/commands/branch/list.d.ts +0 -1
  54. package/dist/commands/branch/validate.d.ts +0 -1
  55. package/dist/commands/branch/where.d.ts +0 -1
  56. package/dist/commands/branch/where.js +2 -0
  57. package/dist/commands/category/create.d.ts +18 -0
  58. package/dist/commands/category/create.js +108 -0
  59. package/dist/commands/category/delete.d.ts +17 -0
  60. package/dist/commands/category/delete.js +103 -0
  61. package/dist/commands/category/index.d.ts +15 -0
  62. package/dist/commands/category/index.js +87 -0
  63. package/dist/commands/category/list.d.ts +17 -0
  64. package/dist/commands/category/list.js +85 -0
  65. package/dist/commands/category/rename.d.ts +18 -0
  66. package/dist/commands/category/rename.js +127 -0
  67. package/dist/commands/claude.js +2 -0
  68. package/dist/commands/commit.js +2 -0
  69. package/dist/commands/config/index.js +2 -0
  70. package/dist/commands/docker/clean.d.ts +0 -1
  71. package/dist/commands/docker/index.d.ts +0 -1
  72. package/dist/commands/docker/prune.d.ts +0 -1
  73. package/dist/commands/docker/restart.d.ts +0 -1
  74. package/dist/commands/docker/stop.d.ts +0 -1
  75. package/dist/commands/epic/activate.d.ts +0 -1
  76. package/dist/commands/epic/activate.js +2 -0
  77. package/dist/commands/epic/archive.d.ts +0 -1
  78. package/dist/commands/epic/archive.js +2 -0
  79. package/dist/commands/epic/create.d.ts +0 -1
  80. package/dist/commands/epic/create.js +3 -1
  81. package/dist/commands/epic/delete.d.ts +14 -0
  82. package/dist/commands/epic/delete.js +129 -0
  83. package/dist/commands/epic/index.d.ts +0 -1
  84. package/dist/commands/epic/index.js +6 -0
  85. package/dist/commands/epic/link/block.d.ts +0 -1
  86. package/dist/commands/epic/link/block.js +2 -0
  87. package/dist/commands/epic/link/duplicates.d.ts +0 -1
  88. package/dist/commands/epic/link/duplicates.js +2 -0
  89. package/dist/commands/epic/link/index.d.ts +0 -1
  90. package/dist/commands/epic/link/index.js +2 -0
  91. package/dist/commands/epic/link/relates.d.ts +0 -1
  92. package/dist/commands/epic/link/relates.js +2 -0
  93. package/dist/commands/epic/link/remove.d.ts +0 -1
  94. package/dist/commands/epic/link/remove.js +2 -0
  95. package/dist/commands/epic/list.d.ts +0 -1
  96. package/dist/commands/epic/move.d.ts +0 -1
  97. package/dist/commands/epic/move.js +2 -0
  98. package/dist/commands/epic/progress.d.ts +0 -1
  99. package/dist/commands/epic/progress.js +2 -0
  100. package/dist/commands/epic/project.d.ts +0 -1
  101. package/dist/commands/epic/project.js +2 -0
  102. package/dist/commands/epic/reorder.d.ts +0 -1
  103. package/dist/commands/epic/reorder.js +2 -0
  104. package/dist/commands/epic/spec.d.ts +0 -1
  105. package/dist/commands/epic/spec.js +2 -0
  106. package/dist/commands/epic/ticket.d.ts +0 -1
  107. package/dist/commands/epic/ticket.js +2 -0
  108. package/dist/commands/epic/view.d.ts +0 -1
  109. package/dist/commands/epic/view.js +2 -0
  110. package/dist/commands/execution/config.d.ts +0 -1
  111. package/dist/commands/execution/config.js +2 -0
  112. package/dist/commands/execution/index.d.ts +0 -1
  113. package/dist/commands/execution/index.js +3 -1
  114. package/dist/commands/execution/list.d.ts +0 -1
  115. package/dist/commands/execution/logs.d.ts +0 -1
  116. package/dist/commands/execution/logs.js +3 -1
  117. package/dist/commands/execution/stop.d.ts +0 -1
  118. package/dist/commands/execution/stop.js +3 -1
  119. package/dist/commands/execution/view.d.ts +0 -1
  120. package/dist/commands/execution/view.js +3 -1
  121. package/dist/commands/gh/index.d.ts +0 -1
  122. package/dist/commands/gh/login.d.ts +0 -1
  123. package/dist/commands/gh/status.d.ts +0 -1
  124. package/dist/commands/gh/token.d.ts +0 -1
  125. package/dist/commands/init.js +2 -0
  126. package/dist/commands/phase/create.d.ts +0 -1
  127. package/dist/commands/phase/create.js +1 -2
  128. package/dist/commands/phase/delete.d.ts +0 -1
  129. package/dist/commands/phase/delete.js +1 -1
  130. package/dist/commands/phase/list.d.ts +0 -1
  131. package/dist/commands/phase/move.d.ts +0 -1
  132. package/dist/commands/phase/move.js +2 -2
  133. package/dist/commands/phase/template/apply.d.ts +0 -1
  134. package/dist/commands/phase/template/apply.js +2 -0
  135. package/dist/commands/phase/template/create.d.ts +0 -1
  136. package/dist/commands/phase/template/create.js +0 -1
  137. package/dist/commands/phase/template/delete.d.ts +0 -1
  138. package/dist/commands/phase/template/delete.js +2 -0
  139. package/dist/commands/phase/template/index.d.ts +0 -1
  140. package/dist/commands/phase/template/index.js +2 -0
  141. package/dist/commands/phase/template/list.d.ts +0 -1
  142. package/dist/commands/phase/template/list.js +2 -0
  143. package/dist/commands/phase/template/update.d.ts +0 -1
  144. package/dist/commands/phase/update.d.ts +0 -1
  145. package/dist/commands/phase/update.js +2 -2
  146. package/dist/commands/pmo/init.js +2 -0
  147. package/dist/commands/pr/create.d.ts +0 -1
  148. package/dist/commands/pr/index.d.ts +0 -1
  149. package/dist/commands/pr/link.d.ts +0 -1
  150. package/dist/commands/pr/list.d.ts +0 -1
  151. package/dist/commands/pr/status.d.ts +0 -1
  152. package/dist/commands/project/archive.d.ts +0 -1
  153. package/dist/commands/project/create.d.ts +0 -1
  154. package/dist/commands/project/delete.d.ts +0 -1
  155. package/dist/commands/project/index.d.ts +0 -1
  156. package/dist/commands/project/list.d.ts +0 -1
  157. package/dist/commands/project/spec.d.ts +0 -1
  158. package/dist/commands/project/unarchive.d.ts +0 -1
  159. package/dist/commands/project/update.d.ts +0 -1
  160. package/dist/commands/project/view.d.ts +0 -1
  161. package/dist/commands/repo/add.d.ts +0 -1
  162. package/dist/commands/repo/add.js +2 -0
  163. package/dist/commands/repo/index.d.ts +0 -1
  164. package/dist/commands/repo/list.d.ts +0 -1
  165. package/dist/commands/repo/remove.d.ts +0 -1
  166. package/dist/commands/repo/view.d.ts +0 -1
  167. package/dist/commands/roadmap/add-project.d.ts +0 -1
  168. package/dist/commands/roadmap/add-project.js +2 -0
  169. package/dist/commands/roadmap/create.d.ts +0 -1
  170. package/dist/commands/roadmap/create.js +2 -0
  171. package/dist/commands/roadmap/delete.d.ts +0 -1
  172. package/dist/commands/roadmap/delete.js +12 -1
  173. package/dist/commands/roadmap/generate.d.ts +0 -1
  174. package/dist/commands/roadmap/generate.js +2 -0
  175. package/dist/commands/roadmap/index.d.ts +0 -1
  176. package/dist/commands/roadmap/index.js +2 -0
  177. package/dist/commands/roadmap/list.d.ts +0 -1
  178. package/dist/commands/roadmap/remove-project.d.ts +0 -1
  179. package/dist/commands/roadmap/remove-project.js +2 -0
  180. package/dist/commands/roadmap/reorder.d.ts +0 -1
  181. package/dist/commands/roadmap/reorder.js +2 -0
  182. package/dist/commands/roadmap/update.d.ts +0 -1
  183. package/dist/commands/roadmap/update.js +2 -0
  184. package/dist/commands/roadmap/view.d.ts +0 -1
  185. package/dist/commands/roadmap/view.js +2 -0
  186. package/dist/commands/session/attach.d.ts +0 -1
  187. package/dist/commands/session/attach.js +9 -0
  188. package/dist/commands/session/index.d.ts +0 -1
  189. package/dist/commands/session/index.js +2 -0
  190. package/dist/commands/session/list.d.ts +0 -1
  191. package/dist/commands/spec/create.d.ts +0 -1
  192. package/dist/commands/spec/create.js +1 -1
  193. package/dist/commands/spec/delete.d.ts +0 -1
  194. package/dist/commands/spec/edit.d.ts +0 -1
  195. package/dist/commands/spec/index.d.ts +0 -1
  196. package/dist/commands/spec/link/depends.d.ts +0 -1
  197. package/dist/commands/spec/link/duplicates.d.ts +0 -1
  198. package/dist/commands/spec/link/index.d.ts +0 -1
  199. package/dist/commands/spec/link/relates.d.ts +0 -1
  200. package/dist/commands/spec/link/remove.d.ts +0 -1
  201. package/dist/commands/spec/list.d.ts +0 -1
  202. package/dist/commands/spec/plan.d.ts +0 -1
  203. package/dist/commands/spec/ticket.d.ts +0 -3
  204. package/dist/commands/spec/ticket.js +7 -38
  205. package/dist/commands/spec/view.d.ts +0 -1
  206. package/dist/commands/status/category.d.ts +14 -0
  207. package/dist/commands/status/category.js +63 -0
  208. package/dist/commands/status/create.d.ts +0 -1
  209. package/dist/commands/status/create.js +1 -1
  210. package/dist/commands/status/delete.d.ts +0 -1
  211. package/dist/commands/status/index.d.ts +0 -1
  212. package/dist/commands/status/list.d.ts +0 -1
  213. package/dist/commands/status/move.d.ts +0 -1
  214. package/dist/commands/status/update.d.ts +0 -1
  215. package/dist/commands/template/delete.d.ts +0 -1
  216. package/dist/commands/template/delete.js +2 -0
  217. package/dist/commands/template/index.d.ts +0 -1
  218. package/dist/commands/template/list.d.ts +0 -1
  219. package/dist/commands/template/list.js +2 -0
  220. package/dist/commands/template/phase/apply.js +2 -0
  221. package/dist/commands/template/phase/create.d.ts +0 -1
  222. package/dist/commands/template/phase/create.js +3 -9
  223. package/dist/commands/template/phase/delete.js +2 -0
  224. package/dist/commands/template/phase/index.d.ts +0 -1
  225. package/dist/commands/template/phase/list.js +2 -0
  226. package/dist/commands/template/phase/update.js +2 -0
  227. package/dist/commands/template/ticket/apply.js +2 -0
  228. package/dist/commands/template/ticket/create.js +2 -0
  229. package/dist/commands/template/ticket/delete.js +2 -0
  230. package/dist/commands/template/ticket/index.d.ts +0 -1
  231. package/dist/commands/template/ticket/list.js +2 -0
  232. package/dist/commands/template/ticket/save.d.ts +0 -1
  233. package/dist/commands/template/ticket/save.js +0 -6
  234. package/dist/commands/terminal/title.d.ts +0 -1
  235. package/dist/commands/ticket/bulk.d.ts +0 -1
  236. package/dist/commands/ticket/bulk.js +2 -0
  237. package/dist/commands/ticket/category.d.ts +14 -0
  238. package/dist/commands/ticket/category.js +63 -0
  239. package/dist/commands/ticket/complete.d.ts +0 -1
  240. package/dist/commands/ticket/complete.js +2 -0
  241. package/dist/commands/ticket/create.d.ts +0 -1
  242. package/dist/commands/ticket/create.js +6 -4
  243. package/dist/commands/ticket/delete.d.ts +0 -1
  244. package/dist/commands/ticket/delete.js +2 -0
  245. package/dist/commands/ticket/edit.d.ts +0 -1
  246. package/dist/commands/ticket/edit.js +4 -2
  247. package/dist/commands/ticket/epic.d.ts +0 -1
  248. package/dist/commands/ticket/epic.js +2 -0
  249. package/dist/commands/ticket/index.d.ts +0 -1
  250. package/dist/commands/ticket/index.js +2 -0
  251. package/dist/commands/ticket/link/block.d.ts +0 -1
  252. package/dist/commands/ticket/link/block.js +2 -0
  253. package/dist/commands/ticket/link/duplicates.d.ts +0 -1
  254. package/dist/commands/ticket/link/duplicates.js +2 -0
  255. package/dist/commands/ticket/link/index.d.ts +0 -1
  256. package/dist/commands/ticket/link/index.js +2 -0
  257. package/dist/commands/ticket/link/relates.d.ts +0 -1
  258. package/dist/commands/ticket/link/relates.js +2 -0
  259. package/dist/commands/ticket/link/remove.d.ts +0 -1
  260. package/dist/commands/ticket/link/remove.js +2 -0
  261. package/dist/commands/ticket/list.d.ts +0 -1
  262. package/dist/commands/ticket/move.d.ts +0 -1
  263. package/dist/commands/ticket/move.js +2 -0
  264. package/dist/commands/ticket/project.d.ts +0 -1
  265. package/dist/commands/ticket/project.js +2 -0
  266. package/dist/commands/ticket/reassign.d.ts +0 -1
  267. package/dist/commands/ticket/reassign.js +29 -0
  268. package/dist/commands/ticket/spec.d.ts +0 -1
  269. package/dist/commands/ticket/spec.js +2 -0
  270. package/dist/commands/ticket/status.d.ts +0 -1
  271. package/dist/commands/ticket/status.js +2 -0
  272. package/dist/commands/ticket/template/apply.d.ts +0 -1
  273. package/dist/commands/ticket/template/apply.js +2 -0
  274. package/dist/commands/ticket/template/create.d.ts +0 -1
  275. package/dist/commands/ticket/template/create.js +4 -2
  276. package/dist/commands/ticket/template/delete.d.ts +0 -1
  277. package/dist/commands/ticket/template/delete.js +2 -0
  278. package/dist/commands/ticket/template/index.d.ts +0 -1
  279. package/dist/commands/ticket/template/index.js +2 -0
  280. package/dist/commands/ticket/template/list.d.ts +0 -1
  281. package/dist/commands/ticket/template/list.js +2 -0
  282. package/dist/commands/ticket/template/save.d.ts +0 -1
  283. package/dist/commands/ticket/template/save.js +2 -0
  284. package/dist/commands/ticket/update.d.ts +0 -1
  285. package/dist/commands/ticket/update.js +2 -0
  286. package/dist/commands/ticket/view.d.ts +0 -1
  287. package/dist/commands/ticket/view.js +2 -0
  288. package/dist/commands/work/complete.d.ts +0 -1
  289. package/dist/commands/work/complete.js +2 -0
  290. package/dist/commands/work/index.d.ts +0 -1
  291. package/dist/commands/work/index.js +2 -0
  292. package/dist/commands/work/ready.d.ts +1 -2
  293. package/dist/commands/work/ready.js +11 -5
  294. package/dist/commands/work/revise.d.ts +0 -1
  295. package/dist/commands/work/revise.js +3 -1
  296. package/dist/commands/work/spawn-all.d.ts +0 -1
  297. package/dist/commands/work/spawn-all.js +2 -0
  298. package/dist/commands/work/spawn.d.ts +0 -1
  299. package/dist/commands/work/spawn.js +2 -0
  300. package/dist/commands/work/start.d.ts +0 -1
  301. package/dist/commands/work/start.js +6 -0
  302. package/dist/commands/work/watch.d.ts +0 -1
  303. package/dist/commands/work/watch.js +3 -1
  304. package/dist/commands/workflow/create.d.ts +0 -1
  305. package/dist/commands/workflow/delete.d.ts +0 -1
  306. package/dist/commands/workflow/index.d.ts +0 -1
  307. package/dist/commands/workflow/index.js +2 -0
  308. package/dist/commands/workflow/list.d.ts +0 -1
  309. package/dist/commands/workflow/switch.d.ts +0 -1
  310. package/dist/commands/workflow/view.d.ts +0 -1
  311. package/dist/commands/workspace/list.js +2 -0
  312. package/dist/commands/workspace/prune.d.ts +13 -0
  313. package/dist/commands/workspace/prune.js +186 -0
  314. package/dist/commands/workspace/remove.js +2 -0
  315. package/dist/commands/workspace/use.js +2 -0
  316. package/dist/lib/pmo/base-command.d.ts +2 -4
  317. package/dist/lib/pmo/base-command.js +8 -10
  318. package/dist/lib/pmo/schema.d.ts +2 -0
  319. package/dist/lib/pmo/schema.js +17 -0
  320. package/dist/lib/pmo/storage/base.d.ts +4 -0
  321. package/dist/lib/pmo/storage/base.js +31 -0
  322. package/dist/lib/pmo/storage/categories.d.ts +50 -0
  323. package/dist/lib/pmo/storage/categories.js +205 -0
  324. package/dist/lib/pmo/storage/index.d.ts +14 -1
  325. package/dist/lib/pmo/storage/index.js +35 -1
  326. package/dist/lib/pmo/storage/tickets.d.ts +5 -0
  327. package/dist/lib/pmo/storage/tickets.js +31 -3
  328. package/dist/lib/pmo/storage/types.d.ts +10 -0
  329. package/dist/lib/pmo/types.d.ts +25 -0
  330. package/dist/lib/prompt-json.d.ts +10 -16
  331. package/dist/lib/prompt-json.js +8 -16
  332. package/oclif.manifest.json +4283 -4345
  333. package/package.json +1 -1
@@ -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
  };
@@ -7,7 +7,6 @@ export default class SpecLinkRelates 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
  };
@@ -9,7 +9,6 @@ export default class SpecLinkRemove extends PMOCommand {
9
9
  static flags: {
10
10
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  all: 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 SpecList extends PMOCommand {
6
6
  status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  search: import("@oclif/core/interfaces").OptionFlag<string | undefined, 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
  };
@@ -8,7 +8,6 @@ export default class SpecPlan extends PMOCommand {
8
8
  static flags: {
9
9
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
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
  };
@@ -9,11 +9,8 @@ export default class SpecTicket extends PMOCommand {
9
9
  static flags: {
10
10
  ticket: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
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
  };
16
15
  execute(): Promise<void>;
17
- private listAvailableSpecs;
18
- private findSpecFile;
19
16
  }
@@ -1,6 +1,4 @@
1
1
  import { Flags, Args } from '@oclif/core';
2
- import * as fs from 'node:fs';
3
- import * as path from 'node:path';
4
2
  import { PMOCommand, pmoBaseFlags, autoExportToBoard } from '../../lib/pmo/index.js';
5
3
  import { styles } from '../../lib/styles.js';
6
4
  import { shouldOutputJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
@@ -91,7 +89,8 @@ export default class SpecTicket extends PMOCommand {
91
89
  // Get spec ID
92
90
  let specId = args.specId || flags.spec;
93
91
  if (!specId) {
94
- const specs = await this.listAvailableSpecs(this.pmoPath, projectId);
92
+ // List all specs globally (specs are not project-scoped)
93
+ const specs = await this.storage.listSpecs();
95
94
  if (specs.length === 0) {
96
95
  return handleError('NO_SPECS', 'No specs found. Create one first with: prlt spec create');
97
96
  }
@@ -108,7 +107,7 @@ export default class SpecTicket extends PMOCommand {
108
107
  type: 'list',
109
108
  message: 'Select spec to link:',
110
109
  choices: () => specs.map(s => ({
111
- name: `${s.name} (${s.status})`,
110
+ name: `${s.title} (${s.status})`,
112
111
  value: s.id,
113
112
  })),
114
113
  });
@@ -118,11 +117,10 @@ export default class SpecTicket extends PMOCommand {
118
117
  if (!specId) {
119
118
  this.error('No spec selected');
120
119
  }
121
- // Verify spec exists
122
- const specPath = this.findSpecFile(this.pmoPath, projectId, specId);
123
- if (!specPath) {
124
- const projectName = await this.getProjectName(projectId);
125
- this.error(`Spec "${specId}" not found in project "${projectName}"`);
120
+ // Verify spec exists globally (specs are not project-scoped)
121
+ const spec = await this.storage.getSpec(specId);
122
+ if (!spec) {
123
+ return handleError('SPEC_NOT_FOUND', `Spec "${specId}" not found`);
126
124
  }
127
125
  // Check if already linked
128
126
  if (ticket.specId === specId) {
@@ -142,33 +140,4 @@ export default class SpecTicket extends PMOCommand {
142
140
  this.log(styles.muted(`\nView ticket:`));
143
141
  this.log(styles.muted(` prlt ticket view ${ticketId}`));
144
142
  }
145
- async listAvailableSpecs(pmoPath, projectId) {
146
- const specsBasePath = path.join(pmoPath, 'projects', projectId, 'specs');
147
- const specs = [];
148
- if (!fs.existsSync(specsBasePath)) {
149
- return specs;
150
- }
151
- for (const status of ['active', 'draft', 'archived']) {
152
- const statusPath = path.join(specsBasePath, status);
153
- if (!fs.existsSync(statusPath)) {
154
- continue;
155
- }
156
- const files = fs.readdirSync(statusPath).filter(f => f.endsWith('.md'));
157
- for (const file of files) {
158
- const id = path.basename(file, '.md');
159
- specs.push({ id, name: id, status });
160
- }
161
- }
162
- return specs;
163
- }
164
- findSpecFile(pmoPath, projectId, specId) {
165
- const specsBasePath = path.join(pmoPath, 'projects', projectId, 'specs');
166
- for (const status of ['active', 'draft', 'archived']) {
167
- const specPath = path.join(specsBasePath, status, `${specId}.md`);
168
- if (fs.existsSync(specPath)) {
169
- return specPath;
170
- }
171
- }
172
- return null;
173
- }
174
143
  }
@@ -8,7 +8,6 @@ export default class SpecView extends PMOCommand {
8
8
  static flags: {
9
9
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  full: import("@oclif/core/interfaces").BooleanFlag<boolean>;
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
  };
@@ -0,0 +1,14 @@
1
+ import { PMOCommand } from '../../lib/pmo/index.js';
2
+ export default class StatusCategory extends PMOCommand {
3
+ static description: string;
4
+ static aliases: string[];
5
+ static examples: string[];
6
+ static flags: {
7
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ };
10
+ protected getPMOOptions(): {
11
+ promptIfMultiple: boolean;
12
+ };
13
+ execute(): Promise<void>;
14
+ }
@@ -0,0 +1,63 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
3
+ import { shouldOutputJson } from '../../lib/prompt-json.js';
4
+ export default class StatusCategory extends PMOCommand {
5
+ static description = 'Manage status categories (backlog, started, completed, etc.)';
6
+ static aliases = ['status:categories'];
7
+ static examples = [
8
+ '<%= config.bin %> <%= command.id %>',
9
+ '<%= config.bin %> <%= command.id %> list',
10
+ '<%= config.bin %> <%= command.id %> create reviewing',
11
+ '<%= config.bin %> <%= command.id %> rename reviewing in-review',
12
+ '<%= config.bin %> <%= command.id %> delete reviewing',
13
+ ];
14
+ static flags = {
15
+ ...pmoBaseFlags,
16
+ json: Flags.boolean({
17
+ description: 'Output prompt configuration as JSON (for AI agents/scripts)',
18
+ default: false,
19
+ }),
20
+ };
21
+ getPMOOptions() {
22
+ return { promptIfMultiple: false };
23
+ }
24
+ async execute() {
25
+ const { flags } = await this.parse(StatusCategory);
26
+ // Check if JSON output mode is active
27
+ const jsonMode = shouldOutputJson(flags);
28
+ // Show the action menu for status categories
29
+ const menuChoices = [
30
+ { id: 'list', name: 'List all status categories', command: 'prlt category list --type status' },
31
+ { id: 'create', name: 'Create new status category', command: 'prlt category create --type status --json' },
32
+ { id: 'rename', name: 'Rename status category', command: 'prlt category rename --type status --json' },
33
+ { id: 'delete', name: 'Delete status category', command: 'prlt category delete --type status --json' },
34
+ { id: 'cancel', name: 'Cancel', command: '' },
35
+ ];
36
+ const action = await this.selectFromList({
37
+ message: '📊 Status Categories - What would you like to do?',
38
+ items: menuChoices,
39
+ getName: (c) => c.name,
40
+ getValue: (c) => c.id,
41
+ getCommand: (c) => c.command,
42
+ jsonMode: jsonMode ? { flags, commandName: 'status category' } : null,
43
+ });
44
+ if (action === 'cancel' || !action) {
45
+ return;
46
+ }
47
+ // Run the selected subcommand
48
+ switch (action) {
49
+ case 'list':
50
+ await this.config.runCommand('category:list', ['--type', 'status']);
51
+ break;
52
+ case 'create':
53
+ await this.config.runCommand('category:create', ['--type', 'status']);
54
+ break;
55
+ case 'rename':
56
+ await this.config.runCommand('category:rename', ['--type', 'status']);
57
+ break;
58
+ case 'delete':
59
+ await this.config.runCommand('category:delete', ['--type', 'status']);
60
+ break;
61
+ }
62
+ }
63
+ }
@@ -12,7 +12,6 @@ export default class StatusCreate 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
  };
@@ -72,7 +72,7 @@ export default class StatusCreate extends PMOCommand {
72
72
  type: 'input',
73
73
  message: 'Status name:',
74
74
  default: initialName,
75
- validate: (value) => value.length > 0 || 'Name is required',
75
+ validate: (value) => value.trim() ? true : 'Name cannot be empty',
76
76
  when: (ctx) => !ctx.flags.name || flags.interactive,
77
77
  });
78
78
  // Add category prompt
@@ -7,7 +7,6 @@ export default class StatusDelete 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
  };
13
12
  execute(): Promise<void>;
@@ -4,7 +4,6 @@ export default class Status extends PMOCommand {
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
6
  static flags: {
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
  };
@@ -4,7 +4,6 @@ export default class StatusList extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  category: 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
  };
@@ -7,7 +7,6 @@ export default class StatusMove extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  position: import("@oclif/core/interfaces").OptionFlag<number | 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
  };
@@ -12,7 +12,6 @@ export default class StatusUpdate 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
  };
@@ -6,7 +6,6 @@ export default class TemplateDelete extends PMOCommand {
6
6
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
10
  };
12
11
  protected getPMOOptions(): {
@@ -24,6 +24,8 @@ export default class TemplateDelete extends PMOCommand {
24
24
  default: false,
25
25
  }),
26
26
  json: Flags.boolean({
27
+ char: 'm',
28
+ aliases: ['machine'],
27
29
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
28
30
  default: false,
29
31
  }),
@@ -4,7 +4,6 @@ export default class Template extends Command {
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
6
  static flags: {
7
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  };
10
9
  run(): Promise<void>;
@@ -7,7 +7,6 @@ export default class TemplateList extends PMOCommand {
7
7
  builtin: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  custom: import("@oclif/core/interfaces").BooleanFlag<boolean>;
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(): {
@@ -26,6 +26,8 @@ export default class TemplateList extends PMOCommand {
26
26
  exclusive: ['builtin'],
27
27
  }),
28
28
  json: Flags.boolean({
29
+ char: 'm',
30
+ aliases: ['machine'],
29
31
  description: 'Output as JSON',
30
32
  default: false,
31
33
  }),
@@ -23,6 +23,8 @@ export default class TemplatePhaseApply extends Command {
23
23
  default: false,
24
24
  }),
25
25
  json: Flags.boolean({
26
+ char: 'm',
27
+ aliases: ['machine'],
26
28
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
27
29
  default: false,
28
30
  }),
@@ -7,7 +7,6 @@ export default class TemplatePhaseCreate extends Command {
7
7
  };
8
8
  static flags: {
9
9
  description: 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
  };
13
12
  run(): Promise<void>;
@@ -17,15 +17,11 @@ export default class TemplatePhaseCreate extends Command {
17
17
  char: 'd',
18
18
  description: 'Template description',
19
19
  }),
20
- machine: Flags.boolean({
21
- char: 'm',
22
- description: 'Output as JSON for AI agents/scripts (machine-readable mode)',
23
- default: false,
24
- }),
25
20
  json: Flags.boolean({
26
- description: 'Output as JSON (deprecated, use --machine)',
21
+ char: 'm',
22
+ aliases: ['machine'],
23
+ description: 'Output as JSON for AI agents/scripts',
27
24
  default: false,
28
- hidden: true,
29
25
  }),
30
26
  };
31
27
  async run() {
@@ -35,8 +31,6 @@ export default class TemplatePhaseCreate extends Command {
35
31
  cmdArgs.push(args.name);
36
32
  if (flags.description)
37
33
  cmdArgs.push('--description', flags.description);
38
- if (flags.machine)
39
- cmdArgs.push('--machine');
40
34
  if (flags.json)
41
35
  cmdArgs.push('--json');
42
36
  await this.config.runCommand('phase:template:create', cmdArgs);