@proletariat/cli 0.3.93 → 0.3.94

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 (374) hide show
  1. package/dist/commands/action/create.d.ts +1 -1
  2. package/dist/commands/action/delete.d.ts +1 -1
  3. package/dist/commands/action/index.d.ts +1 -1
  4. package/dist/commands/action/list.d.ts +1 -1
  5. package/dist/commands/action/run.d.ts +1 -1
  6. package/dist/commands/action/show.d.ts +1 -1
  7. package/dist/commands/action/update.d.ts +1 -1
  8. package/dist/commands/agent/cleanup.d.ts +1 -1
  9. package/dist/commands/agent/gc.d.ts +1 -1
  10. package/dist/commands/agent/index.d.ts +1 -1
  11. package/dist/commands/agent/list.d.ts +1 -1
  12. package/dist/commands/agent/login.d.ts +1 -1
  13. package/dist/commands/agent/rebuild.d.ts +1 -1
  14. package/dist/commands/agent/remove.d.ts +1 -1
  15. package/dist/commands/agent/restart.d.ts +1 -1
  16. package/dist/commands/agent/shell.d.ts +1 -1
  17. package/dist/commands/agent/staff/index.d.ts +1 -1
  18. package/dist/commands/agent/staff/remove.d.ts +1 -1
  19. package/dist/commands/agent/status.d.ts +1 -1
  20. package/dist/commands/agent/visit.d.ts +1 -1
  21. package/dist/commands/asana/import.d.ts +1 -1
  22. package/dist/commands/branch/create.d.ts +1 -1
  23. package/dist/commands/branch/index.d.ts +1 -1
  24. package/dist/commands/branch/list.d.ts +1 -1
  25. package/dist/commands/branch/validate.d.ts +1 -1
  26. package/dist/commands/branch/where.d.ts +1 -1
  27. package/dist/commands/config/index.js +2 -2
  28. package/dist/commands/config/index.js.map +1 -1
  29. package/dist/commands/diet.d.ts +1 -1
  30. package/dist/commands/docker/index.js +2 -0
  31. package/dist/commands/docker/index.js.map +1 -1
  32. package/dist/commands/docker/rebuild-cache.d.ts +12 -0
  33. package/dist/commands/docker/rebuild-cache.js +144 -0
  34. package/dist/commands/docker/rebuild-cache.js.map +1 -0
  35. package/dist/commands/execution/config.d.ts +1 -1
  36. package/dist/commands/execution/index.d.ts +1 -1
  37. package/dist/commands/execution/list.d.ts +1 -1
  38. package/dist/commands/execution/logs.d.ts +1 -1
  39. package/dist/commands/execution/stop.d.ts +1 -1
  40. package/dist/commands/execution/view.d.ts +1 -1
  41. package/dist/commands/hook/export.d.ts +1 -1
  42. package/dist/commands/hook/fire.d.ts +1 -1
  43. package/dist/commands/hook/index.d.ts +1 -1
  44. package/dist/commands/hook/list.d.ts +1 -1
  45. package/dist/commands/hook/preset.d.ts +1 -1
  46. package/dist/commands/linear/auth.d.ts +1 -1
  47. package/dist/commands/linear/connect.d.ts +1 -1
  48. package/dist/commands/linear/import.d.ts +1 -1
  49. package/dist/commands/linear/status.d.ts +1 -1
  50. package/dist/commands/linear/sync.d.ts +1 -1
  51. package/dist/commands/mcp-server.d.ts +8 -2
  52. package/dist/commands/mcp-server.js +15 -28
  53. package/dist/commands/mcp-server.js.map +1 -1
  54. package/dist/commands/monday/connect.d.ts +1 -1
  55. package/dist/commands/monday/sync.d.ts +1 -1
  56. package/dist/commands/orchestrate/index.d.ts +1 -1
  57. package/dist/commands/orchestrator/index.d.ts +1 -1
  58. package/dist/commands/orchestrator/start.d.ts +3 -3
  59. package/dist/commands/orchestrator/start.js +38 -40
  60. package/dist/commands/orchestrator/start.js.map +1 -1
  61. package/dist/commands/pr/checks.d.ts +1 -1
  62. package/dist/commands/pr/close.d.ts +1 -1
  63. package/dist/commands/pr/create.d.ts +1 -1
  64. package/dist/commands/pr/index.d.ts +1 -1
  65. package/dist/commands/pr/link.d.ts +1 -1
  66. package/dist/commands/pr/list.d.ts +1 -1
  67. package/dist/commands/pr/merge.d.ts +1 -1
  68. package/dist/commands/pr/status.d.ts +1 -1
  69. package/dist/commands/pull.d.ts +1 -1
  70. package/dist/commands/repo/add.d.ts +1 -1
  71. package/dist/commands/repo/create.d.ts +1 -1
  72. package/dist/commands/repo/fix-remotes.d.ts +1 -1
  73. package/dist/commands/repo/index.d.ts +1 -1
  74. package/dist/commands/repo/list.d.ts +1 -1
  75. package/dist/commands/repo/remove.d.ts +1 -1
  76. package/dist/commands/repo/view.d.ts +1 -1
  77. package/dist/commands/session/attach.d.ts +1 -1
  78. package/dist/commands/session/cleanup.d.ts +1 -1
  79. package/dist/commands/session/create.d.ts +1 -1
  80. package/dist/commands/session/exec.d.ts +1 -1
  81. package/dist/commands/session/health.d.ts +1 -1
  82. package/dist/commands/session/index.d.ts +1 -1
  83. package/dist/commands/session/inspect.d.ts +1 -1
  84. package/dist/commands/session/list.d.ts +1 -1
  85. package/dist/commands/session/peek.d.ts +1 -1
  86. package/dist/commands/session/prune.d.ts +1 -1
  87. package/dist/commands/session/report.d.ts +1 -1
  88. package/dist/commands/session/restart.d.ts +1 -1
  89. package/dist/commands/shortcut/connect.d.ts +1 -1
  90. package/dist/commands/support/logs.d.ts +1 -1
  91. package/dist/commands/ticket/create.d.ts +1 -1
  92. package/dist/commands/ticket/delete.d.ts +1 -1
  93. package/dist/commands/ticket/edit.d.ts +1 -1
  94. package/dist/commands/ticket/index.d.ts +1 -1
  95. package/dist/commands/ticket/index.js +6 -36
  96. package/dist/commands/ticket/index.js.map +1 -1
  97. package/dist/commands/ticket/list.d.ts +1 -1
  98. package/dist/commands/ticket/move.d.ts +1 -1
  99. package/dist/commands/ticket/show.d.ts +8 -7
  100. package/dist/commands/ticket/show.js +101 -8
  101. package/dist/commands/ticket/show.js.map +1 -1
  102. package/dist/commands/ticket/update.d.ts +1 -1
  103. package/dist/commands/trello/configure.d.ts +1 -1
  104. package/dist/commands/trello/import.d.ts +1 -1
  105. package/dist/commands/trello/sync.d.ts +1 -1
  106. package/dist/commands/work/asana.d.ts +1 -1
  107. package/dist/commands/work/complete.d.ts +1 -1
  108. package/dist/commands/work/groom.d.ts +1 -1
  109. package/dist/commands/work/hooks/add.d.ts +1 -1
  110. package/dist/commands/work/hooks/index.d.ts +1 -1
  111. package/dist/commands/work/hooks/list.d.ts +1 -1
  112. package/dist/commands/work/hooks/remove.d.ts +1 -1
  113. package/dist/commands/work/hooks/toggle.d.ts +1 -1
  114. package/dist/commands/work/implement.d.ts +1 -1
  115. package/dist/commands/work/index.d.ts +1 -1
  116. package/dist/commands/work/jira.d.ts +1 -1
  117. package/dist/commands/work/linear.d.ts +1 -1
  118. package/dist/commands/work/peek.d.ts +1 -1
  119. package/dist/commands/work/ready.d.ts +1 -1
  120. package/dist/commands/work/rebase.d.ts +1 -1
  121. package/dist/commands/work/resolve.d.ts +1 -1
  122. package/dist/commands/work/review.d.ts +1 -1
  123. package/dist/commands/work/ship.d.ts +1 -1
  124. package/dist/commands/work/shortcut.d.ts +1 -1
  125. package/dist/commands/work/source/set.d.ts +1 -1
  126. package/dist/commands/work/source.d.ts +1 -1
  127. package/dist/commands/work/spawn.d.ts +1 -1
  128. package/dist/commands/work/start.d.ts +1 -1
  129. package/dist/commands/work/status.d.ts +1 -1
  130. package/dist/commands/work/stop.d.ts +1 -1
  131. package/dist/commands/work/watch.d.ts +1 -1
  132. package/dist/hooks/init.js +1 -1
  133. package/dist/hooks/init.js.map +1 -1
  134. package/dist/lib/asana/config.js +13 -7
  135. package/dist/lib/asana/config.js.map +1 -1
  136. package/dist/lib/clickup/client.d.ts +92 -0
  137. package/dist/lib/clickup/client.js +150 -0
  138. package/dist/lib/clickup/client.js.map +1 -0
  139. package/dist/lib/clickup/config.d.ts +41 -0
  140. package/dist/lib/clickup/config.js +104 -0
  141. package/dist/lib/clickup/config.js.map +1 -0
  142. package/dist/lib/clickup/index.d.ts +4 -0
  143. package/dist/lib/clickup/index.js +4 -0
  144. package/dist/lib/clickup/index.js.map +1 -0
  145. package/dist/lib/clickup/types.d.ts +104 -0
  146. package/dist/lib/clickup/types.js +34 -0
  147. package/dist/lib/clickup/types.js.map +1 -0
  148. package/dist/lib/database/credential-store.d.ts +64 -0
  149. package/dist/lib/database/credential-store.js +306 -0
  150. package/dist/lib/database/credential-store.js.map +1 -0
  151. package/dist/lib/database/index.d.ts +1 -0
  152. package/dist/lib/database/index.js +2 -0
  153. package/dist/lib/database/index.js.map +1 -1
  154. package/dist/lib/database/pmo-bootstrap.d.ts +7 -0
  155. package/dist/lib/database/pmo-bootstrap.js +45 -20
  156. package/dist/lib/database/pmo-bootstrap.js.map +1 -1
  157. package/dist/lib/database/workspace.js +4 -0
  158. package/dist/lib/database/workspace.js.map +1 -1
  159. package/dist/lib/execution/devcontainer.js +51 -0
  160. package/dist/lib/execution/devcontainer.js.map +1 -1
  161. package/dist/lib/execution/runners/docker-management.d.ts +23 -0
  162. package/dist/lib/execution/runners/docker-management.js +99 -7
  163. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  164. package/dist/lib/execution/session-utils.d.ts +4 -0
  165. package/dist/lib/execution/session-utils.js +34 -24
  166. package/dist/lib/execution/session-utils.js.map +1 -1
  167. package/dist/lib/execution/types.js +1 -1
  168. package/dist/lib/external-issues/types.d.ts +3 -3
  169. package/dist/lib/external-issues/types.js +1 -1
  170. package/dist/lib/external-issues/types.js.map +1 -1
  171. package/dist/lib/jira/config.js +10 -4
  172. package/dist/lib/jira/config.js.map +1 -1
  173. package/dist/lib/linear/config.js +13 -8
  174. package/dist/lib/linear/config.js.map +1 -1
  175. package/dist/lib/mcp/generator.d.ts +26 -0
  176. package/dist/lib/mcp/generator.js +219 -0
  177. package/dist/lib/mcp/generator.js.map +1 -0
  178. package/dist/lib/mcp/index.d.ts +1 -0
  179. package/dist/lib/mcp/index.js +1 -0
  180. package/dist/lib/mcp/index.js.map +1 -1
  181. package/dist/lib/mcp/tools/index.d.ts +0 -11
  182. package/dist/lib/mcp/tools/index.js +0 -11
  183. package/dist/lib/mcp/tools/index.js.map +1 -1
  184. package/dist/lib/mcp/tools/overrides/index.d.ts +23 -0
  185. package/dist/lib/mcp/tools/overrides/index.js +30 -0
  186. package/dist/lib/mcp/tools/overrides/index.js.map +1 -0
  187. package/dist/lib/mcp/tools/overrides/tmux.d.ts +11 -0
  188. package/dist/lib/mcp/tools/overrides/tmux.js +184 -0
  189. package/dist/lib/mcp/tools/overrides/tmux.js.map +1 -0
  190. package/dist/lib/mcp/tools/overrides/work-start.d.ts +12 -0
  191. package/dist/lib/mcp/tools/overrides/work-start.js +108 -0
  192. package/dist/lib/mcp/tools/overrides/work-start.js.map +1 -0
  193. package/dist/lib/mcp/tools/ticket.js +10 -48
  194. package/dist/lib/mcp/tools/ticket.js.map +1 -1
  195. package/dist/lib/monday/config.js +11 -5
  196. package/dist/lib/monday/config.js.map +1 -1
  197. package/dist/lib/pmo/base-command.d.ts +20 -152
  198. package/dist/lib/pmo/base-command.js +32 -198
  199. package/dist/lib/pmo/base-command.js.map +1 -1
  200. package/dist/lib/pmo/index.d.ts +1 -0
  201. package/dist/lib/pmo/index.js +3 -0
  202. package/dist/lib/pmo/index.js.map +1 -1
  203. package/dist/lib/pmo/storage/base.d.ts +0 -18
  204. package/dist/lib/pmo/storage/base.js +0 -231
  205. package/dist/lib/pmo/storage/base.js.map +1 -1
  206. package/dist/lib/pmo/storage/index.d.ts +1 -76
  207. package/dist/lib/pmo/storage/index.js +1 -215
  208. package/dist/lib/pmo/storage/index.js.map +1 -1
  209. package/dist/lib/pmo/storage/tickets.d.ts +2 -2
  210. package/dist/lib/pmo/storage/tickets.js +4 -34
  211. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  212. package/dist/lib/pmo/types.d.ts +0 -37
  213. package/dist/lib/providers/clickup-provider.d.ts +28 -0
  214. package/dist/lib/providers/clickup-provider.js +353 -0
  215. package/dist/lib/providers/clickup-provider.js.map +1 -0
  216. package/dist/lib/providers/resolver.d.ts +1 -1
  217. package/dist/lib/providers/resolver.js +16 -5
  218. package/dist/lib/providers/resolver.js.map +1 -1
  219. package/dist/lib/providers/types.d.ts +1 -1
  220. package/dist/lib/runners/claude-code-runner.js +13 -4
  221. package/dist/lib/runners/claude-code-runner.js.map +1 -1
  222. package/dist/lib/runtime-command.d.ts +219 -0
  223. package/dist/lib/runtime-command.js +320 -0
  224. package/dist/lib/runtime-command.js.map +1 -0
  225. package/dist/lib/shortcut/config.js +13 -7
  226. package/dist/lib/shortcut/config.js.map +1 -1
  227. package/dist/lib/trello/config.js +17 -12
  228. package/dist/lib/trello/config.js.map +1 -1
  229. package/dist/lib/work-lifecycle/events.d.ts +1 -1
  230. package/dist/lib/work-source/config.d.ts +1 -1
  231. package/dist/lib/work-source/config.js +11 -1
  232. package/dist/lib/work-source/config.js.map +1 -1
  233. package/dist/lib/work-source/provider-sources.js +6 -1
  234. package/dist/lib/work-source/provider-sources.js.map +1 -1
  235. package/oclif.manifest.json +3015 -4827
  236. package/package.json +1 -1
  237. package/dist/commands/board/index.d.ts +0 -21
  238. package/dist/commands/board/index.js +0 -263
  239. package/dist/commands/board/index.js.map +0 -1
  240. package/dist/commands/board/view.d.ts +0 -15
  241. package/dist/commands/board/view.js +0 -137
  242. package/dist/commands/board/view.js.map +0 -1
  243. package/dist/commands/board/watch.d.ts +0 -15
  244. package/dist/commands/board/watch.js +0 -59
  245. package/dist/commands/board/watch.js.map +0 -1
  246. package/dist/commands/dashboard/index.d.ts +0 -14
  247. package/dist/commands/dashboard/index.js +0 -117
  248. package/dist/commands/dashboard/index.js.map +0 -1
  249. package/dist/commands/dashboard.d.ts +0 -38
  250. package/dist/commands/dashboard.js +0 -353
  251. package/dist/commands/dashboard.js.map +0 -1
  252. package/dist/commands/pmo/init.d.ts +0 -28
  253. package/dist/commands/pmo/init.js +0 -410
  254. package/dist/commands/pmo/init.js.map +0 -1
  255. package/dist/commands/project/archive.d.ts +0 -18
  256. package/dist/commands/project/archive.js +0 -79
  257. package/dist/commands/project/archive.js.map +0 -1
  258. package/dist/commands/project/create.d.ts +0 -24
  259. package/dist/commands/project/create.js +0 -191
  260. package/dist/commands/project/create.js.map +0 -1
  261. package/dist/commands/project/delete.d.ts +0 -18
  262. package/dist/commands/project/delete.js +0 -115
  263. package/dist/commands/project/delete.js.map +0 -1
  264. package/dist/commands/project/index.d.ts +0 -14
  265. package/dist/commands/project/index.js +0 -60
  266. package/dist/commands/project/index.js.map +0 -1
  267. package/dist/commands/project/list.d.ts +0 -16
  268. package/dist/commands/project/list.js +0 -115
  269. package/dist/commands/project/list.js.map +0 -1
  270. package/dist/commands/project/spec.d.ts +0 -19
  271. package/dist/commands/project/spec.js +0 -218
  272. package/dist/commands/project/spec.js.map +0 -1
  273. package/dist/commands/project/unarchive.d.ts +0 -17
  274. package/dist/commands/project/unarchive.js +0 -55
  275. package/dist/commands/project/unarchive.js.map +0 -1
  276. package/dist/commands/project/update.d.ts +0 -19
  277. package/dist/commands/project/update.js +0 -161
  278. package/dist/commands/project/update.js.map +0 -1
  279. package/dist/commands/project/view.d.ts +0 -17
  280. package/dist/commands/project/view.js +0 -107
  281. package/dist/commands/project/view.js.map +0 -1
  282. package/dist/commands/ticket/bulk.d.ts +0 -14
  283. package/dist/commands/ticket/bulk.js +0 -141
  284. package/dist/commands/ticket/bulk.js.map +0 -1
  285. package/dist/commands/ticket/cancel.d.ts +0 -17
  286. package/dist/commands/ticket/cancel.js +0 -206
  287. package/dist/commands/ticket/cancel.js.map +0 -1
  288. package/dist/commands/ticket/category.d.ts +0 -15
  289. package/dist/commands/ticket/category.js +0 -64
  290. package/dist/commands/ticket/category.js.map +0 -1
  291. package/dist/commands/ticket/complete.d.ts +0 -17
  292. package/dist/commands/ticket/complete.js +0 -193
  293. package/dist/commands/ticket/complete.js.map +0 -1
  294. package/dist/commands/ticket/epic.d.ts +0 -21
  295. package/dist/commands/ticket/epic.js +0 -306
  296. package/dist/commands/ticket/epic.js.map +0 -1
  297. package/dist/commands/ticket/link/block.d.ts +0 -15
  298. package/dist/commands/ticket/link/block.js +0 -96
  299. package/dist/commands/ticket/link/block.js.map +0 -1
  300. package/dist/commands/ticket/link/duplicates.d.ts +0 -15
  301. package/dist/commands/ticket/link/duplicates.js +0 -96
  302. package/dist/commands/ticket/link/duplicates.js.map +0 -1
  303. package/dist/commands/ticket/link/index.d.ts +0 -14
  304. package/dist/commands/ticket/link/index.js +0 -99
  305. package/dist/commands/ticket/link/index.js.map +0 -1
  306. package/dist/commands/ticket/link/relates.d.ts +0 -15
  307. package/dist/commands/ticket/link/relates.js +0 -96
  308. package/dist/commands/ticket/link/relates.js.map +0 -1
  309. package/dist/commands/ticket/project.d.ts +0 -19
  310. package/dist/commands/ticket/project.js +0 -257
  311. package/dist/commands/ticket/project.js.map +0 -1
  312. package/dist/commands/ticket/reassign.d.ts +0 -20
  313. package/dist/commands/ticket/reassign.js +0 -340
  314. package/dist/commands/ticket/reassign.js.map +0 -1
  315. package/dist/commands/ticket/resolve.d.ts +0 -68
  316. package/dist/commands/ticket/resolve.js +0 -306
  317. package/dist/commands/ticket/resolve.js.map +0 -1
  318. package/dist/commands/ticket/spec.d.ts +0 -19
  319. package/dist/commands/ticket/spec.js +0 -260
  320. package/dist/commands/ticket/spec.js.map +0 -1
  321. package/dist/commands/ticket/status.d.ts +0 -14
  322. package/dist/commands/ticket/status.js +0 -84
  323. package/dist/commands/ticket/status.js.map +0 -1
  324. package/dist/commands/ticket/view.d.ts +0 -14
  325. package/dist/commands/ticket/view.js +0 -113
  326. package/dist/commands/ticket/view.js.map +0 -1
  327. package/dist/lib/mcp/tools/board.d.ts +0 -6
  328. package/dist/lib/mcp/tools/board.js +0 -190
  329. package/dist/lib/mcp/tools/board.js.map +0 -1
  330. package/dist/lib/mcp/tools/category.d.ts +0 -6
  331. package/dist/lib/mcp/tools/category.js +0 -85
  332. package/dist/lib/mcp/tools/category.js.map +0 -1
  333. package/dist/lib/mcp/tools/epic.d.ts +0 -6
  334. package/dist/lib/mcp/tools/epic.js +0 -184
  335. package/dist/lib/mcp/tools/epic.js.map +0 -1
  336. package/dist/lib/mcp/tools/label.d.ts +0 -6
  337. package/dist/lib/mcp/tools/label.js +0 -339
  338. package/dist/lib/mcp/tools/label.js.map +0 -1
  339. package/dist/lib/mcp/tools/phase.d.ts +0 -6
  340. package/dist/lib/mcp/tools/phase.js +0 -132
  341. package/dist/lib/mcp/tools/phase.js.map +0 -1
  342. package/dist/lib/mcp/tools/project.d.ts +0 -6
  343. package/dist/lib/mcp/tools/project.js +0 -197
  344. package/dist/lib/mcp/tools/project.js.map +0 -1
  345. package/dist/lib/mcp/tools/roadmap.d.ts +0 -6
  346. package/dist/lib/mcp/tools/roadmap.js +0 -124
  347. package/dist/lib/mcp/tools/roadmap.js.map +0 -1
  348. package/dist/lib/mcp/tools/status.d.ts +0 -6
  349. package/dist/lib/mcp/tools/status.js +0 -110
  350. package/dist/lib/mcp/tools/status.js.map +0 -1
  351. package/dist/lib/mcp/tools/template.d.ts +0 -6
  352. package/dist/lib/mcp/tools/template.js +0 -108
  353. package/dist/lib/mcp/tools/template.js.map +0 -1
  354. package/dist/lib/mcp/tools/view.d.ts +0 -6
  355. package/dist/lib/mcp/tools/view.js +0 -77
  356. package/dist/lib/mcp/tools/view.js.map +0 -1
  357. package/dist/lib/mcp/tools/workflow.d.ts +0 -6
  358. package/dist/lib/mcp/tools/workflow.js +0 -96
  359. package/dist/lib/mcp/tools/workflow.js.map +0 -1
  360. package/dist/lib/pmo/storage/categories.d.ts +0 -50
  361. package/dist/lib/pmo/storage/categories.js +0 -206
  362. package/dist/lib/pmo/storage/categories.js.map +0 -1
  363. package/dist/lib/pmo/storage/labels.d.ts +0 -55
  364. package/dist/lib/pmo/storage/labels.js +0 -347
  365. package/dist/lib/pmo/storage/labels.js.map +0 -1
  366. package/dist/lib/pmo/storage/phases.d.ts +0 -65
  367. package/dist/lib/pmo/storage/phases.js +0 -393
  368. package/dist/lib/pmo/storage/phases.js.map +0 -1
  369. package/dist/lib/pmo/storage/roadmaps.d.ts +0 -64
  370. package/dist/lib/pmo/storage/roadmaps.js +0 -373
  371. package/dist/lib/pmo/storage/roadmaps.js.map +0 -1
  372. package/dist/lib/pmo/storage/views.d.ts +0 -57
  373. package/dist/lib/pmo/storage/views.js +0 -456
  374. package/dist/lib/pmo/storage/views.js.map +0 -1
@@ -1,410 +0,0 @@
1
- import { Flags } from '@oclif/core';
2
- import * as fs from 'node:fs';
3
- import * as path from 'node:path';
4
- import { execSync } from 'node:child_process';
5
- import chalk from 'chalk';
6
- import { PromptCommand } from '../../lib/prompt-command.js';
7
- import { checkPMOExists, getPMOSetting, dropPMOTables } from '../../lib/database/index.js';
8
- import { SQLiteStorage, getColumnsForTemplate, createPMO, promptForPMOLocation, promptForBoardTemplate, promptForBoardName, promptForCustomColumns, determinePMOPath, getPickerTemplates, machineOutputFlags, } from '../../lib/pmo/index.js';
9
- import { styles } from '../../lib/styles.js';
10
- import { isGHInstalled, isGHAuthenticated, getGHUsername, isGHTokenInEnv } from '../../lib/pr/index.js';
11
- import { shouldOutputJson, outputPromptAsJson, createMetadata, buildPromptConfig, } from '../../lib/prompt-json.js';
12
- // Build template options dynamically from shared definitions (picker templates + custom)
13
- const PICKER_TEMPLATE_IDS = [...getPickerTemplates().map(t => t.id), 'custom'];
14
- export default class PMOInit extends PromptCommand {
15
- static description = 'Initialize PMO (Project Management Org) in current directory or HQ';
16
- static examples = [
17
- '<%= config.bin %> <%= command.id %>',
18
- '<%= config.bin %> <%= command.id %> --location repo:proletariat --template 5-tool',
19
- '<%= config.bin %> <%= command.id %> --location separate --template linear',
20
- ];
21
- static flags = {
22
- location: Flags.string({
23
- char: 'l',
24
- description: 'PMO location (separate or repo:name)',
25
- }),
26
- template: Flags.string({
27
- char: 't',
28
- description: 'Board template',
29
- options: PICKER_TEMPLATE_IDS,
30
- }),
31
- name: Flags.string({
32
- char: 'n',
33
- description: 'Board name',
34
- }),
35
- ...machineOutputFlags,
36
- action: Flags.string({
37
- description: 'Action for existing PMO (cancel or reinitialize)',
38
- options: ['cancel', 'reinitialize'],
39
- hidden: true,
40
- }),
41
- confirmation: Flags.string({
42
- description: 'Confirmation text for destructive operations',
43
- hidden: true,
44
- }),
45
- };
46
- async run() {
47
- const { flags } = await this.parse(PMOInit);
48
- // Check if JSON output mode is active
49
- const jsonMode = shouldOutputJson(flags);
50
- // Check if PMO already exists
51
- const hqRoot = this.findHQRoot();
52
- let existingPMO = false;
53
- let projectCount = 0;
54
- let ticketCount = 0;
55
- if (hqRoot) {
56
- const dbPath = path.join(hqRoot, '.proletariat', 'workspace.db');
57
- if (fs.existsSync(dbPath)) {
58
- try {
59
- const pmoStatus = checkPMOExists(dbPath);
60
- existingPMO = pmoStatus.exists;
61
- projectCount = pmoStatus.projectCount;
62
- ticketCount = pmoStatus.ticketCount;
63
- }
64
- catch (error) {
65
- // Log error for debugging
66
- console.error('PMO check error:', error);
67
- // Ignore errors - database might not be initialized yet
68
- }
69
- }
70
- }
71
- // If PMO exists, prompt for reinitialize
72
- if (existingPMO) {
73
- const shouldReinitialize = await this.promptReinitialize(hqRoot, projectCount, ticketCount, jsonMode, flags);
74
- if (shouldReinitialize === null) {
75
- // JSON mode returned early
76
- return;
77
- }
78
- if (!shouldReinitialize) {
79
- this.log(chalk.yellow('\nCancelled. Existing PMO preserved.'));
80
- return;
81
- }
82
- // Delete existing PMO
83
- await this.deletePMO(hqRoot);
84
- }
85
- this.log(chalk.blue('🎯 Initializing PMO...\n'));
86
- this.log(chalk.gray(' Creates board.md and specs/ for project planning'));
87
- this.log(chalk.gray(' (Data stored in SQLite, synced to markdown files)\n'));
88
- // Get PMO location using shared prompt (or from flag)
89
- let location;
90
- if (flags.location) {
91
- location = flags.location;
92
- }
93
- else if (jsonMode) {
94
- location = 'separate';
95
- }
96
- else {
97
- location = await promptForPMOLocation(hqRoot);
98
- }
99
- // Get board template using shared prompt (or from flag)
100
- // If DB exists, query it for templates (source of truth)
101
- let template;
102
- if (flags.template) {
103
- template = flags.template;
104
- }
105
- else if (jsonMode) {
106
- template = 'kanban';
107
- }
108
- else {
109
- let storage;
110
- if (hqRoot) {
111
- const dbPath = path.join(hqRoot, '.proletariat', 'workspace.db');
112
- if (fs.existsSync(dbPath)) {
113
- try {
114
- storage = new SQLiteStorage(dbPath);
115
- }
116
- catch {
117
- // Ignore - will fall back to builtin templates
118
- }
119
- }
120
- }
121
- template = await promptForBoardTemplate(storage);
122
- if (storage) {
123
- await storage.close();
124
- }
125
- }
126
- // Get columns for template
127
- let columns = getColumnsForTemplate(template);
128
- if (template === 'custom' && !jsonMode) {
129
- columns = await promptForCustomColumns();
130
- }
131
- else if (template === 'custom' && jsonMode) {
132
- // Custom column prompts not supported in JSON mode — use default columns
133
- this.log(JSON.stringify({ warning: 'Custom columns not supported in JSON mode, using default columns. Use a named template (e.g. --template kanban) for predictable results.' }));
134
- }
135
- // Get board name using shared prompt (or from flag)
136
- // Default to {hqname}-kanban pattern
137
- const hqName = hqRoot ? path.basename(hqRoot).replace(/-hq$/, '') : undefined;
138
- const defaultBoardName = hqName ? `${hqName}-kanban` : 'Project Board';
139
- let boardName;
140
- if (flags.name) {
141
- boardName = flags.name;
142
- }
143
- else if (jsonMode) {
144
- boardName = defaultBoardName;
145
- }
146
- else {
147
- boardName = await promptForBoardName(defaultBoardName);
148
- }
149
- // For standalone PMO (no HQ), we need to create mini-HQ structure first
150
- const isStandalone = !hqRoot;
151
- let effectiveHqPath;
152
- if (isStandalone) {
153
- // Create mini-HQ structure
154
- effectiveHqPath = path.join(process.cwd(), '.pmo');
155
- await this.createStandaloneHQ(effectiveHqPath);
156
- }
157
- else {
158
- effectiveHqPath = hqRoot;
159
- }
160
- // Use shared createPMO function
161
- await createPMO({
162
- hqPath: effectiveHqPath,
163
- location,
164
- boardTemplate: template,
165
- boardName,
166
- columns,
167
- storageType: 'sqlite',
168
- });
169
- // Initialize git for separate PMO (recommended for syncing across machines)
170
- if (location === 'separate' && !isStandalone) {
171
- const pmoPath = determinePMOPath(effectiveHqPath, location);
172
- await this.initGitForPMO(pmoPath);
173
- }
174
- this.log(chalk.green('\n✅ PMO initialized successfully!'));
175
- // Check GitHub CLI setup for PR workflow
176
- this.checkGitHubCLI();
177
- this.logNextSteps();
178
- }
179
- /**
180
- * Create standalone mini-HQ structure for PMO outside of an HQ
181
- */
182
- async createStandaloneHQ(hqPath) {
183
- const proletariatPath = path.join(hqPath, '.proletariat');
184
- fs.mkdirSync(proletariatPath, { recursive: true });
185
- // Create minimal config
186
- const config = {
187
- type: 'hq',
188
- name: 'PMO',
189
- created: new Date().toISOString(),
190
- version: '2.0.0',
191
- };
192
- fs.writeFileSync(path.join(proletariatPath, 'config.json'), JSON.stringify(config, null, 2));
193
- // Create workspace.db using SQLiteStorage (which creates tables)
194
- const dbPath = path.join(proletariatPath, 'workspace.db');
195
- const storage = new SQLiteStorage(dbPath);
196
- await storage.close();
197
- this.log(chalk.green(' ✓ Standalone PMO structure created'));
198
- }
199
- findHQRoot() {
200
- // Support PRLT_HQ_PATH override (for devcontainers and tests)
201
- const hqPathEnv = process.env.PRLT_HQ_PATH;
202
- const allowEnvHqPath = process.env.DEVCONTAINER === 'true' || process.env.PRLT_TEST_ENV === 'true';
203
- if (hqPathEnv && allowEnvHqPath) {
204
- const configPath = path.join(hqPathEnv, '.proletariat', 'config.json');
205
- if (fs.existsSync(configPath)) {
206
- try {
207
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
208
- if (config.type === 'hq') {
209
- return hqPathEnv;
210
- }
211
- }
212
- catch {
213
- // Fall through to directory walk
214
- }
215
- }
216
- }
217
- let currentDir = process.cwd();
218
- while (currentDir !== '/') {
219
- const configPath = path.join(currentDir, '.proletariat', 'config.json');
220
- if (fs.existsSync(configPath)) {
221
- try {
222
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
223
- if (config.type === 'hq') {
224
- return currentDir;
225
- }
226
- }
227
- catch {
228
- // Ignore parse errors
229
- }
230
- }
231
- currentDir = path.dirname(currentDir);
232
- }
233
- return null;
234
- }
235
- async promptReinitialize(hqRoot, projectCount, ticketCount, jsonMode = false, flags = {}) {
236
- // Find PMO location from database
237
- const dbPath = path.join(hqRoot, '.proletariat', 'workspace.db');
238
- let pmoPath = path.join(hqRoot, 'pmo'); // Default fallback
239
- const savedPmoPath = getPMOSetting(dbPath, 'pmo_path');
240
- if (savedPmoPath) {
241
- pmoPath = savedPmoPath;
242
- }
243
- // Define choices once, use for both JSON and interactive modes
244
- const actionChoices = [
245
- {
246
- name: 'Cancel (keep existing PMO)',
247
- value: 'cancel',
248
- command: 'prlt pmo init --action cancel --json',
249
- },
250
- {
251
- name: 'Reinitialize (DELETES all data)',
252
- value: 'reinitialize',
253
- command: 'prlt pmo init --action reinitialize --json',
254
- },
255
- ];
256
- const message = `PMO already exists at ${pmoPath} (${projectCount} projects, ${ticketCount} tickets). What would you like to do?`;
257
- // Determine action: from flag, JSON mode, or interactive prompt
258
- let action;
259
- if (flags.action) {
260
- action = flags.action;
261
- }
262
- else if (jsonMode) {
263
- outputPromptAsJson(buildPromptConfig('list', 'action', message, actionChoices), createMetadata('pmo init', flags));
264
- return null;
265
- }
266
- else {
267
- this.log(chalk.yellow('\n⚠️ PMO already exists'));
268
- this.log(chalk.gray(` Location: ${pmoPath}`));
269
- this.log(chalk.gray(` Projects: ${projectCount}`));
270
- this.log(chalk.gray(` Tickets: ${ticketCount}\n`));
271
- const result = await this.prompt([{
272
- type: 'list',
273
- name: 'action',
274
- message: 'What would you like to do?',
275
- choices: actionChoices,
276
- default: 'cancel',
277
- }], null);
278
- action = result.action;
279
- }
280
- if (action === 'cancel') {
281
- return false;
282
- }
283
- // Determine confirmation: from flag, JSON mode, or interactive prompt
284
- let confirmation;
285
- if (flags.confirmation) {
286
- confirmation = flags.confirmation;
287
- }
288
- else if (jsonMode) {
289
- outputPromptAsJson({
290
- type: 'input',
291
- name: 'confirmation',
292
- message: 'Type "delete pmo" to confirm:',
293
- context: {
294
- hint: 'Pass --confirmation "delete pmo" to confirm reinitialize',
295
- example: 'prlt pmo init --action reinitialize --confirmation "delete pmo" --location separate --template kanban --name "my-board" --json',
296
- },
297
- }, createMetadata('pmo init', flags));
298
- return null;
299
- }
300
- else {
301
- // Show warning and require typed confirmation
302
- this.log(chalk.red('\n⚠️ WARNING: This will permanently delete:'));
303
- this.log(chalk.red(' • All tickets and boards'));
304
- this.log(chalk.red(' • All specs and documentation'));
305
- this.log(chalk.red(' • Database tables (pmo_*)\n'));
306
- const result = await this.prompt([{
307
- type: 'input',
308
- name: 'confirmation',
309
- message: 'Type "delete pmo" to confirm:',
310
- }], null);
311
- confirmation = result.confirmation;
312
- }
313
- if (confirmation !== 'delete pmo') {
314
- this.log(chalk.yellow('\nCancelled. Confirmation text did not match.'));
315
- return false;
316
- }
317
- return true;
318
- }
319
- async deletePMO(hqRoot) {
320
- this.log(chalk.blue('\n🗑️ Deleting existing PMO...\n'));
321
- // Delete database tables and get PMO path before dropping settings
322
- const dbPath = path.join(hqRoot, '.proletariat', 'workspace.db');
323
- let pmoPath = path.join(hqRoot, 'pmo'); // Default fallback
324
- if (fs.existsSync(dbPath)) {
325
- // Get PMO path from database before deleting
326
- const savedPmoPath = getPMOSetting(dbPath, 'pmo_path');
327
- if (savedPmoPath) {
328
- pmoPath = savedPmoPath;
329
- }
330
- // Drop all pmo_* tables
331
- const tables = ['pmo_ticket_specs', 'pmo_ticket_metadata', 'pmo_subtasks', 'pmo_tickets',
332
- 'pmo_columns', 'pmo_specs', 'pmo_epics', 'pmo_projects',
333
- 'pmo_initiatives', 'pmo_ticket_assignments', 'pmo_cache_metadata', 'pmo_settings'];
334
- dropPMOTables(dbPath, tables);
335
- this.log(chalk.green(' ✓ Dropped database tables'));
336
- }
337
- // Delete pmo/ directory (using path from database or default)
338
- if (fs.existsSync(pmoPath)) {
339
- fs.rmSync(pmoPath, { recursive: true, force: true });
340
- this.log(chalk.green(' ✓ Removed pmo/ directory\n'));
341
- }
342
- }
343
- async initGitForPMO(pmoPath) {
344
- try {
345
- // Create .gitignore
346
- const gitignore = `# Proletariat PMO
347
- .DS_Store
348
- *.swp
349
- *.swo
350
- *~
351
- .vscode/
352
- .idea/
353
- `;
354
- fs.writeFileSync(path.join(pmoPath, '.gitignore'), gitignore);
355
- // Initialize git repo
356
- execSync('git init', { cwd: pmoPath, stdio: 'pipe' });
357
- execSync('git add .', { cwd: pmoPath, stdio: 'pipe' });
358
- execSync('git commit -m "Initialize PMO\n\nCreated with Proletariat CLI"', { cwd: pmoPath, stdio: 'pipe' });
359
- this.log(chalk.green(' ✓ Git repository initialized'));
360
- this.log(styles.muted(' Add remote: cd pmo && git remote add origin <url>'));
361
- }
362
- catch {
363
- this.log(chalk.yellow(' ⚠ Git initialization failed (continuing without git)'));
364
- this.log(styles.muted(' You can initialize git manually: cd pmo && git init'));
365
- }
366
- }
367
- logNextSteps() {
368
- this.log(styles.muted('\nNext steps:'));
369
- this.log(styles.muted(' 1. Create your first ticket: prlt ticket create'));
370
- this.log(styles.muted(' 2. Create a spec: prlt spec create'));
371
- this.log(styles.muted(' 3. Open pmo/ in Obsidian for visual kanban'));
372
- }
373
- /**
374
- * Check GitHub CLI setup and provide guidance for PR workflow
375
- */
376
- checkGitHubCLI() {
377
- this.log(styles.muted('\nChecking GitHub CLI for PR workflow...'));
378
- // Check if gh is installed
379
- if (!isGHInstalled()) {
380
- this.log(chalk.yellow(' ⚠ gh CLI not installed'));
381
- this.log(styles.muted(' Install: brew install gh'));
382
- this.log(styles.muted(' PR creation will be skipped without gh\n'));
383
- return;
384
- }
385
- this.log(chalk.green(' ✓ gh CLI installed'));
386
- // Check if gh is authenticated
387
- if (!isGHAuthenticated()) {
388
- this.log(chalk.yellow(' ⚠ gh CLI not authenticated'));
389
- this.log(styles.muted(' Run: gh auth login'));
390
- this.log(styles.muted(' PR creation will be skipped without auth\n'));
391
- return;
392
- }
393
- const username = getGHUsername();
394
- this.log(chalk.green(` ✓ gh authenticated${username ? ` as ${username}` : ''}`));
395
- // Check if GH_TOKEN is available for devcontainers
396
- if (isGHTokenInEnv()) {
397
- this.log(chalk.green(' ✓ GH_TOKEN available for devcontainers'));
398
- }
399
- else {
400
- this.log(chalk.yellow(' ⚠ GH_TOKEN not set (needed for PR creation in devcontainers)'));
401
- this.log(styles.muted(''));
402
- this.log(styles.muted(' To enable PR creation from devcontainers, add to your shell profile:'));
403
- this.log(styles.muted(''));
404
- this.log(chalk.cyan(" echo 'export GH_TOKEN=$(gh auth token 2>/dev/null)' >> ~/.zshrc"));
405
- this.log(styles.muted(''));
406
- this.log(styles.muted(' Then restart your terminal or run: source ~/.zshrc'));
407
- }
408
- }
409
- }
410
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/pmo/init.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { PMOCommand } from '../../lib/pmo/index.js';
2
- export default class ProjectArchive extends PMOCommand {
3
- static description: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
9
- force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- };
14
- protected getPMOOptions(): {
15
- promptIfMultiple: boolean;
16
- };
17
- execute(): Promise<void>;
18
- }
@@ -1,79 +0,0 @@
1
- import { Args, Flags } from '@oclif/core';
2
- import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
3
- import { styles } from '../../lib/styles.js';
4
- import { shouldOutputJson, outputErrorAsJson, outputSuccessAsJson, createMetadata, } from '../../lib/prompt-json.js';
5
- export default class ProjectArchive extends PMOCommand {
6
- static description = 'Archive a project (hide from default views)';
7
- static examples = [
8
- '<%= config.bin %> <%= command.id %> old-project',
9
- '<%= config.bin %> <%= command.id %> old-project --force',
10
- ];
11
- static args = {
12
- id: Args.string({
13
- description: 'Project ID',
14
- required: true,
15
- }),
16
- };
17
- static flags = {
18
- ...pmoBaseFlags,
19
- force: Flags.boolean({
20
- char: 'f',
21
- description: 'Skip confirmation',
22
- default: false,
23
- }),
24
- };
25
- getPMOOptions() {
26
- return { promptIfMultiple: false };
27
- }
28
- async execute() {
29
- const { args, flags } = await this.parse(ProjectArchive);
30
- // Check if JSON output mode is active
31
- const jsonMode = shouldOutputJson(flags);
32
- // Helper to handle errors in JSON mode
33
- const handleError = (code, message) => {
34
- if (jsonMode) {
35
- outputErrorAsJson(code, message, createMetadata('project archive', flags));
36
- return;
37
- }
38
- this.error(message);
39
- };
40
- const project = await this.storage.getProject(args.id);
41
- if (!project) {
42
- return handleError('PROJECT_NOT_FOUND', `Project "${args.id}" not found.`);
43
- }
44
- if (project.isArchived) {
45
- if (jsonMode) {
46
- outputSuccessAsJson({ projectId: project.id, projectName: project.name, alreadyArchived: true }, createMetadata('project archive', flags));
47
- return;
48
- }
49
- this.log(styles.muted(`Project "${project.name}" is already archived.`));
50
- return;
51
- }
52
- // Agent mode config for prompts
53
- const agentConfig = jsonMode ? { flags, commandName: 'project archive' } : null;
54
- if (!flags.force) {
55
- const { confirm } = await this.prompt([{
56
- type: 'list',
57
- name: 'confirm',
58
- message: `Archive project "${project.name}"? It will be hidden from default views.`,
59
- choices: [
60
- { name: 'No', value: false, command: '' },
61
- { name: 'Yes', value: true, command: `prlt project archive ${args.id} --force --json` },
62
- ],
63
- }], agentConfig);
64
- if (!confirm) {
65
- this.log(styles.muted('Cancelled.'));
66
- return;
67
- }
68
- }
69
- await this.storage.archiveProject(args.id);
70
- if (jsonMode) {
71
- outputSuccessAsJson({ projectId: project.id, projectName: project.name, archived: true }, createMetadata('project archive', flags));
72
- return;
73
- }
74
- this.log(styles.success(`\nArchived project "${project.name}"`));
75
- this.log(styles.muted('View archived projects: prlt project list --archived'));
76
- this.log(styles.muted('Unarchive: prlt project unarchive ' + args.id));
77
- }
78
- }
79
- //# sourceMappingURL=archive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/project/archive.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { PMOCommand } from '../../lib/pmo/index.js';
2
- export default class ProjectCreate extends PMOCommand {
3
- static description: string;
4
- static examples: string[];
5
- static args: {
6
- name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
- };
8
- static flags: {
9
- name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
- id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- template: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
- interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- };
19
- protected getPMOOptions(): {
20
- promptIfMultiple: boolean;
21
- };
22
- execute(): Promise<void>;
23
- private promptProjectData;
24
- }