@proletariat/cli 0.3.95 → 0.3.96

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 (193) hide show
  1. package/dist/commands/config/index.js +1 -1
  2. package/dist/commands/config/index.js.map +1 -1
  3. package/dist/commands/db/repair.js +160 -35
  4. package/dist/commands/db/repair.js.map +1 -1
  5. package/dist/commands/gc.d.ts +13 -0
  6. package/dist/commands/gc.js +178 -0
  7. package/dist/commands/gc.js.map +1 -0
  8. package/dist/commands/pr/merge.js +1 -1
  9. package/dist/commands/pr/merge.js.map +1 -1
  10. package/dist/commands/session/attach.d.ts +3 -3
  11. package/dist/commands/session/attach.js +37 -79
  12. package/dist/commands/session/attach.js.map +1 -1
  13. package/dist/commands/session/exec.js +1 -1
  14. package/dist/commands/session/exec.js.map +1 -1
  15. package/dist/commands/session/health.js +1 -1
  16. package/dist/commands/session/health.js.map +1 -1
  17. package/dist/commands/session/inspect.js +1 -1
  18. package/dist/commands/session/inspect.js.map +1 -1
  19. package/dist/commands/session/list.d.ts +1 -0
  20. package/dist/commands/session/list.js +111 -78
  21. package/dist/commands/session/list.js.map +1 -1
  22. package/dist/commands/session/peek.js +1 -1
  23. package/dist/commands/session/peek.js.map +1 -1
  24. package/dist/commands/session/poke.js +1 -1
  25. package/dist/commands/session/poke.js.map +1 -1
  26. package/dist/commands/session/prune.js +50 -11
  27. package/dist/commands/session/prune.js.map +1 -1
  28. package/dist/commands/session/restart.js +1 -1
  29. package/dist/commands/session/restart.js.map +1 -1
  30. package/dist/commands/{action → sync}/index.d.ts +2 -6
  31. package/dist/commands/sync/index.js +68 -0
  32. package/dist/commands/sync/index.js.map +1 -0
  33. package/dist/commands/sync/pause.d.ts +10 -0
  34. package/dist/commands/sync/pause.js +35 -0
  35. package/dist/commands/sync/pause.js.map +1 -0
  36. package/dist/commands/sync/queue.d.ts +10 -0
  37. package/dist/commands/sync/queue.js +106 -0
  38. package/dist/commands/sync/queue.js.map +1 -0
  39. package/dist/commands/sync/resume.d.ts +10 -0
  40. package/dist/commands/sync/resume.js +34 -0
  41. package/dist/commands/sync/resume.js.map +1 -0
  42. package/dist/commands/sync/start.d.ts +11 -0
  43. package/dist/commands/sync/start.js +73 -0
  44. package/dist/commands/sync/start.js.map +1 -0
  45. package/dist/commands/sync/status.d.ts +10 -0
  46. package/dist/commands/sync/status.js +40 -0
  47. package/dist/commands/sync/status.js.map +1 -0
  48. package/dist/commands/sync/stop.d.ts +10 -0
  49. package/dist/commands/sync/stop.js +39 -0
  50. package/dist/commands/sync/stop.js.map +1 -0
  51. package/dist/commands/ticket/create.js +1 -1
  52. package/dist/commands/ticket/create.js.map +1 -1
  53. package/dist/commands/ticket/edit.js +1 -1
  54. package/dist/commands/ticket/edit.js.map +1 -1
  55. package/dist/commands/ticket/list.js +1 -1
  56. package/dist/commands/ticket/list.js.map +1 -1
  57. package/dist/commands/ticket/update.js +1 -1
  58. package/dist/commands/ticket/update.js.map +1 -1
  59. package/dist/commands/work/complete.js +1 -1
  60. package/dist/commands/work/complete.js.map +1 -1
  61. package/dist/commands/work/ready.js +1 -1
  62. package/dist/commands/work/ready.js.map +1 -1
  63. package/dist/commands/work/resolve.js +1 -1
  64. package/dist/commands/work/resolve.js.map +1 -1
  65. package/dist/commands/work/ship.js +1 -1
  66. package/dist/commands/work/ship.js.map +1 -1
  67. package/dist/commands/work/start.js +13 -84
  68. package/dist/commands/work/start.js.map +1 -1
  69. package/dist/lib/dashboard/data.js +1 -1
  70. package/dist/lib/dashboard/data.js.map +1 -1
  71. package/dist/lib/database/db-safety.d.ts +22 -0
  72. package/dist/lib/database/db-safety.js +91 -4
  73. package/dist/lib/database/db-safety.js.map +1 -1
  74. package/dist/lib/database/index.d.ts +1 -1
  75. package/dist/lib/database/index.js +1 -1
  76. package/dist/lib/database/index.js.map +1 -1
  77. package/dist/lib/database/migrations/0017_drop_agent_work_fk.d.ts +13 -0
  78. package/dist/lib/database/migrations/0017_drop_agent_work_fk.js +85 -0
  79. package/dist/lib/database/migrations/0017_drop_agent_work_fk.js.map +1 -0
  80. package/dist/lib/database/migrations/0018_create_ticket_refs.d.ts +11 -0
  81. package/dist/lib/database/migrations/0018_create_ticket_refs.js +40 -0
  82. package/dist/lib/database/migrations/0018_create_ticket_refs.js.map +1 -0
  83. package/dist/lib/database/migrations/index.js +4 -0
  84. package/dist/lib/database/migrations/index.js.map +1 -1
  85. package/dist/lib/execution/devcontainer.js +1 -1
  86. package/dist/lib/execution/devcontainer.js.map +1 -1
  87. package/dist/lib/execution/runners/docker-management.d.ts +9 -0
  88. package/dist/lib/execution/runners/docker-management.js +14 -3
  89. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  90. package/dist/lib/execution/runners/prompt-builder.js +15 -3
  91. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  92. package/dist/lib/execution/runners/shared.d.ts +1 -1
  93. package/dist/lib/execution/runners/shared.js +1 -1
  94. package/dist/lib/execution/runners/shared.js.map +1 -1
  95. package/dist/lib/execution/session-utils.d.ts +16 -0
  96. package/dist/lib/execution/session-utils.js +42 -0
  97. package/dist/lib/execution/session-utils.js.map +1 -1
  98. package/dist/lib/execution/spawner.js +2 -1
  99. package/dist/lib/execution/spawner.js.map +1 -1
  100. package/dist/lib/execution/storage.js +2 -1
  101. package/dist/lib/execution/storage.js.map +1 -1
  102. package/dist/lib/external-issues/utils.d.ts +25 -0
  103. package/dist/lib/external-issues/utils.js +32 -0
  104. package/dist/lib/external-issues/utils.js.map +1 -0
  105. package/dist/lib/gc/index.d.ts +126 -0
  106. package/dist/lib/gc/index.js +410 -0
  107. package/dist/lib/gc/index.js.map +1 -0
  108. package/dist/lib/mcp/tools/action.js +1 -1
  109. package/dist/lib/mcp/tools/action.js.map +1 -1
  110. package/dist/lib/mcp/tools/ticket.js +1 -1
  111. package/dist/lib/mcp/tools/ticket.js.map +1 -1
  112. package/dist/lib/orchestrate/actions.js +30 -0
  113. package/dist/lib/orchestrate/actions.js.map +1 -1
  114. package/dist/lib/orchestrate/poller.js +3 -3
  115. package/dist/lib/orchestrate/poller.js.map +1 -1
  116. package/dist/lib/orchestrate/presets.js +2 -1
  117. package/dist/lib/orchestrate/presets.js.map +1 -1
  118. package/dist/lib/orchestrate/types.d.ts +1 -1
  119. package/dist/lib/orchestrate/types.js +1 -0
  120. package/dist/lib/orchestrate/types.js.map +1 -1
  121. package/dist/lib/pmo/index.js +1 -1
  122. package/dist/lib/pmo/index.js.map +1 -1
  123. package/dist/lib/pmo/markdown.js +1 -1
  124. package/dist/lib/pmo/markdown.js.map +1 -1
  125. package/dist/lib/pmo/schema.d.ts +3 -1
  126. package/dist/lib/pmo/schema.js +26 -2
  127. package/dist/lib/pmo/schema.js.map +1 -1
  128. package/dist/lib/pmo/storage/actions.js +1 -1
  129. package/dist/lib/pmo/storage/actions.js.map +1 -1
  130. package/dist/lib/pmo/storage/base.js +37 -15
  131. package/dist/lib/pmo/storage/base.js.map +1 -1
  132. package/dist/lib/pmo/storage/projects.js +2 -1
  133. package/dist/lib/pmo/storage/projects.js.map +1 -1
  134. package/dist/lib/pmo/storage/statuses.js +1 -1
  135. package/dist/lib/pmo/storage/statuses.js.map +1 -1
  136. package/dist/lib/pmo/storage/subtasks.js +1 -1
  137. package/dist/lib/pmo/storage/subtasks.js.map +1 -1
  138. package/dist/lib/pmo/storage/templates.js +1 -1
  139. package/dist/lib/pmo/storage/templates.js.map +1 -1
  140. package/dist/lib/pmo/storage/tickets.js +2 -1
  141. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  142. package/dist/lib/pmo/storage/workflow-rules.js +1 -1
  143. package/dist/lib/pmo/storage/workflow-rules.js.map +1 -1
  144. package/dist/lib/pmo/utils.d.ts +6 -189
  145. package/dist/lib/pmo/utils.js +6 -306
  146. package/dist/lib/pmo/utils.js.map +1 -1
  147. package/dist/lib/session/heartbeat.js +1 -1
  148. package/dist/lib/session/heartbeat.js.map +1 -1
  149. package/dist/lib/sync/daemon-process.d.ts +9 -0
  150. package/dist/lib/sync/daemon-process.js +184 -0
  151. package/dist/lib/sync/daemon-process.js.map +1 -0
  152. package/dist/lib/sync/daemon.d.ts +39 -0
  153. package/dist/lib/sync/daemon.js +91 -0
  154. package/dist/lib/sync/daemon.js.map +1 -0
  155. package/dist/lib/sync/engine.d.ts +38 -0
  156. package/dist/lib/sync/engine.js +145 -0
  157. package/dist/lib/sync/engine.js.map +1 -0
  158. package/dist/lib/sync/merge-queue.d.ts +116 -0
  159. package/dist/lib/sync/merge-queue.js +321 -0
  160. package/dist/lib/sync/merge-queue.js.map +1 -0
  161. package/dist/lib/sync/reconciler.d.ts +44 -0
  162. package/dist/lib/sync/reconciler.js +88 -0
  163. package/dist/lib/sync/reconciler.js.map +1 -0
  164. package/dist/lib/utils/text.d.ts +44 -0
  165. package/dist/lib/utils/text.js +72 -0
  166. package/dist/lib/utils/text.js.map +1 -0
  167. package/dist/lib/work-lifecycle/post-execution.js +1 -1
  168. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  169. package/dist/lib/work-lifecycle/settings.d.ts +138 -0
  170. package/dist/lib/work-lifecycle/settings.js +213 -0
  171. package/dist/lib/work-lifecycle/settings.js.map +1 -0
  172. package/oclif.manifest.json +1456 -1707
  173. package/package.json +1 -1
  174. package/dist/commands/action/create.d.ts +0 -26
  175. package/dist/commands/action/create.js +0 -245
  176. package/dist/commands/action/create.js.map +0 -1
  177. package/dist/commands/action/delete.d.ts +0 -18
  178. package/dist/commands/action/delete.js +0 -78
  179. package/dist/commands/action/delete.js.map +0 -1
  180. package/dist/commands/action/index.js +0 -103
  181. package/dist/commands/action/index.js.map +0 -1
  182. package/dist/commands/action/list.d.ts +0 -15
  183. package/dist/commands/action/list.js +0 -90
  184. package/dist/commands/action/list.js.map +0 -1
  185. package/dist/commands/action/run.d.ts +0 -20
  186. package/dist/commands/action/run.js +0 -188
  187. package/dist/commands/action/run.js.map +0 -1
  188. package/dist/commands/action/show.d.ts +0 -17
  189. package/dist/commands/action/show.js +0 -78
  190. package/dist/commands/action/show.js.map +0 -1
  191. package/dist/commands/action/update.d.ts +0 -27
  192. package/dist/commands/action/update.js +0 -288
  193. package/dist/commands/action/update.js.map +0 -1
@@ -256,6 +256,72 @@
256
256
  "diet.js"
257
257
  ]
258
258
  },
259
+ "gc": {
260
+ "aliases": [],
261
+ "args": {},
262
+ "description": "Garbage collect agent artifacts (worktrees, containers, branches) for merged/closed PRs",
263
+ "examples": [
264
+ "<%= config.bin %> <%= command.id %>",
265
+ "<%= config.bin %> <%= command.id %> --execute",
266
+ "<%= config.bin %> <%= command.id %> --stale-days 14",
267
+ "<%= config.bin %> <%= command.id %> --status merged",
268
+ "<%= config.bin %> <%= command.id %> --execute --json"
269
+ ],
270
+ "flags": {
271
+ "json": {
272
+ "description": "Output as JSON for AI agents/scripts",
273
+ "name": "json",
274
+ "allowNo": false,
275
+ "type": "boolean"
276
+ },
277
+ "machine": {
278
+ "char": "m",
279
+ "description": "Output as JSON for AI agents/scripts",
280
+ "name": "machine",
281
+ "allowNo": false,
282
+ "type": "boolean"
283
+ },
284
+ "execute": {
285
+ "description": "Actually execute cleanup (default is dry-run)",
286
+ "name": "execute",
287
+ "allowNo": false,
288
+ "type": "boolean"
289
+ },
290
+ "stale-days": {
291
+ "description": "Days of inactivity before a PR is considered stale",
292
+ "name": "stale-days",
293
+ "default": 7,
294
+ "hasDynamicHelp": false,
295
+ "multiple": false,
296
+ "type": "option"
297
+ },
298
+ "status": {
299
+ "description": "Only process candidates with this status",
300
+ "name": "status",
301
+ "hasDynamicHelp": false,
302
+ "multiple": true,
303
+ "options": [
304
+ "merged",
305
+ "closed",
306
+ "stale"
307
+ ],
308
+ "type": "option"
309
+ }
310
+ },
311
+ "hasDynamicHelp": false,
312
+ "hiddenAliases": [],
313
+ "id": "gc",
314
+ "pluginAlias": "@proletariat/cli",
315
+ "pluginName": "@proletariat/cli",
316
+ "pluginType": "core",
317
+ "strict": true,
318
+ "isESM": true,
319
+ "relativePath": [
320
+ "dist",
321
+ "commands",
322
+ "gc.js"
323
+ ]
324
+ },
259
325
  "init": {
260
326
  "aliases": [],
261
327
  "args": {},
@@ -968,29 +1034,34 @@
968
1034
  "whoami.js"
969
1035
  ]
970
1036
  },
971
- "action:create": {
1037
+ "agent:auth": {
972
1038
  "aliases": [],
973
- "args": {
974
- "name": {
975
- "description": "Name for the new action",
976
- "name": "name",
977
- "required": false
978
- }
979
- },
980
- "description": "Create a new work action",
1039
+ "args": {},
1040
+ "description": "Set up Claude Code authentication for Docker containers (one-time setup)",
981
1041
  "examples": [
982
- "<%= config.bin %> <%= command.id %> \"Security Review\" --prompt \"Review for vulnerabilities...\"",
983
- "<%= config.bin %> <%= command.id %> \"Write Docs\" --prompt \"Document this feature...\" --from-state \"Done\"",
984
- "<%= config.bin %> <%= command.id %> # Interactive mode"
1042
+ "<%= config.bin %> <%= command.id %>",
1043
+ "<%= config.bin %> <%= command.id %> --check",
1044
+ "<%= config.bin %> <%= command.id %> --force",
1045
+ "<%= config.bin %> <%= command.id %> --api-key"
985
1046
  ],
986
1047
  "flags": {
987
- "project": {
988
- "char": "P",
989
- "description": "Project ID (uses first project if only one exists)",
990
- "name": "project",
991
- "hasDynamicHelp": false,
992
- "multiple": false,
993
- "type": "option"
1048
+ "check": {
1049
+ "description": "Only check if credentials exist (do not prompt for login)",
1050
+ "name": "check",
1051
+ "allowNo": false,
1052
+ "type": "boolean"
1053
+ },
1054
+ "force": {
1055
+ "description": "Force re-authentication even if credentials exist",
1056
+ "name": "force",
1057
+ "allowNo": false,
1058
+ "type": "boolean"
1059
+ },
1060
+ "api-key": {
1061
+ "description": "Use ANTHROPIC_API_KEY instead of OAuth (saves preference)",
1062
+ "name": "api-key",
1063
+ "allowNo": false,
1064
+ "type": "boolean"
994
1065
  },
995
1066
  "json": {
996
1067
  "description": "Output as JSON for AI agents/scripts",
@@ -1004,93 +1075,11 @@
1004
1075
  "name": "machine",
1005
1076
  "allowNo": false,
1006
1077
  "type": "boolean"
1007
- },
1008
- "prompt": {
1009
- "char": "p",
1010
- "description": "The prompt to send to the agent [required for non-interactive]",
1011
- "name": "prompt",
1012
- "hasDynamicHelp": false,
1013
- "multiple": false,
1014
- "type": "option"
1015
- },
1016
- "description": {
1017
- "char": "d",
1018
- "description": "Short description of what this action does",
1019
- "name": "description",
1020
- "hasDynamicHelp": false,
1021
- "multiple": false,
1022
- "type": "option"
1023
- },
1024
- "from-state": {
1025
- "description": "State name this action is suggested for (empty = any state)",
1026
- "name": "from-state",
1027
- "hasDynamicHelp": false,
1028
- "multiple": false,
1029
- "type": "option"
1030
- },
1031
- "to-state": {
1032
- "description": "State name to move ticket to after action completes",
1033
- "name": "to-state",
1034
- "hasDynamicHelp": false,
1035
- "multiple": false,
1036
- "type": "option"
1037
- },
1038
- "executor": {
1039
- "description": "Executor to use",
1040
- "name": "executor",
1041
- "hasDynamicHelp": false,
1042
- "multiple": false,
1043
- "options": [
1044
- "claude",
1045
- "codex",
1046
- "opencode",
1047
- "custom"
1048
- ],
1049
- "type": "option"
1050
- },
1051
- "environment": {
1052
- "description": "Execution environment",
1053
- "name": "environment",
1054
- "hasDynamicHelp": false,
1055
- "multiple": false,
1056
- "options": [
1057
- "devcontainer",
1058
- "docker",
1059
- "host",
1060
- "vm"
1061
- ],
1062
- "type": "option"
1063
- },
1064
- "permission-mode": {
1065
- "description": "Permission mode for the executor",
1066
- "name": "permission-mode",
1067
- "hasDynamicHelp": false,
1068
- "multiple": false,
1069
- "options": [
1070
- "full",
1071
- "readonly",
1072
- "bypassPermissions"
1073
- ],
1074
- "type": "option"
1075
- },
1076
- "model": {
1077
- "description": "Model override (let executor pick default if not set)",
1078
- "name": "model",
1079
- "hasDynamicHelp": false,
1080
- "multiple": false,
1081
- "type": "option"
1082
- },
1083
- "interactive": {
1084
- "char": "i",
1085
- "description": "Interactive mode - prompt for all fields",
1086
- "name": "interactive",
1087
- "allowNo": false,
1088
- "type": "boolean"
1089
1078
  }
1090
1079
  },
1091
1080
  "hasDynamicHelp": false,
1092
1081
  "hiddenAliases": [],
1093
- "id": "action:create",
1082
+ "id": "agent:auth",
1094
1083
  "pluginAlias": "@proletariat/cli",
1095
1084
  "pluginName": "@proletariat/cli",
1096
1085
  "pluginType": "core",
@@ -1099,33 +1088,29 @@
1099
1088
  "relativePath": [
1100
1089
  "dist",
1101
1090
  "commands",
1102
- "action",
1103
- "create.js"
1091
+ "agent",
1092
+ "auth.js"
1104
1093
  ]
1105
1094
  },
1106
- "action:delete": {
1095
+ "agent:cleanup": {
1107
1096
  "aliases": [],
1108
1097
  "args": {
1109
- "id": {
1110
- "description": "Action ID to delete",
1111
- "name": "id",
1112
- "required": true
1098
+ "name": {
1099
+ "description": "Agent name to clean up",
1100
+ "name": "name",
1101
+ "required": false
1113
1102
  }
1114
1103
  },
1115
- "description": "Delete a work action",
1104
+ "description": "Clean up agent resources (containers, directories, tmux sessions)",
1116
1105
  "examples": [
1117
- "<%= config.bin %> <%= command.id %> my-custom-action",
1118
- "<%= config.bin %> <%= command.id %> my-action --force"
1106
+ "<%= config.bin %> <%= command.id %> bold-bezos-1",
1107
+ "<%= config.bin %> <%= command.id %> --temp",
1108
+ "<%= config.bin %> <%= command.id %> --temp --dry-run",
1109
+ "<%= config.bin %> <%= command.id %> --all",
1110
+ "<%= config.bin %> <%= command.id %> bold-bezos-1 --keep-dir",
1111
+ "<%= config.bin %> <%= command.id %> --json"
1119
1112
  ],
1120
1113
  "flags": {
1121
- "project": {
1122
- "char": "P",
1123
- "description": "Project ID (uses first project if only one exists)",
1124
- "name": "project",
1125
- "hasDynamicHelp": false,
1126
- "multiple": false,
1127
- "type": "option"
1128
- },
1129
1114
  "json": {
1130
1115
  "description": "Output as JSON for AI agents/scripts",
1131
1116
  "name": "json",
@@ -1139,17 +1124,60 @@
1139
1124
  "allowNo": false,
1140
1125
  "type": "boolean"
1141
1126
  },
1127
+ "temp": {
1128
+ "description": "Clean up all ephemeral agents with no running work",
1129
+ "name": "temp",
1130
+ "allowNo": false,
1131
+ "type": "boolean"
1132
+ },
1133
+ "all": {
1134
+ "description": "Clean up ALL ephemeral agents (including those with running work)",
1135
+ "name": "all",
1136
+ "allowNo": false,
1137
+ "type": "boolean"
1138
+ },
1139
+ "dry-run": {
1140
+ "description": "Show what would be cleaned without actually doing it",
1141
+ "name": "dry-run",
1142
+ "allowNo": false,
1143
+ "type": "boolean"
1144
+ },
1145
+ "yes": {
1146
+ "char": "y",
1147
+ "description": "Skip confirmation prompt",
1148
+ "name": "yes",
1149
+ "allowNo": false,
1150
+ "type": "boolean"
1151
+ },
1142
1152
  "force": {
1143
1153
  "char": "f",
1144
- "description": "Skip confirmation",
1154
+ "description": "Force cleanup even if there is uncommitted/unpushed work",
1145
1155
  "name": "force",
1146
1156
  "allowNo": false,
1147
1157
  "type": "boolean"
1158
+ },
1159
+ "push": {
1160
+ "description": "Push unpushed commits before cleanup",
1161
+ "name": "push",
1162
+ "allowNo": false,
1163
+ "type": "boolean"
1164
+ },
1165
+ "keep-dir": {
1166
+ "description": "Kill containers and tmux sessions but preserve the agent directory",
1167
+ "name": "keep-dir",
1168
+ "allowNo": false,
1169
+ "type": "boolean"
1170
+ },
1171
+ "no-interactive": {
1172
+ "description": "Alias for --json flag",
1173
+ "name": "no-interactive",
1174
+ "allowNo": false,
1175
+ "type": "boolean"
1148
1176
  }
1149
1177
  },
1150
1178
  "hasDynamicHelp": false,
1151
1179
  "hiddenAliases": [],
1152
- "id": "action:delete",
1180
+ "id": "agent:cleanup",
1153
1181
  "pluginAlias": "@proletariat/cli",
1154
1182
  "pluginName": "@proletariat/cli",
1155
1183
  "pluginType": "core",
@@ -1158,27 +1186,24 @@
1158
1186
  "relativePath": [
1159
1187
  "dist",
1160
1188
  "commands",
1161
- "action",
1162
- "delete.js"
1189
+ "agent",
1190
+ "cleanup.js"
1163
1191
  ]
1164
1192
  },
1165
- "action": {
1166
- "aliases": [
1167
- "actions"
1168
- ],
1193
+ "agent:discover": {
1194
+ "aliases": [],
1169
1195
  "args": {},
1170
- "description": "Interactive menu for work action operations",
1196
+ "description": "Discover agents on disk that are not registered in the database",
1171
1197
  "examples": [
1172
- "<%= config.bin %> <%= command.id %>"
1198
+ "<%= config.bin %> <%= command.id %>",
1199
+ "<%= config.bin %> <%= command.id %> --dry-run"
1173
1200
  ],
1174
1201
  "flags": {
1175
- "project": {
1176
- "char": "P",
1177
- "description": "Project ID (uses first project if only one exists)",
1178
- "name": "project",
1179
- "hasDynamicHelp": false,
1180
- "multiple": false,
1181
- "type": "option"
1202
+ "dry-run": {
1203
+ "description": "Show what would be discovered without making changes",
1204
+ "name": "dry-run",
1205
+ "allowNo": false,
1206
+ "type": "boolean"
1182
1207
  },
1183
1208
  "json": {
1184
1209
  "description": "Output as JSON for AI agents/scripts",
@@ -1196,38 +1221,31 @@
1196
1221
  },
1197
1222
  "hasDynamicHelp": false,
1198
1223
  "hiddenAliases": [],
1199
- "id": "action",
1224
+ "id": "agent:discover",
1200
1225
  "pluginAlias": "@proletariat/cli",
1201
1226
  "pluginName": "@proletariat/cli",
1202
1227
  "pluginType": "core",
1203
1228
  "strict": true,
1229
+ "enableJsonFlag": false,
1204
1230
  "isESM": true,
1205
1231
  "relativePath": [
1206
1232
  "dist",
1207
1233
  "commands",
1208
- "action",
1209
- "index.js"
1234
+ "agent",
1235
+ "discover.js"
1210
1236
  ]
1211
1237
  },
1212
- "action:list": {
1238
+ "agent:gc": {
1213
1239
  "aliases": [],
1214
1240
  "args": {},
1215
- "description": "List available work actions",
1241
+ "description": "Garbage collect stale agent records from the database",
1216
1242
  "examples": [
1217
1243
  "<%= config.bin %> <%= command.id %>",
1218
- "<%= config.bin %> <%= command.id %> --builtin",
1219
- "<%= config.bin %> <%= command.id %> --custom",
1220
- "<%= config.bin %> <%= command.id %> --from-state \"In Progress\""
1244
+ "<%= config.bin %> <%= command.id %> --days 7",
1245
+ "<%= config.bin %> <%= command.id %> --dry-run",
1246
+ "<%= config.bin %> <%= command.id %> --all"
1221
1247
  ],
1222
1248
  "flags": {
1223
- "project": {
1224
- "char": "P",
1225
- "description": "Project ID (uses first project if only one exists)",
1226
- "name": "project",
1227
- "hasDynamicHelp": false,
1228
- "multiple": false,
1229
- "type": "option"
1230
- },
1231
1249
  "json": {
1232
1250
  "description": "Output as JSON for AI agents/scripts",
1233
1251
  "name": "json",
@@ -1241,35 +1259,31 @@
1241
1259
  "allowNo": false,
1242
1260
  "type": "boolean"
1243
1261
  },
1244
- "builtin": {
1245
- "description": "Show only built-in actions",
1246
- "exclusive": [
1247
- "custom"
1248
- ],
1249
- "name": "builtin",
1262
+ "days": {
1263
+ "char": "d",
1264
+ "description": "Only prune records older than this many days",
1265
+ "name": "days",
1266
+ "default": 30,
1267
+ "hasDynamicHelp": false,
1268
+ "multiple": false,
1269
+ "type": "option"
1270
+ },
1271
+ "dry-run": {
1272
+ "description": "Show what would be pruned without actually deleting",
1273
+ "name": "dry-run",
1250
1274
  "allowNo": false,
1251
1275
  "type": "boolean"
1252
1276
  },
1253
- "custom": {
1254
- "description": "Show only custom actions",
1255
- "exclusive": [
1256
- "builtin"
1257
- ],
1258
- "name": "custom",
1277
+ "all": {
1278
+ "description": "Prune all terminal-state records regardless of age",
1279
+ "name": "all",
1259
1280
  "allowNo": false,
1260
1281
  "type": "boolean"
1261
- },
1262
- "from-state": {
1263
- "description": "Filter to actions matching a from_state (includes actions with null from_state)",
1264
- "name": "from-state",
1265
- "hasDynamicHelp": false,
1266
- "multiple": false,
1267
- "type": "option"
1268
1282
  }
1269
1283
  },
1270
1284
  "hasDynamicHelp": false,
1271
1285
  "hiddenAliases": [],
1272
- "id": "action:list",
1286
+ "id": "agent:gc",
1273
1287
  "pluginAlias": "@proletariat/cli",
1274
1288
  "pluginName": "@proletariat/cli",
1275
1289
  "pluginType": "core",
@@ -1278,35 +1292,27 @@
1278
1292
  "relativePath": [
1279
1293
  "dist",
1280
1294
  "commands",
1281
- "action",
1282
- "list.js"
1295
+ "agent",
1296
+ "gc.js"
1283
1297
  ]
1284
1298
  },
1285
- "action:run": {
1299
+ "agent": {
1286
1300
  "aliases": [],
1287
- "args": {
1288
- "ticketIds": {
1289
- "description": "Ticket ID(s) to run action on",
1290
- "name": "ticketIds",
1291
- "required": false
1292
- }
1293
- },
1294
- "description": "Run an action on one or more tickets (bulk action support)",
1301
+ "args": {},
1302
+ "description": "Manage agents in the workspace",
1295
1303
  "examples": [
1296
- "<%= config.bin %> <%= command.id %> TKT-001 --action implement",
1297
- "<%= config.bin %> <%= command.id %> TKT-001 TKT-002 TKT-003 --action groom",
1298
- "<%= config.bin %> <%= command.id %> --all --action groom # All backlog tickets",
1299
- "<%= config.bin %> <%= command.id %> --category started --action review"
1304
+ "<%= config.bin %> <%= command.id %> list",
1305
+ "<%= config.bin %> <%= command.id %> status camry",
1306
+ "<%= config.bin %> <%= command.id %> visit tacoma",
1307
+ "<%= config.bin %> <%= command.id %> staff add",
1308
+ "<%= config.bin %> <%= command.id %> staff remove camry",
1309
+ "<%= config.bin %> <%= command.id %> cleanup --temp",
1310
+ "<%= config.bin %> <%= command.id %> restart altman",
1311
+ "<%= config.bin %> <%= command.id %> rebuild altman",
1312
+ "<%= config.bin %> <%= command.id %> shell altman",
1313
+ "<%= config.bin %> <%= command.id %> themes list"
1300
1314
  ],
1301
1315
  "flags": {
1302
- "project": {
1303
- "char": "P",
1304
- "description": "Project ID (uses first project if only one exists)",
1305
- "name": "project",
1306
- "hasDynamicHelp": false,
1307
- "multiple": false,
1308
- "type": "option"
1309
- },
1310
1316
  "json": {
1311
1317
  "description": "Output as JSON for AI agents/scripts",
1312
1318
  "name": "json",
@@ -1319,80 +1325,88 @@
1319
1325
  "name": "machine",
1320
1326
  "allowNo": false,
1321
1327
  "type": "boolean"
1328
+ }
1329
+ },
1330
+ "hasDynamicHelp": false,
1331
+ "hiddenAliases": [],
1332
+ "id": "agent",
1333
+ "pluginAlias": "@proletariat/cli",
1334
+ "pluginName": "@proletariat/cli",
1335
+ "pluginType": "core",
1336
+ "strict": true,
1337
+ "isESM": true,
1338
+ "relativePath": [
1339
+ "dist",
1340
+ "commands",
1341
+ "agent",
1342
+ "index.js"
1343
+ ]
1344
+ },
1345
+ "agent:list": {
1346
+ "aliases": [],
1347
+ "args": {},
1348
+ "description": "List all agents and their current status",
1349
+ "examples": [
1350
+ "<%= config.bin %> <%= command.id %>",
1351
+ "<%= config.bin %> <%= command.id %> --type staff",
1352
+ "<%= config.bin %> <%= command.id %> --type temp"
1353
+ ],
1354
+ "flags": {
1355
+ "json": {
1356
+ "description": "Output as JSON for AI agents/scripts",
1357
+ "name": "json",
1358
+ "allowNo": false,
1359
+ "type": "boolean"
1322
1360
  },
1323
- "action": {
1324
- "char": "A",
1325
- "description": "Action to run (e.g., groom, implement, review)",
1326
- "name": "action",
1327
- "required": true,
1328
- "hasDynamicHelp": false,
1329
- "multiple": false,
1330
- "type": "option"
1331
- },
1332
- "all": {
1333
- "char": "a",
1334
- "description": "Run on all tickets in backlog",
1335
- "name": "all",
1361
+ "machine": {
1362
+ "char": "m",
1363
+ "description": "Output as JSON for AI agents/scripts",
1364
+ "name": "machine",
1336
1365
  "allowNo": false,
1337
1366
  "type": "boolean"
1338
1367
  },
1339
- "category": {
1340
- "char": "c",
1341
- "description": "Filter tickets by status category",
1342
- "name": "category",
1368
+ "type": {
1369
+ "char": "t",
1370
+ "description": "Filter by agent type",
1371
+ "name": "type",
1343
1372
  "hasDynamicHelp": false,
1344
1373
  "multiple": false,
1345
1374
  "options": [
1346
- "backlog",
1347
- "unstarted",
1348
- "started",
1349
- "completed",
1350
- "canceled"
1375
+ "staff",
1376
+ "temp",
1377
+ "all"
1351
1378
  ],
1352
1379
  "type": "option"
1353
- },
1354
- "dry-run": {
1355
- "description": "Show what would be done without executing",
1356
- "name": "dry-run",
1357
- "allowNo": false,
1358
- "type": "boolean"
1359
- },
1360
- "force": {
1361
- "char": "f",
1362
- "description": "Skip confirmation prompt",
1363
- "name": "force",
1364
- "allowNo": false,
1365
- "type": "boolean"
1366
1380
  }
1367
1381
  },
1368
1382
  "hasDynamicHelp": false,
1369
1383
  "hiddenAliases": [],
1370
- "id": "action:run",
1384
+ "id": "agent:list",
1371
1385
  "pluginAlias": "@proletariat/cli",
1372
1386
  "pluginName": "@proletariat/cli",
1373
1387
  "pluginType": "core",
1374
- "strict": false,
1388
+ "strict": true,
1375
1389
  "isESM": true,
1376
1390
  "relativePath": [
1377
1391
  "dist",
1378
1392
  "commands",
1379
- "action",
1380
- "run.js"
1393
+ "agent",
1394
+ "list.js"
1381
1395
  ]
1382
1396
  },
1383
- "action:show": {
1397
+ "agent:login": {
1384
1398
  "aliases": [],
1385
1399
  "args": {
1386
- "id": {
1387
- "description": "Action ID to show",
1388
- "name": "id",
1389
- "required": true
1400
+ "name": {
1401
+ "description": "Agent name to authenticate",
1402
+ "name": "name",
1403
+ "required": false
1390
1404
  }
1391
1405
  },
1392
- "description": "Show details of a work action",
1406
+ "description": "Authenticate Claude Code inside an agent container (one-time setup)",
1393
1407
  "examples": [
1394
- "<%= config.bin %> <%= command.id %> groom",
1395
- "<%= config.bin %> <%= command.id %> implement"
1408
+ "<%= config.bin %> <%= command.id %> damodei",
1409
+ "<%= config.bin %> <%= command.id %>"
1396
1410
  ],
1397
1411
  "flags": {
1398
1412
  "project": {
@@ -1419,7 +1433,7 @@
1419
1433
  },
1420
1434
  "hasDynamicHelp": false,
1421
1435
  "hiddenAliases": [],
1422
- "id": "action:show",
1436
+ "id": "agent:login",
1423
1437
  "pluginAlias": "@proletariat/cli",
1424
1438
  "pluginName": "@proletariat/cli",
1425
1439
  "pluginType": "core",
@@ -1428,25 +1442,25 @@
1428
1442
  "relativePath": [
1429
1443
  "dist",
1430
1444
  "commands",
1431
- "action",
1432
- "show.js"
1445
+ "agent",
1446
+ "login.js"
1433
1447
  ]
1434
1448
  },
1435
- "action:update": {
1449
+ "agent:rebuild": {
1436
1450
  "aliases": [],
1437
1451
  "args": {
1438
- "id": {
1439
- "description": "Action ID to update",
1440
- "name": "id",
1441
- "required": true
1452
+ "name": {
1453
+ "description": "Agent name to rebuild",
1454
+ "name": "name",
1455
+ "required": false
1442
1456
  }
1443
1457
  },
1444
- "description": "Update a work action",
1458
+ "description": "Rebuild a specific agent devcontainer image",
1445
1459
  "examples": [
1446
- "<%= config.bin %> <%= command.id %> my-action --name \"New Name\"",
1447
- "<%= config.bin %> <%= command.id %> my-action --prompt \"Updated prompt...\"",
1448
- "<%= config.bin %> <%= command.id %> my-action --from-state \"In Progress\" --to-state \"Done\"",
1449
- "<%= config.bin %> <%= command.id %> my-action # Interactive mode"
1460
+ "<%= config.bin %> <%= command.id %> altman",
1461
+ "<%= config.bin %> <%= command.id %> altman --no-cache",
1462
+ "<%= config.bin %> <%= command.id %> # Interactive selection",
1463
+ "<%= config.bin %> <%= command.id %> --machine # JSON mode for AI agents"
1450
1464
  ],
1451
1465
  "flags": {
1452
1466
  "project": {
@@ -1470,100 +1484,16 @@
1470
1484
  "allowNo": false,
1471
1485
  "type": "boolean"
1472
1486
  },
1473
- "name": {
1474
- "char": "n",
1475
- "description": "New action name",
1476
- "name": "name",
1477
- "hasDynamicHelp": false,
1478
- "multiple": false,
1479
- "type": "option"
1480
- },
1481
- "prompt": {
1482
- "char": "p",
1483
- "description": "New prompt text",
1484
- "name": "prompt",
1485
- "hasDynamicHelp": false,
1486
- "multiple": false,
1487
- "type": "option"
1488
- },
1489
- "description": {
1490
- "char": "d",
1491
- "description": "New description",
1492
- "name": "description",
1493
- "hasDynamicHelp": false,
1494
- "multiple": false,
1495
- "type": "option"
1496
- },
1497
- "from-state": {
1498
- "description": "State name this action is suggested for (empty = any state)",
1499
- "name": "from-state",
1500
- "hasDynamicHelp": false,
1501
- "multiple": false,
1502
- "type": "option"
1503
- },
1504
- "to-state": {
1505
- "description": "State name to move ticket to after action completes (empty = no move)",
1506
- "name": "to-state",
1507
- "hasDynamicHelp": false,
1508
- "multiple": false,
1509
- "type": "option"
1510
- },
1511
- "executor": {
1512
- "description": "Executor to use",
1513
- "name": "executor",
1514
- "hasDynamicHelp": false,
1515
- "multiple": false,
1516
- "options": [
1517
- "claude",
1518
- "codex",
1519
- "opencode",
1520
- "custom"
1521
- ],
1522
- "type": "option"
1523
- },
1524
- "environment": {
1525
- "description": "Execution environment",
1526
- "name": "environment",
1527
- "hasDynamicHelp": false,
1528
- "multiple": false,
1529
- "options": [
1530
- "devcontainer",
1531
- "docker",
1532
- "host",
1533
- "vm"
1534
- ],
1535
- "type": "option"
1536
- },
1537
- "permission-mode": {
1538
- "description": "Permission mode for the executor",
1539
- "name": "permission-mode",
1540
- "hasDynamicHelp": false,
1541
- "multiple": false,
1542
- "options": [
1543
- "full",
1544
- "readonly",
1545
- "bypassPermissions"
1546
- ],
1547
- "type": "option"
1548
- },
1549
- "model": {
1550
- "description": "Model override (empty = let executor pick default)",
1551
- "name": "model",
1552
- "hasDynamicHelp": false,
1553
- "multiple": false,
1554
- "type": "option"
1555
- },
1556
- "interactive": {
1557
- "char": "i",
1558
- "description": "Interactive mode - prompt for all fields",
1559
- "name": "interactive",
1487
+ "no-cache": {
1488
+ "description": "Build without using cache",
1489
+ "name": "no-cache",
1560
1490
  "allowNo": false,
1561
1491
  "type": "boolean"
1562
1492
  }
1563
1493
  },
1564
1494
  "hasDynamicHelp": false,
1565
1495
  "hiddenAliases": [],
1566
- "id": "action:update",
1496
+ "id": "agent:rebuild",
1567
1497
  "pluginAlias": "@proletariat/cli",
1568
1498
  "pluginName": "@proletariat/cli",
1569
1499
  "pluginType": "core",
@@ -1572,19 +1502,23 @@
1572
1502
  "relativePath": [
1573
1503
  "dist",
1574
1504
  "commands",
1575
- "action",
1576
- "update.js"
1505
+ "agent",
1506
+ "rebuild.js"
1577
1507
  ]
1578
1508
  },
1579
- "autocomplete:setup": {
1509
+ "agent:remove": {
1580
1510
  "aliases": [],
1581
- "args": {},
1582
- "description": "Auto-detect shell and set up autocomplete",
1511
+ "args": {
1512
+ "name": {
1513
+ "description": "Agent name to remove",
1514
+ "name": "name",
1515
+ "required": false
1516
+ }
1517
+ },
1518
+ "description": "Remove an agent from the workspace",
1583
1519
  "examples": [
1584
- "<%= config.bin %> <%= command.id %>",
1585
- "<%= config.bin %> <%= command.id %> --install",
1586
- "<%= config.bin %> <%= command.id %> --shell zsh",
1587
- "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
1520
+ "<%= config.bin %> <%= command.id %> camry",
1521
+ "<%= config.bin %> <%= command.id %>"
1588
1522
  ],
1589
1523
  "flags": {
1590
1524
  "json": {
@@ -1600,30 +1534,122 @@
1600
1534
  "allowNo": false,
1601
1535
  "type": "boolean"
1602
1536
  },
1603
- "install": {
1604
- "char": "i",
1605
- "description": "Automatically install to shell config file",
1606
- "name": "install",
1537
+ "force": {
1538
+ "char": "f",
1539
+ "description": "Skip confirmation prompt (for non-interactive use)",
1540
+ "name": "force",
1541
+ "allowNo": false,
1542
+ "type": "boolean"
1543
+ }
1544
+ },
1545
+ "hasDynamicHelp": false,
1546
+ "hiddenAliases": [],
1547
+ "id": "agent:remove",
1548
+ "pluginAlias": "@proletariat/cli",
1549
+ "pluginName": "@proletariat/cli",
1550
+ "pluginType": "core",
1551
+ "strict": true,
1552
+ "isESM": true,
1553
+ "relativePath": [
1554
+ "dist",
1555
+ "commands",
1556
+ "agent",
1557
+ "remove.js"
1558
+ ]
1559
+ },
1560
+ "agent:restart": {
1561
+ "aliases": [],
1562
+ "args": {
1563
+ "name": {
1564
+ "description": "Agent name to restart",
1565
+ "name": "name",
1566
+ "required": false
1567
+ }
1568
+ },
1569
+ "description": "Restart a specific agent devcontainer",
1570
+ "examples": [
1571
+ "<%= config.bin %> <%= command.id %> altman",
1572
+ "<%= config.bin %> <%= command.id %> # Interactive selection",
1573
+ "<%= config.bin %> <%= command.id %> --machine # JSON mode for AI agents"
1574
+ ],
1575
+ "flags": {
1576
+ "project": {
1577
+ "char": "P",
1578
+ "description": "Project ID (uses first project if only one exists)",
1579
+ "name": "project",
1580
+ "hasDynamicHelp": false,
1581
+ "multiple": false,
1582
+ "type": "option"
1583
+ },
1584
+ "json": {
1585
+ "description": "Output as JSON for AI agents/scripts",
1586
+ "name": "json",
1607
1587
  "allowNo": false,
1608
1588
  "type": "boolean"
1609
1589
  },
1610
- "shell": {
1611
- "char": "s",
1612
- "description": "Override shell detection (zsh, bash, powershell)",
1613
- "name": "shell",
1590
+ "machine": {
1591
+ "char": "m",
1592
+ "description": "Output as JSON for AI agents/scripts",
1593
+ "name": "machine",
1594
+ "allowNo": false,
1595
+ "type": "boolean"
1596
+ }
1597
+ },
1598
+ "hasDynamicHelp": false,
1599
+ "hiddenAliases": [],
1600
+ "id": "agent:restart",
1601
+ "pluginAlias": "@proletariat/cli",
1602
+ "pluginName": "@proletariat/cli",
1603
+ "pluginType": "core",
1604
+ "strict": true,
1605
+ "isESM": true,
1606
+ "relativePath": [
1607
+ "dist",
1608
+ "commands",
1609
+ "agent",
1610
+ "restart.js"
1611
+ ]
1612
+ },
1613
+ "agent:shell": {
1614
+ "aliases": [],
1615
+ "args": {
1616
+ "name": {
1617
+ "description": "Agent name to open shell in",
1618
+ "name": "name",
1619
+ "required": false
1620
+ }
1621
+ },
1622
+ "description": "Open an interactive shell in an agent workspace",
1623
+ "examples": [
1624
+ "<%= config.bin %> <%= command.id %> altman",
1625
+ "<%= config.bin %> <%= command.id %>"
1626
+ ],
1627
+ "flags": {
1628
+ "project": {
1629
+ "char": "P",
1630
+ "description": "Project ID (uses first project if only one exists)",
1631
+ "name": "project",
1614
1632
  "hasDynamicHelp": false,
1615
1633
  "multiple": false,
1616
- "options": [
1617
- "zsh",
1618
- "bash",
1619
- "powershell"
1620
- ],
1621
1634
  "type": "option"
1635
+ },
1636
+ "json": {
1637
+ "description": "Output as JSON for AI agents/scripts",
1638
+ "name": "json",
1639
+ "allowNo": false,
1640
+ "type": "boolean"
1641
+ },
1642
+ "machine": {
1643
+ "char": "m",
1644
+ "description": "Output as JSON for AI agents/scripts",
1645
+ "name": "machine",
1646
+ "allowNo": false,
1647
+ "type": "boolean"
1622
1648
  }
1623
1649
  },
1624
1650
  "hasDynamicHelp": false,
1625
1651
  "hiddenAliases": [],
1626
- "id": "autocomplete:setup",
1652
+ "id": "agent:shell",
1627
1653
  "pluginAlias": "@proletariat/cli",
1628
1654
  "pluginName": "@proletariat/cli",
1629
1655
  "pluginType": "core",
@@ -1632,8 +1658,96 @@
1632
1658
  "relativePath": [
1633
1659
  "dist",
1634
1660
  "commands",
1635
- "autocomplete",
1636
- "setup.js"
1661
+ "agent",
1662
+ "shell.js"
1663
+ ]
1664
+ },
1665
+ "agent:status": {
1666
+ "aliases": [],
1667
+ "args": {
1668
+ "name": {
1669
+ "description": "Agent name for detailed status",
1670
+ "name": "name",
1671
+ "required": false
1672
+ }
1673
+ },
1674
+ "description": "Show detailed status for a specific agent",
1675
+ "examples": [
1676
+ "<%= config.bin %> <%= command.id %> agent-1",
1677
+ "<%= config.bin %> <%= command.id %>"
1678
+ ],
1679
+ "flags": {
1680
+ "json": {
1681
+ "description": "Output as JSON for AI agents/scripts",
1682
+ "name": "json",
1683
+ "allowNo": false,
1684
+ "type": "boolean"
1685
+ },
1686
+ "machine": {
1687
+ "char": "m",
1688
+ "description": "Output as JSON for AI agents/scripts",
1689
+ "name": "machine",
1690
+ "allowNo": false,
1691
+ "type": "boolean"
1692
+ }
1693
+ },
1694
+ "hasDynamicHelp": false,
1695
+ "hiddenAliases": [],
1696
+ "id": "agent:status",
1697
+ "pluginAlias": "@proletariat/cli",
1698
+ "pluginName": "@proletariat/cli",
1699
+ "pluginType": "core",
1700
+ "strict": true,
1701
+ "isESM": true,
1702
+ "relativePath": [
1703
+ "dist",
1704
+ "commands",
1705
+ "agent",
1706
+ "status.js"
1707
+ ]
1708
+ },
1709
+ "agent:visit": {
1710
+ "aliases": [],
1711
+ "args": {
1712
+ "name": {
1713
+ "description": "Agent name to visit",
1714
+ "name": "name",
1715
+ "required": false
1716
+ }
1717
+ },
1718
+ "description": "Navigate to agent directory",
1719
+ "examples": [
1720
+ "<%= config.bin %> <%= command.id %> camry",
1721
+ "<%= config.bin %> <%= command.id %>"
1722
+ ],
1723
+ "flags": {
1724
+ "json": {
1725
+ "description": "Output as JSON for AI agents/scripts",
1726
+ "name": "json",
1727
+ "allowNo": false,
1728
+ "type": "boolean"
1729
+ },
1730
+ "machine": {
1731
+ "char": "m",
1732
+ "description": "Output as JSON for AI agents/scripts",
1733
+ "name": "machine",
1734
+ "allowNo": false,
1735
+ "type": "boolean"
1736
+ }
1737
+ },
1738
+ "hasDynamicHelp": false,
1739
+ "hiddenAliases": [],
1740
+ "id": "agent:visit",
1741
+ "pluginAlias": "@proletariat/cli",
1742
+ "pluginName": "@proletariat/cli",
1743
+ "pluginType": "core",
1744
+ "strict": true,
1745
+ "isESM": true,
1746
+ "relativePath": [
1747
+ "dist",
1748
+ "commands",
1749
+ "agent",
1750
+ "visit.js"
1637
1751
  ]
1638
1752
  },
1639
1753
  "asana:connect": {
@@ -1851,747 +1965,31 @@
1851
1965
  "sync.js"
1852
1966
  ]
1853
1967
  },
1854
- "agent:auth": {
1968
+ "branch:create": {
1855
1969
  "aliases": [],
1856
- "args": {},
1857
- "description": "Set up Claude Code authentication for Docker containers (one-time setup)",
1970
+ "args": {
1971
+ "name": {
1972
+ "description": "Full branch name (bypasses wizard)",
1973
+ "name": "name",
1974
+ "required": false
1975
+ }
1976
+ },
1977
+ "description": "Create a new branch with conventional naming",
1858
1978
  "examples": [
1859
1979
  "<%= config.bin %> <%= command.id %>",
1860
- "<%= config.bin %> <%= command.id %> --check",
1861
- "<%= config.bin %> <%= command.id %> --force",
1862
- "<%= config.bin %> <%= command.id %> --api-key"
1980
+ "<%= config.bin %> <%= command.id %> -T TKT-001",
1981
+ "<%= config.bin %> <%= command.id %> -T TKT-001 -e",
1982
+ "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
1983
+ "<%= config.bin %> <%= command.id %> -t feat -c chris -d add-user-auth"
1863
1984
  ],
1864
1985
  "flags": {
1865
- "check": {
1866
- "description": "Only check if credentials exist (do not prompt for login)",
1867
- "name": "check",
1868
- "allowNo": false,
1869
- "type": "boolean"
1870
- },
1871
- "force": {
1872
- "description": "Force re-authentication even if credentials exist",
1873
- "name": "force",
1874
- "allowNo": false,
1875
- "type": "boolean"
1876
- },
1877
- "api-key": {
1878
- "description": "Use ANTHROPIC_API_KEY instead of OAuth (saves preference)",
1879
- "name": "api-key",
1880
- "allowNo": false,
1881
- "type": "boolean"
1882
- },
1883
- "json": {
1884
- "description": "Output as JSON for AI agents/scripts",
1885
- "name": "json",
1886
- "allowNo": false,
1887
- "type": "boolean"
1888
- },
1889
- "machine": {
1890
- "char": "m",
1891
- "description": "Output as JSON for AI agents/scripts",
1892
- "name": "machine",
1893
- "allowNo": false,
1894
- "type": "boolean"
1895
- }
1896
- },
1897
- "hasDynamicHelp": false,
1898
- "hiddenAliases": [],
1899
- "id": "agent:auth",
1900
- "pluginAlias": "@proletariat/cli",
1901
- "pluginName": "@proletariat/cli",
1902
- "pluginType": "core",
1903
- "strict": true,
1904
- "isESM": true,
1905
- "relativePath": [
1906
- "dist",
1907
- "commands",
1908
- "agent",
1909
- "auth.js"
1910
- ]
1911
- },
1912
- "agent:cleanup": {
1913
- "aliases": [],
1914
- "args": {
1915
- "name": {
1916
- "description": "Agent name to clean up",
1917
- "name": "name",
1918
- "required": false
1919
- }
1920
- },
1921
- "description": "Clean up agent resources (containers, directories, tmux sessions)",
1922
- "examples": [
1923
- "<%= config.bin %> <%= command.id %> bold-bezos-1",
1924
- "<%= config.bin %> <%= command.id %> --temp",
1925
- "<%= config.bin %> <%= command.id %> --temp --dry-run",
1926
- "<%= config.bin %> <%= command.id %> --all",
1927
- "<%= config.bin %> <%= command.id %> bold-bezos-1 --keep-dir",
1928
- "<%= config.bin %> <%= command.id %> --json"
1929
- ],
1930
- "flags": {
1931
- "json": {
1932
- "description": "Output as JSON for AI agents/scripts",
1933
- "name": "json",
1934
- "allowNo": false,
1935
- "type": "boolean"
1936
- },
1937
- "machine": {
1938
- "char": "m",
1939
- "description": "Output as JSON for AI agents/scripts",
1940
- "name": "machine",
1941
- "allowNo": false,
1942
- "type": "boolean"
1943
- },
1944
- "temp": {
1945
- "description": "Clean up all ephemeral agents with no running work",
1946
- "name": "temp",
1947
- "allowNo": false,
1948
- "type": "boolean"
1949
- },
1950
- "all": {
1951
- "description": "Clean up ALL ephemeral agents (including those with running work)",
1952
- "name": "all",
1953
- "allowNo": false,
1954
- "type": "boolean"
1955
- },
1956
- "dry-run": {
1957
- "description": "Show what would be cleaned without actually doing it",
1958
- "name": "dry-run",
1959
- "allowNo": false,
1960
- "type": "boolean"
1961
- },
1962
- "yes": {
1963
- "char": "y",
1964
- "description": "Skip confirmation prompt",
1965
- "name": "yes",
1966
- "allowNo": false,
1967
- "type": "boolean"
1968
- },
1969
- "force": {
1970
- "char": "f",
1971
- "description": "Force cleanup even if there is uncommitted/unpushed work",
1972
- "name": "force",
1973
- "allowNo": false,
1974
- "type": "boolean"
1975
- },
1976
- "push": {
1977
- "description": "Push unpushed commits before cleanup",
1978
- "name": "push",
1979
- "allowNo": false,
1980
- "type": "boolean"
1981
- },
1982
- "keep-dir": {
1983
- "description": "Kill containers and tmux sessions but preserve the agent directory",
1984
- "name": "keep-dir",
1985
- "allowNo": false,
1986
- "type": "boolean"
1987
- },
1988
- "no-interactive": {
1989
- "description": "Alias for --json flag",
1990
- "name": "no-interactive",
1991
- "allowNo": false,
1992
- "type": "boolean"
1993
- }
1994
- },
1995
- "hasDynamicHelp": false,
1996
- "hiddenAliases": [],
1997
- "id": "agent:cleanup",
1998
- "pluginAlias": "@proletariat/cli",
1999
- "pluginName": "@proletariat/cli",
2000
- "pluginType": "core",
2001
- "strict": true,
2002
- "isESM": true,
2003
- "relativePath": [
2004
- "dist",
2005
- "commands",
2006
- "agent",
2007
- "cleanup.js"
2008
- ]
2009
- },
2010
- "agent:discover": {
2011
- "aliases": [],
2012
- "args": {},
2013
- "description": "Discover agents on disk that are not registered in the database",
2014
- "examples": [
2015
- "<%= config.bin %> <%= command.id %>",
2016
- "<%= config.bin %> <%= command.id %> --dry-run"
2017
- ],
2018
- "flags": {
2019
- "dry-run": {
2020
- "description": "Show what would be discovered without making changes",
2021
- "name": "dry-run",
2022
- "allowNo": false,
2023
- "type": "boolean"
2024
- },
2025
- "json": {
2026
- "description": "Output as JSON for AI agents/scripts",
2027
- "name": "json",
2028
- "allowNo": false,
2029
- "type": "boolean"
2030
- },
2031
- "machine": {
2032
- "char": "m",
2033
- "description": "Output as JSON for AI agents/scripts",
2034
- "name": "machine",
2035
- "allowNo": false,
2036
- "type": "boolean"
2037
- }
2038
- },
2039
- "hasDynamicHelp": false,
2040
- "hiddenAliases": [],
2041
- "id": "agent:discover",
2042
- "pluginAlias": "@proletariat/cli",
2043
- "pluginName": "@proletariat/cli",
2044
- "pluginType": "core",
2045
- "strict": true,
2046
- "enableJsonFlag": false,
2047
- "isESM": true,
2048
- "relativePath": [
2049
- "dist",
2050
- "commands",
2051
- "agent",
2052
- "discover.js"
2053
- ]
2054
- },
2055
- "agent:gc": {
2056
- "aliases": [],
2057
- "args": {},
2058
- "description": "Garbage collect stale agent records from the database",
2059
- "examples": [
2060
- "<%= config.bin %> <%= command.id %>",
2061
- "<%= config.bin %> <%= command.id %> --days 7",
2062
- "<%= config.bin %> <%= command.id %> --dry-run",
2063
- "<%= config.bin %> <%= command.id %> --all"
2064
- ],
2065
- "flags": {
2066
- "json": {
2067
- "description": "Output as JSON for AI agents/scripts",
2068
- "name": "json",
2069
- "allowNo": false,
2070
- "type": "boolean"
2071
- },
2072
- "machine": {
2073
- "char": "m",
2074
- "description": "Output as JSON for AI agents/scripts",
2075
- "name": "machine",
2076
- "allowNo": false,
2077
- "type": "boolean"
2078
- },
2079
- "days": {
2080
- "char": "d",
2081
- "description": "Only prune records older than this many days",
2082
- "name": "days",
2083
- "default": 30,
2084
- "hasDynamicHelp": false,
2085
- "multiple": false,
2086
- "type": "option"
2087
- },
2088
- "dry-run": {
2089
- "description": "Show what would be pruned without actually deleting",
2090
- "name": "dry-run",
2091
- "allowNo": false,
2092
- "type": "boolean"
2093
- },
2094
- "all": {
2095
- "description": "Prune all terminal-state records regardless of age",
2096
- "name": "all",
2097
- "allowNo": false,
2098
- "type": "boolean"
2099
- }
2100
- },
2101
- "hasDynamicHelp": false,
2102
- "hiddenAliases": [],
2103
- "id": "agent:gc",
2104
- "pluginAlias": "@proletariat/cli",
2105
- "pluginName": "@proletariat/cli",
2106
- "pluginType": "core",
2107
- "strict": true,
2108
- "isESM": true,
2109
- "relativePath": [
2110
- "dist",
2111
- "commands",
2112
- "agent",
2113
- "gc.js"
2114
- ]
2115
- },
2116
- "agent": {
2117
- "aliases": [],
2118
- "args": {},
2119
- "description": "Manage agents in the workspace",
2120
- "examples": [
2121
- "<%= config.bin %> <%= command.id %> list",
2122
- "<%= config.bin %> <%= command.id %> status camry",
2123
- "<%= config.bin %> <%= command.id %> visit tacoma",
2124
- "<%= config.bin %> <%= command.id %> staff add",
2125
- "<%= config.bin %> <%= command.id %> staff remove camry",
2126
- "<%= config.bin %> <%= command.id %> cleanup --temp",
2127
- "<%= config.bin %> <%= command.id %> restart altman",
2128
- "<%= config.bin %> <%= command.id %> rebuild altman",
2129
- "<%= config.bin %> <%= command.id %> shell altman",
2130
- "<%= config.bin %> <%= command.id %> themes list"
2131
- ],
2132
- "flags": {
2133
- "json": {
2134
- "description": "Output as JSON for AI agents/scripts",
2135
- "name": "json",
2136
- "allowNo": false,
2137
- "type": "boolean"
2138
- },
2139
- "machine": {
2140
- "char": "m",
2141
- "description": "Output as JSON for AI agents/scripts",
2142
- "name": "machine",
2143
- "allowNo": false,
2144
- "type": "boolean"
2145
- }
2146
- },
2147
- "hasDynamicHelp": false,
2148
- "hiddenAliases": [],
2149
- "id": "agent",
2150
- "pluginAlias": "@proletariat/cli",
2151
- "pluginName": "@proletariat/cli",
2152
- "pluginType": "core",
2153
- "strict": true,
2154
- "isESM": true,
2155
- "relativePath": [
2156
- "dist",
2157
- "commands",
2158
- "agent",
2159
- "index.js"
2160
- ]
2161
- },
2162
- "agent:list": {
2163
- "aliases": [],
2164
- "args": {},
2165
- "description": "List all agents and their current status",
2166
- "examples": [
2167
- "<%= config.bin %> <%= command.id %>",
2168
- "<%= config.bin %> <%= command.id %> --type staff",
2169
- "<%= config.bin %> <%= command.id %> --type temp"
2170
- ],
2171
- "flags": {
2172
- "json": {
2173
- "description": "Output as JSON for AI agents/scripts",
2174
- "name": "json",
2175
- "allowNo": false,
2176
- "type": "boolean"
2177
- },
2178
- "machine": {
2179
- "char": "m",
2180
- "description": "Output as JSON for AI agents/scripts",
2181
- "name": "machine",
2182
- "allowNo": false,
2183
- "type": "boolean"
2184
- },
2185
- "type": {
2186
- "char": "t",
2187
- "description": "Filter by agent type",
2188
- "name": "type",
2189
- "hasDynamicHelp": false,
2190
- "multiple": false,
2191
- "options": [
2192
- "staff",
2193
- "temp",
2194
- "all"
2195
- ],
2196
- "type": "option"
2197
- }
2198
- },
2199
- "hasDynamicHelp": false,
2200
- "hiddenAliases": [],
2201
- "id": "agent:list",
2202
- "pluginAlias": "@proletariat/cli",
2203
- "pluginName": "@proletariat/cli",
2204
- "pluginType": "core",
2205
- "strict": true,
2206
- "isESM": true,
2207
- "relativePath": [
2208
- "dist",
2209
- "commands",
2210
- "agent",
2211
- "list.js"
2212
- ]
2213
- },
2214
- "agent:login": {
2215
- "aliases": [],
2216
- "args": {
2217
- "name": {
2218
- "description": "Agent name to authenticate",
2219
- "name": "name",
2220
- "required": false
2221
- }
2222
- },
2223
- "description": "Authenticate Claude Code inside an agent container (one-time setup)",
2224
- "examples": [
2225
- "<%= config.bin %> <%= command.id %> damodei",
2226
- "<%= config.bin %> <%= command.id %>"
2227
- ],
2228
- "flags": {
2229
- "project": {
2230
- "char": "P",
2231
- "description": "Project ID (uses first project if only one exists)",
2232
- "name": "project",
2233
- "hasDynamicHelp": false,
2234
- "multiple": false,
2235
- "type": "option"
2236
- },
2237
- "json": {
2238
- "description": "Output as JSON for AI agents/scripts",
2239
- "name": "json",
2240
- "allowNo": false,
2241
- "type": "boolean"
2242
- },
2243
- "machine": {
2244
- "char": "m",
2245
- "description": "Output as JSON for AI agents/scripts",
2246
- "name": "machine",
2247
- "allowNo": false,
2248
- "type": "boolean"
2249
- }
2250
- },
2251
- "hasDynamicHelp": false,
2252
- "hiddenAliases": [],
2253
- "id": "agent:login",
2254
- "pluginAlias": "@proletariat/cli",
2255
- "pluginName": "@proletariat/cli",
2256
- "pluginType": "core",
2257
- "strict": true,
2258
- "isESM": true,
2259
- "relativePath": [
2260
- "dist",
2261
- "commands",
2262
- "agent",
2263
- "login.js"
2264
- ]
2265
- },
2266
- "agent:rebuild": {
2267
- "aliases": [],
2268
- "args": {
2269
- "name": {
2270
- "description": "Agent name to rebuild",
2271
- "name": "name",
2272
- "required": false
2273
- }
2274
- },
2275
- "description": "Rebuild a specific agent devcontainer image",
2276
- "examples": [
2277
- "<%= config.bin %> <%= command.id %> altman",
2278
- "<%= config.bin %> <%= command.id %> altman --no-cache",
2279
- "<%= config.bin %> <%= command.id %> # Interactive selection",
2280
- "<%= config.bin %> <%= command.id %> --machine # JSON mode for AI agents"
2281
- ],
2282
- "flags": {
2283
- "project": {
2284
- "char": "P",
2285
- "description": "Project ID (uses first project if only one exists)",
2286
- "name": "project",
2287
- "hasDynamicHelp": false,
2288
- "multiple": false,
2289
- "type": "option"
2290
- },
2291
- "json": {
2292
- "description": "Output as JSON for AI agents/scripts",
2293
- "name": "json",
2294
- "allowNo": false,
2295
- "type": "boolean"
2296
- },
2297
- "machine": {
2298
- "char": "m",
2299
- "description": "Output as JSON for AI agents/scripts",
2300
- "name": "machine",
2301
- "allowNo": false,
2302
- "type": "boolean"
2303
- },
2304
- "no-cache": {
2305
- "description": "Build without using cache",
2306
- "name": "no-cache",
2307
- "allowNo": false,
2308
- "type": "boolean"
2309
- }
2310
- },
2311
- "hasDynamicHelp": false,
2312
- "hiddenAliases": [],
2313
- "id": "agent:rebuild",
2314
- "pluginAlias": "@proletariat/cli",
2315
- "pluginName": "@proletariat/cli",
2316
- "pluginType": "core",
2317
- "strict": true,
2318
- "isESM": true,
2319
- "relativePath": [
2320
- "dist",
2321
- "commands",
2322
- "agent",
2323
- "rebuild.js"
2324
- ]
2325
- },
2326
- "agent:remove": {
2327
- "aliases": [],
2328
- "args": {
2329
- "name": {
2330
- "description": "Agent name to remove",
2331
- "name": "name",
2332
- "required": false
2333
- }
2334
- },
2335
- "description": "Remove an agent from the workspace",
2336
- "examples": [
2337
- "<%= config.bin %> <%= command.id %> camry",
2338
- "<%= config.bin %> <%= command.id %>"
2339
- ],
2340
- "flags": {
2341
- "json": {
2342
- "description": "Output as JSON for AI agents/scripts",
2343
- "name": "json",
2344
- "allowNo": false,
2345
- "type": "boolean"
2346
- },
2347
- "machine": {
2348
- "char": "m",
2349
- "description": "Output as JSON for AI agents/scripts",
2350
- "name": "machine",
2351
- "allowNo": false,
2352
- "type": "boolean"
2353
- },
2354
- "force": {
2355
- "char": "f",
2356
- "description": "Skip confirmation prompt (for non-interactive use)",
2357
- "name": "force",
2358
- "allowNo": false,
2359
- "type": "boolean"
2360
- }
2361
- },
2362
- "hasDynamicHelp": false,
2363
- "hiddenAliases": [],
2364
- "id": "agent:remove",
2365
- "pluginAlias": "@proletariat/cli",
2366
- "pluginName": "@proletariat/cli",
2367
- "pluginType": "core",
2368
- "strict": true,
2369
- "isESM": true,
2370
- "relativePath": [
2371
- "dist",
2372
- "commands",
2373
- "agent",
2374
- "remove.js"
2375
- ]
2376
- },
2377
- "agent:restart": {
2378
- "aliases": [],
2379
- "args": {
2380
- "name": {
2381
- "description": "Agent name to restart",
2382
- "name": "name",
2383
- "required": false
2384
- }
2385
- },
2386
- "description": "Restart a specific agent devcontainer",
2387
- "examples": [
2388
- "<%= config.bin %> <%= command.id %> altman",
2389
- "<%= config.bin %> <%= command.id %> # Interactive selection",
2390
- "<%= config.bin %> <%= command.id %> --machine # JSON mode for AI agents"
2391
- ],
2392
- "flags": {
2393
- "project": {
2394
- "char": "P",
2395
- "description": "Project ID (uses first project if only one exists)",
2396
- "name": "project",
2397
- "hasDynamicHelp": false,
2398
- "multiple": false,
2399
- "type": "option"
2400
- },
2401
- "json": {
2402
- "description": "Output as JSON for AI agents/scripts",
2403
- "name": "json",
2404
- "allowNo": false,
2405
- "type": "boolean"
2406
- },
2407
- "machine": {
2408
- "char": "m",
2409
- "description": "Output as JSON for AI agents/scripts",
2410
- "name": "machine",
2411
- "allowNo": false,
2412
- "type": "boolean"
2413
- }
2414
- },
2415
- "hasDynamicHelp": false,
2416
- "hiddenAliases": [],
2417
- "id": "agent:restart",
2418
- "pluginAlias": "@proletariat/cli",
2419
- "pluginName": "@proletariat/cli",
2420
- "pluginType": "core",
2421
- "strict": true,
2422
- "isESM": true,
2423
- "relativePath": [
2424
- "dist",
2425
- "commands",
2426
- "agent",
2427
- "restart.js"
2428
- ]
2429
- },
2430
- "agent:shell": {
2431
- "aliases": [],
2432
- "args": {
2433
- "name": {
2434
- "description": "Agent name to open shell in",
2435
- "name": "name",
2436
- "required": false
2437
- }
2438
- },
2439
- "description": "Open an interactive shell in an agent workspace",
2440
- "examples": [
2441
- "<%= config.bin %> <%= command.id %> altman",
2442
- "<%= config.bin %> <%= command.id %>"
2443
- ],
2444
- "flags": {
2445
- "project": {
2446
- "char": "P",
2447
- "description": "Project ID (uses first project if only one exists)",
2448
- "name": "project",
2449
- "hasDynamicHelp": false,
2450
- "multiple": false,
2451
- "type": "option"
2452
- },
2453
- "json": {
2454
- "description": "Output as JSON for AI agents/scripts",
2455
- "name": "json",
2456
- "allowNo": false,
2457
- "type": "boolean"
2458
- },
2459
- "machine": {
2460
- "char": "m",
2461
- "description": "Output as JSON for AI agents/scripts",
2462
- "name": "machine",
2463
- "allowNo": false,
2464
- "type": "boolean"
2465
- }
2466
- },
2467
- "hasDynamicHelp": false,
2468
- "hiddenAliases": [],
2469
- "id": "agent:shell",
2470
- "pluginAlias": "@proletariat/cli",
2471
- "pluginName": "@proletariat/cli",
2472
- "pluginType": "core",
2473
- "strict": true,
2474
- "isESM": true,
2475
- "relativePath": [
2476
- "dist",
2477
- "commands",
2478
- "agent",
2479
- "shell.js"
2480
- ]
2481
- },
2482
- "agent:status": {
2483
- "aliases": [],
2484
- "args": {
2485
- "name": {
2486
- "description": "Agent name for detailed status",
2487
- "name": "name",
2488
- "required": false
2489
- }
2490
- },
2491
- "description": "Show detailed status for a specific agent",
2492
- "examples": [
2493
- "<%= config.bin %> <%= command.id %> agent-1",
2494
- "<%= config.bin %> <%= command.id %>"
2495
- ],
2496
- "flags": {
2497
- "json": {
2498
- "description": "Output as JSON for AI agents/scripts",
2499
- "name": "json",
2500
- "allowNo": false,
2501
- "type": "boolean"
2502
- },
2503
- "machine": {
2504
- "char": "m",
2505
- "description": "Output as JSON for AI agents/scripts",
2506
- "name": "machine",
2507
- "allowNo": false,
2508
- "type": "boolean"
2509
- }
2510
- },
2511
- "hasDynamicHelp": false,
2512
- "hiddenAliases": [],
2513
- "id": "agent:status",
2514
- "pluginAlias": "@proletariat/cli",
2515
- "pluginName": "@proletariat/cli",
2516
- "pluginType": "core",
2517
- "strict": true,
2518
- "isESM": true,
2519
- "relativePath": [
2520
- "dist",
2521
- "commands",
2522
- "agent",
2523
- "status.js"
2524
- ]
2525
- },
2526
- "agent:visit": {
2527
- "aliases": [],
2528
- "args": {
2529
- "name": {
2530
- "description": "Agent name to visit",
2531
- "name": "name",
2532
- "required": false
2533
- }
2534
- },
2535
- "description": "Navigate to agent directory",
2536
- "examples": [
2537
- "<%= config.bin %> <%= command.id %> camry",
2538
- "<%= config.bin %> <%= command.id %>"
2539
- ],
2540
- "flags": {
2541
- "json": {
2542
- "description": "Output as JSON for AI agents/scripts",
2543
- "name": "json",
2544
- "allowNo": false,
2545
- "type": "boolean"
2546
- },
2547
- "machine": {
2548
- "char": "m",
2549
- "description": "Output as JSON for AI agents/scripts",
2550
- "name": "machine",
2551
- "allowNo": false,
2552
- "type": "boolean"
2553
- }
2554
- },
2555
- "hasDynamicHelp": false,
2556
- "hiddenAliases": [],
2557
- "id": "agent:visit",
2558
- "pluginAlias": "@proletariat/cli",
2559
- "pluginName": "@proletariat/cli",
2560
- "pluginType": "core",
2561
- "strict": true,
2562
- "isESM": true,
2563
- "relativePath": [
2564
- "dist",
2565
- "commands",
2566
- "agent",
2567
- "visit.js"
2568
- ]
2569
- },
2570
- "branch:create": {
2571
- "aliases": [],
2572
- "args": {
2573
- "name": {
2574
- "description": "Full branch name (bypasses wizard)",
2575
- "name": "name",
2576
- "required": false
2577
- }
2578
- },
2579
- "description": "Create a new branch with conventional naming",
2580
- "examples": [
2581
- "<%= config.bin %> <%= command.id %>",
2582
- "<%= config.bin %> <%= command.id %> -T TKT-001",
2583
- "<%= config.bin %> <%= command.id %> -T TKT-001 -e",
2584
- "<%= config.bin %> <%= command.id %> feat/chris/add-user-auth",
2585
- "<%= config.bin %> <%= command.id %> -t feat -c chris -d add-user-auth"
2586
- ],
2587
- "flags": {
2588
- "project": {
2589
- "char": "P",
2590
- "description": "Project ID (uses first project if only one exists)",
2591
- "name": "project",
2592
- "hasDynamicHelp": false,
2593
- "multiple": false,
2594
- "type": "option"
1986
+ "project": {
1987
+ "char": "P",
1988
+ "description": "Project ID (uses first project if only one exists)",
1989
+ "name": "project",
1990
+ "hasDynamicHelp": false,
1991
+ "multiple": false,
1992
+ "type": "option"
2595
1993
  },
2596
1994
  "json": {
2597
1995
  "description": "Output as JSON for AI agents/scripts",
@@ -2923,6 +2321,66 @@
2923
2321
  "where.js"
2924
2322
  ]
2925
2323
  },
2324
+ "autocomplete:setup": {
2325
+ "aliases": [],
2326
+ "args": {},
2327
+ "description": "Auto-detect shell and set up autocomplete",
2328
+ "examples": [
2329
+ "<%= config.bin %> <%= command.id %>",
2330
+ "<%= config.bin %> <%= command.id %> --install",
2331
+ "<%= config.bin %> <%= command.id %> --shell zsh",
2332
+ "<%= config.bin %> <%= command.id %> --shell zsh --install --machine"
2333
+ ],
2334
+ "flags": {
2335
+ "json": {
2336
+ "description": "Output as JSON for AI agents/scripts",
2337
+ "name": "json",
2338
+ "allowNo": false,
2339
+ "type": "boolean"
2340
+ },
2341
+ "machine": {
2342
+ "char": "m",
2343
+ "description": "Output as JSON for AI agents/scripts",
2344
+ "name": "machine",
2345
+ "allowNo": false,
2346
+ "type": "boolean"
2347
+ },
2348
+ "install": {
2349
+ "char": "i",
2350
+ "description": "Automatically install to shell config file",
2351
+ "name": "install",
2352
+ "allowNo": false,
2353
+ "type": "boolean"
2354
+ },
2355
+ "shell": {
2356
+ "char": "s",
2357
+ "description": "Override shell detection (zsh, bash, powershell)",
2358
+ "name": "shell",
2359
+ "hasDynamicHelp": false,
2360
+ "multiple": false,
2361
+ "options": [
2362
+ "zsh",
2363
+ "bash",
2364
+ "powershell"
2365
+ ],
2366
+ "type": "option"
2367
+ }
2368
+ },
2369
+ "hasDynamicHelp": false,
2370
+ "hiddenAliases": [],
2371
+ "id": "autocomplete:setup",
2372
+ "pluginAlias": "@proletariat/cli",
2373
+ "pluginName": "@proletariat/cli",
2374
+ "pluginType": "core",
2375
+ "strict": true,
2376
+ "isESM": true,
2377
+ "relativePath": [
2378
+ "dist",
2379
+ "commands",
2380
+ "autocomplete",
2381
+ "setup.js"
2382
+ ]
2383
+ },
2926
2384
  "caffeinate": {
2927
2385
  "aliases": [],
2928
2386
  "args": {},
@@ -3544,15 +3002,41 @@
3544
3002
  "repair.js"
3545
3003
  ]
3546
3004
  },
3547
- "feedback": {
3005
+ "docker:clean": {
3548
3006
  "aliases": [],
3549
3007
  "args": {},
3550
- "description": "Interactive menu for feedback and issue operations",
3008
+ "description": "Remove orphaned containers (containers without running agents)",
3551
3009
  "examples": [
3552
3010
  "<%= config.bin %> <%= command.id %>",
3553
- "<%= config.bin %> <%= command.id %> --action submit"
3011
+ "<%= config.bin %> <%= command.id %> --force",
3012
+ "<%= config.bin %> <%= command.id %> --dry-run"
3554
3013
  ],
3555
3014
  "flags": {
3015
+ "force": {
3016
+ "aliases": [
3017
+ "yes",
3018
+ "y"
3019
+ ],
3020
+ "char": "f",
3021
+ "description": "Skip confirmation prompt",
3022
+ "name": "force",
3023
+ "allowNo": false,
3024
+ "type": "boolean"
3025
+ },
3026
+ "dry-run": {
3027
+ "char": "d",
3028
+ "description": "Show what would be removed without removing",
3029
+ "name": "dry-run",
3030
+ "allowNo": false,
3031
+ "type": "boolean"
3032
+ },
3033
+ "all": {
3034
+ "char": "a",
3035
+ "description": "Remove all stopped devcontainers (not just orphaned)",
3036
+ "name": "all",
3037
+ "allowNo": false,
3038
+ "type": "boolean"
3039
+ },
3556
3040
  "json": {
3557
3041
  "description": "Output as JSON for AI agents/scripts",
3558
3042
  "name": "json",
@@ -3565,24 +3049,11 @@
3565
3049
  "name": "machine",
3566
3050
  "allowNo": false,
3567
3051
  "type": "boolean"
3568
- },
3569
- "action": {
3570
- "char": "a",
3571
- "description": "Action to perform (submit, list, view)",
3572
- "name": "action",
3573
- "hasDynamicHelp": false,
3574
- "multiple": false,
3575
- "options": [
3576
- "submit",
3577
- "list",
3578
- "view"
3579
- ],
3580
- "type": "option"
3581
3052
  }
3582
3053
  },
3583
3054
  "hasDynamicHelp": false,
3584
3055
  "hiddenAliases": [],
3585
- "id": "feedback",
3056
+ "id": "docker:clean",
3586
3057
  "pluginAlias": "@proletariat/cli",
3587
3058
  "pluginName": "@proletariat/cli",
3588
3059
  "pluginType": "core",
@@ -3592,19 +3063,27 @@
3592
3063
  "relativePath": [
3593
3064
  "dist",
3594
3065
  "commands",
3595
- "feedback",
3596
- "index.js"
3066
+ "docker",
3067
+ "clean.js"
3597
3068
  ]
3598
3069
  },
3599
- "feedback:list": {
3070
+ "docker": {
3600
3071
  "aliases": [],
3601
3072
  "args": {},
3602
- "description": "List recent feedback issues from the repository",
3073
+ "description": "Manage Docker containers used by agents",
3603
3074
  "examples": [
3604
3075
  "<%= config.bin %> <%= command.id %>",
3605
- "<%= config.bin %> <%= command.id %> --category bug",
3606
- "<%= config.bin %> <%= command.id %> --state closed --limit 10",
3607
- "<%= config.bin %> <%= command.id %> --json"
3076
+ "<%= config.bin %> docker status",
3077
+ "<%= config.bin %> docker list",
3078
+ "<%= config.bin %> docker logs WORK-001",
3079
+ "<%= config.bin %> docker start WORK-001",
3080
+ "<%= config.bin %> docker stop kalanick",
3081
+ "<%= config.bin %> docker shell WORK-001",
3082
+ "<%= config.bin %> docker restart abc123",
3083
+ "<%= config.bin %> docker sync",
3084
+ "<%= config.bin %> docker rebuild-cache",
3085
+ "<%= config.bin %> docker clean",
3086
+ "<%= config.bin %> docker prune"
3608
3087
  ],
3609
3088
  "flags": {
3610
3089
  "json": {
@@ -3619,47 +3098,64 @@
3619
3098
  "name": "machine",
3620
3099
  "allowNo": false,
3621
3100
  "type": "boolean"
3101
+ }
3102
+ },
3103
+ "hasDynamicHelp": false,
3104
+ "hiddenAliases": [],
3105
+ "id": "docker",
3106
+ "pluginAlias": "@proletariat/cli",
3107
+ "pluginName": "@proletariat/cli",
3108
+ "pluginType": "core",
3109
+ "strict": true,
3110
+ "isESM": true,
3111
+ "relativePath": [
3112
+ "dist",
3113
+ "commands",
3114
+ "docker",
3115
+ "index.js"
3116
+ ]
3117
+ },
3118
+ "docker:list": {
3119
+ "aliases": [],
3120
+ "args": {},
3121
+ "description": "Show Docker containers from agent_work table with status",
3122
+ "examples": [
3123
+ "<%= config.bin %> <%= command.id %>",
3124
+ "<%= config.bin %> <%= command.id %> --all",
3125
+ "<%= config.bin %> <%= command.id %> --running"
3126
+ ],
3127
+ "flags": {
3128
+ "json": {
3129
+ "description": "Output as JSON for AI agents/scripts",
3130
+ "name": "json",
3131
+ "allowNo": false,
3132
+ "type": "boolean"
3622
3133
  },
3623
- "category": {
3624
- "char": "c",
3625
- "description": "Filter by category (bug, feature, general)",
3626
- "name": "category",
3627
- "hasDynamicHelp": false,
3628
- "multiple": false,
3629
- "options": [
3630
- "bug",
3631
- "feature",
3632
- "general"
3633
- ],
3634
- "type": "option"
3134
+ "machine": {
3135
+ "char": "m",
3136
+ "description": "Output as JSON for AI agents/scripts",
3137
+ "name": "machine",
3138
+ "allowNo": false,
3139
+ "type": "boolean"
3635
3140
  },
3636
- "state": {
3637
- "char": "s",
3638
- "description": "Filter by state",
3639
- "name": "state",
3640
- "default": "open",
3641
- "hasDynamicHelp": false,
3642
- "multiple": false,
3643
- "options": [
3644
- "open",
3645
- "closed",
3646
- "all"
3647
- ],
3648
- "type": "option"
3141
+ "all": {
3142
+ "char": "a",
3143
+ "description": "Show all containers (including non-devcontainer)",
3144
+ "name": "all",
3145
+ "allowNo": false,
3146
+ "type": "boolean"
3649
3147
  },
3650
- "limit": {
3651
- "char": "l",
3652
- "description": "Maximum number of issues to show",
3653
- "name": "limit",
3654
- "default": 20,
3655
- "hasDynamicHelp": false,
3656
- "multiple": false,
3657
- "type": "option"
3148
+ "running": {
3149
+ "char": "r",
3150
+ "description": "Only show running containers",
3151
+ "name": "running",
3152
+ "allowNo": false,
3153
+ "type": "boolean"
3658
3154
  }
3659
3155
  },
3660
3156
  "hasDynamicHelp": false,
3661
3157
  "hiddenAliases": [],
3662
- "id": "feedback:list",
3158
+ "id": "docker:list",
3663
3159
  "pluginAlias": "@proletariat/cli",
3664
3160
  "pluginName": "@proletariat/cli",
3665
3161
  "pluginType": "core",
@@ -3669,18 +3165,25 @@
3669
3165
  "relativePath": [
3670
3166
  "dist",
3671
3167
  "commands",
3672
- "feedback",
3168
+ "docker",
3673
3169
  "list.js"
3674
3170
  ]
3675
3171
  },
3676
- "feedback:submit": {
3172
+ "docker:logs": {
3677
3173
  "aliases": [],
3678
- "args": {},
3679
- "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
3174
+ "args": {
3175
+ "target": {
3176
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3177
+ "name": "target",
3178
+ "required": true
3179
+ }
3180
+ },
3181
+ "description": "View logs from a container (by execution ID, agent name, or container ID)",
3680
3182
  "examples": [
3681
- "<%= config.bin %> <%= command.id %>",
3682
- "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
3683
- "<%= config.bin %> <%= command.id %> --json"
3183
+ "<%= config.bin %> <%= command.id %> WORK-001",
3184
+ "<%= config.bin %> <%= command.id %> kalanick",
3185
+ "<%= config.bin %> <%= command.id %> abc123 --follow",
3186
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3684
3187
  ],
3685
3188
  "flags": {
3686
3189
  "json": {
@@ -3696,66 +3199,88 @@
3696
3199
  "allowNo": false,
3697
3200
  "type": "boolean"
3698
3201
  },
3699
- "title": {
3700
- "char": "t",
3701
- "description": "Issue title (one-liner) [required for non-interactive]",
3702
- "name": "title",
3703
- "hasDynamicHelp": false,
3704
- "multiple": false,
3705
- "type": "option"
3202
+ "follow": {
3203
+ "char": "f",
3204
+ "description": "Follow log output",
3205
+ "name": "follow",
3206
+ "allowNo": false,
3207
+ "type": "boolean"
3706
3208
  },
3707
- "body": {
3708
- "char": "b",
3709
- "description": "Issue description [required for non-interactive]",
3710
- "name": "body",
3209
+ "tail": {
3210
+ "char": "n",
3211
+ "description": "Number of lines to show from the end",
3212
+ "name": "tail",
3213
+ "default": 100,
3711
3214
  "hasDynamicHelp": false,
3712
3215
  "multiple": false,
3713
3216
  "type": "option"
3714
3217
  },
3715
- "category": {
3716
- "char": "c",
3717
- "description": "Feedback category",
3718
- "name": "category",
3719
- "hasDynamicHelp": false,
3720
- "multiple": false,
3721
- "options": [
3722
- "bug",
3723
- "feature",
3724
- "general"
3725
- ],
3726
- "type": "option"
3218
+ "timestamps": {
3219
+ "char": "t",
3220
+ "description": "Show timestamps",
3221
+ "name": "timestamps",
3222
+ "allowNo": false,
3223
+ "type": "boolean"
3727
3224
  }
3728
3225
  },
3729
3226
  "hasDynamicHelp": false,
3730
3227
  "hiddenAliases": [],
3731
- "id": "feedback:submit",
3228
+ "id": "docker:logs",
3732
3229
  "pluginAlias": "@proletariat/cli",
3733
3230
  "pluginName": "@proletariat/cli",
3734
3231
  "pluginType": "core",
3735
3232
  "strict": true,
3233
+ "enableJsonFlag": false,
3736
3234
  "isESM": true,
3737
3235
  "relativePath": [
3738
3236
  "dist",
3739
3237
  "commands",
3740
- "feedback",
3741
- "submit.js"
3238
+ "docker",
3239
+ "logs.js"
3742
3240
  ]
3743
3241
  },
3744
- "feedback:view": {
3242
+ "docker:prune": {
3745
3243
  "aliases": [],
3746
- "args": {
3747
- "number": {
3748
- "description": "Issue number to view",
3749
- "name": "number",
3750
- "required": true
3751
- }
3752
- },
3753
- "description": "View details of a specific feedback issue",
3244
+ "args": {},
3245
+ "description": "Remove unused Docker resources (containers, images, volumes, networks)",
3754
3246
  "examples": [
3755
- "<%= config.bin %> <%= command.id %> 123",
3756
- "<%= config.bin %> <%= command.id %> 123 --json"
3247
+ "<%= config.bin %> <%= command.id %>",
3248
+ "<%= config.bin %> <%= command.id %> --all",
3249
+ "<%= config.bin %> <%= command.id %> --volumes",
3250
+ "<%= config.bin %> <%= command.id %> --dry-run"
3757
3251
  ],
3758
3252
  "flags": {
3253
+ "force": {
3254
+ "aliases": [
3255
+ "yes",
3256
+ "y"
3257
+ ],
3258
+ "char": "f",
3259
+ "description": "Skip confirmation prompt",
3260
+ "name": "force",
3261
+ "allowNo": false,
3262
+ "type": "boolean"
3263
+ },
3264
+ "dry-run": {
3265
+ "char": "d",
3266
+ "description": "Show what would be removed without removing",
3267
+ "name": "dry-run",
3268
+ "allowNo": false,
3269
+ "type": "boolean"
3270
+ },
3271
+ "all": {
3272
+ "char": "a",
3273
+ "description": "Remove all unused images, not just dangling ones",
3274
+ "name": "all",
3275
+ "allowNo": false,
3276
+ "type": "boolean"
3277
+ },
3278
+ "volumes": {
3279
+ "description": "Also prune volumes (dangerous - data loss possible)",
3280
+ "name": "volumes",
3281
+ "allowNo": false,
3282
+ "type": "boolean"
3283
+ },
3759
3284
  "json": {
3760
3285
  "description": "Output as JSON for AI agents/scripts",
3761
3286
  "name": "json",
@@ -3772,7 +3297,7 @@
3772
3297
  },
3773
3298
  "hasDynamicHelp": false,
3774
3299
  "hiddenAliases": [],
3775
- "id": "feedback:view",
3300
+ "id": "docker:prune",
3776
3301
  "pluginAlias": "@proletariat/cli",
3777
3302
  "pluginName": "@proletariat/cli",
3778
3303
  "pluginType": "core",
@@ -3782,24 +3307,32 @@
3782
3307
  "relativePath": [
3783
3308
  "dist",
3784
3309
  "commands",
3785
- "feedback",
3786
- "view.js"
3310
+ "docker",
3311
+ "prune.js"
3787
3312
  ]
3788
3313
  },
3789
- "execution:config": {
3314
+ "docker:rebuild-cache": {
3790
3315
  "aliases": [],
3791
3316
  "args": {},
3792
- "description": "View and update execution preferences",
3317
+ "description": "Rebuild the shared pnpm store cache volume for fast agent installs",
3793
3318
  "examples": [
3794
- "<%= config.bin %> execution config # Interactive menu",
3795
- "<%= config.bin %> execution config --json # Output current config as JSON",
3796
- "<%= config.bin %> execution config --list # Show all settings",
3797
- "<%= config.bin %> execution config --set defaultEnvironment host",
3798
- "<%= config.bin %> execution config --set outputMode interactive",
3799
- "<%= config.bin %> execution config --set permissionMode safe",
3800
- "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
3319
+ "<%= config.bin %> <%= command.id %>",
3320
+ "<%= config.bin %> <%= command.id %> --force"
3801
3321
  ],
3802
3322
  "flags": {
3323
+ "force": {
3324
+ "char": "f",
3325
+ "description": "Delete and rebuild the cache even if it already exists",
3326
+ "name": "force",
3327
+ "allowNo": false,
3328
+ "type": "boolean"
3329
+ },
3330
+ "delete-only": {
3331
+ "description": "Only delete the cache volume (next agent spawn rebuilds it)",
3332
+ "name": "delete-only",
3333
+ "allowNo": false,
3334
+ "type": "boolean"
3335
+ },
3803
3336
  "json": {
3804
3337
  "description": "Output as JSON for AI agents/scripts",
3805
3338
  "name": "json",
@@ -3812,56 +3345,60 @@
3812
3345
  "name": "machine",
3813
3346
  "allowNo": false,
3814
3347
  "type": "boolean"
3815
- },
3816
- "set": {
3817
- "char": "s",
3818
- "description": "Set a config value (format: key value)",
3819
- "name": "set",
3820
- "hasDynamicHelp": false,
3821
- "multiple": true,
3822
- "type": "option"
3823
- },
3824
- "list": {
3825
- "char": "l",
3826
- "description": "List all configuration values",
3827
- "name": "list",
3828
- "allowNo": false,
3829
- "type": "boolean"
3830
- },
3831
- "setting": {
3832
- "description": "Navigate to a specific setting prompt (for agent navigation)",
3833
- "name": "setting",
3834
- "hasDynamicHelp": false,
3835
- "multiple": false,
3836
- "type": "option"
3837
3348
  }
3838
3349
  },
3839
3350
  "hasDynamicHelp": false,
3840
3351
  "hiddenAliases": [],
3841
- "id": "execution:config",
3352
+ "id": "docker:rebuild-cache",
3842
3353
  "pluginAlias": "@proletariat/cli",
3843
3354
  "pluginName": "@proletariat/cli",
3844
3355
  "pluginType": "core",
3845
3356
  "strict": true,
3357
+ "enableJsonFlag": false,
3846
3358
  "isESM": true,
3847
3359
  "relativePath": [
3848
3360
  "dist",
3849
3361
  "commands",
3850
- "execution",
3851
- "config.js"
3362
+ "docker",
3363
+ "rebuild-cache.js"
3852
3364
  ]
3853
3365
  },
3854
- "execution": {
3366
+ "docker:restart": {
3855
3367
  "aliases": [],
3856
- "args": {},
3857
- "description": "Single execution operations (view, logs, stop)",
3368
+ "args": {
3369
+ "target": {
3370
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3371
+ "name": "target",
3372
+ "required": true
3373
+ }
3374
+ },
3375
+ "description": "Restart a container (by execution ID, agent name, or container ID)",
3858
3376
  "examples": [
3859
- "<%= config.bin %> <%= command.id %>",
3860
- "<%= config.bin %> <%= command.id %> view WORK-001",
3861
- "<%= config.bin %> <%= command.id %> logs WORK-001",
3862
- "<%= config.bin %> <%= command.id %> stop WORK-001"
3377
+ "<%= config.bin %> <%= command.id %> WORK-001",
3378
+ "<%= config.bin %> <%= command.id %> kalanick",
3379
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3863
3380
  ],
3864
3381
  "flags": {
3382
+ "force": {
3383
+ "aliases": [
3384
+ "yes",
3385
+ "y"
3386
+ ],
3387
+ "char": "f",
3388
+ "description": "Skip confirmation prompt",
3389
+ "name": "force",
3390
+ "allowNo": false,
3391
+ "type": "boolean"
3392
+ },
3393
+ "time": {
3394
+ "char": "t",
3395
+ "description": "Seconds to wait before killing the container during stop",
3396
+ "name": "time",
3397
+ "default": 10,
3398
+ "hasDynamicHelp": false,
3399
+ "multiple": false,
3400
+ "type": "option"
3401
+ },
3865
3402
  "json": {
3866
3403
  "description": "Output as JSON for AI agents/scripts",
3867
3404
  "name": "json",
@@ -3878,28 +3415,34 @@
3878
3415
  },
3879
3416
  "hasDynamicHelp": false,
3880
3417
  "hiddenAliases": [],
3881
- "id": "execution",
3418
+ "id": "docker:restart",
3882
3419
  "pluginAlias": "@proletariat/cli",
3883
3420
  "pluginName": "@proletariat/cli",
3884
3421
  "pluginType": "core",
3885
3422
  "strict": true,
3423
+ "enableJsonFlag": false,
3886
3424
  "isESM": true,
3887
3425
  "relativePath": [
3888
3426
  "dist",
3889
3427
  "commands",
3890
- "execution",
3891
- "index.js"
3428
+ "docker",
3429
+ "restart.js"
3892
3430
  ]
3893
3431
  },
3894
- "execution:list": {
3432
+ "docker:shell": {
3895
3433
  "aliases": [],
3896
- "args": {},
3897
- "description": "List running and recent executions",
3434
+ "args": {
3435
+ "target": {
3436
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3437
+ "name": "target",
3438
+ "required": true
3439
+ }
3440
+ },
3441
+ "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
3898
3442
  "examples": [
3899
- "<%= config.bin %> <%= command.id %>",
3900
- "<%= config.bin %> <%= command.id %> --status running",
3901
- "<%= config.bin %> <%= command.id %> --agent alice",
3902
- "<%= config.bin %> <%= command.id %> --limit 50"
3443
+ "<%= config.bin %> <%= command.id %> WORK-001",
3444
+ "<%= config.bin %> <%= command.id %> kalanick",
3445
+ "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
3903
3446
  ],
3904
3447
  "flags": {
3905
3448
  "json": {
@@ -3915,34 +3458,27 @@
3915
3458
  "allowNo": false,
3916
3459
  "type": "boolean"
3917
3460
  },
3918
- "status": {
3461
+ "shell": {
3919
3462
  "char": "s",
3920
- "description": "Filter by status",
3921
- "name": "status",
3463
+ "description": "Shell to use",
3464
+ "name": "shell",
3465
+ "default": "/bin/sh",
3922
3466
  "hasDynamicHelp": false,
3923
3467
  "multiple": false,
3924
- "options": [
3925
- "starting",
3926
- "running",
3927
- "completed",
3928
- "failed",
3929
- "stopped"
3930
- ],
3931
3468
  "type": "option"
3932
3469
  },
3933
- "agent": {
3934
- "char": "a",
3935
- "description": "Filter by agent name",
3936
- "name": "agent",
3470
+ "user": {
3471
+ "char": "u",
3472
+ "description": "User to run as",
3473
+ "name": "user",
3937
3474
  "hasDynamicHelp": false,
3938
3475
  "multiple": false,
3939
3476
  "type": "option"
3940
3477
  },
3941
- "limit": {
3942
- "char": "l",
3943
- "description": "Number of results",
3944
- "name": "limit",
3945
- "default": 20,
3478
+ "workdir": {
3479
+ "char": "w",
3480
+ "description": "Working directory inside the container",
3481
+ "name": "workdir",
3946
3482
  "hasDynamicHelp": false,
3947
3483
  "multiple": false,
3948
3484
  "type": "option"
@@ -3950,34 +3486,34 @@
3950
3486
  },
3951
3487
  "hasDynamicHelp": false,
3952
3488
  "hiddenAliases": [],
3953
- "id": "execution:list",
3489
+ "id": "docker:shell",
3954
3490
  "pluginAlias": "@proletariat/cli",
3955
3491
  "pluginName": "@proletariat/cli",
3956
3492
  "pluginType": "core",
3957
3493
  "strict": true,
3494
+ "enableJsonFlag": false,
3958
3495
  "isESM": true,
3959
3496
  "relativePath": [
3960
3497
  "dist",
3961
3498
  "commands",
3962
- "execution",
3963
- "list.js"
3499
+ "docker",
3500
+ "shell.js"
3964
3501
  ]
3965
3502
  },
3966
- "execution:logs": {
3503
+ "docker:start": {
3967
3504
  "aliases": [],
3968
3505
  "args": {
3969
- "id": {
3970
- "description": "Execution ID - prompts if not provided",
3971
- "name": "id",
3972
- "required": false
3506
+ "target": {
3507
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3508
+ "name": "target",
3509
+ "required": true
3973
3510
  }
3974
3511
  },
3975
- "description": "View execution logs",
3512
+ "description": "Start a stopped container (by execution ID, agent name, or container ID)",
3976
3513
  "examples": [
3977
3514
  "<%= config.bin %> <%= command.id %> WORK-001",
3978
- "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3979
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3980
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3515
+ "<%= config.bin %> <%= command.id %> kalanick",
3516
+ "<%= config.bin %> <%= command.id %> abc123"
3981
3517
  ],
3982
3518
  "flags": {
3983
3519
  "json": {
@@ -3993,54 +3529,36 @@
3993
3529
  "allowNo": false,
3994
3530
  "type": "boolean"
3995
3531
  },
3996
- "follow": {
3997
- "char": "f",
3998
- "description": "Stream logs in real-time",
3999
- "name": "follow",
3532
+ "attach": {
3533
+ "char": "a",
3534
+ "description": "Attach to container after starting",
3535
+ "name": "attach",
4000
3536
  "allowNo": false,
4001
3537
  "type": "boolean"
4002
- },
4003
- "tail": {
4004
- "char": "n",
4005
- "description": "Show last n lines",
4006
- "name": "tail",
4007
- "hasDynamicHelp": false,
4008
- "multiple": false,
4009
- "type": "option"
4010
3538
  }
4011
3539
  },
4012
3540
  "hasDynamicHelp": false,
4013
3541
  "hiddenAliases": [],
4014
- "id": "execution:logs",
3542
+ "id": "docker:start",
4015
3543
  "pluginAlias": "@proletariat/cli",
4016
3544
  "pluginName": "@proletariat/cli",
4017
3545
  "pluginType": "core",
4018
3546
  "strict": true,
3547
+ "enableJsonFlag": false,
4019
3548
  "isESM": true,
4020
3549
  "relativePath": [
4021
3550
  "dist",
4022
3551
  "commands",
4023
- "execution",
4024
- "logs.js"
3552
+ "docker",
3553
+ "start.js"
4025
3554
  ]
4026
3555
  },
4027
- "execution:stop": {
3556
+ "docker:status": {
4028
3557
  "aliases": [],
4029
- "args": {
4030
- "id": {
4031
- "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
4032
- "name": "id",
4033
- "required": false
4034
- }
4035
- },
4036
- "description": "Stop running execution(s)",
3558
+ "args": {},
3559
+ "description": "Check if Docker daemon is running",
4037
3560
  "examples": [
4038
- "<%= config.bin %> <%= command.id %> WORK-001",
4039
- "<%= config.bin %> <%= command.id %> WORK-001 --force",
4040
- "<%= config.bin %> <%= command.id %> # Interactive mode",
4041
- "<%= config.bin %> <%= command.id %> --all",
4042
- "<%= config.bin %> <%= command.id %> --all --force",
4043
- "<%= config.bin %> <%= command.id %> --agent altman"
3561
+ "<%= config.bin %> <%= command.id %>"
4044
3562
  ],
4045
3563
  "flags": {
4046
3564
  "json": {
@@ -4055,57 +3573,96 @@
4055
3573
  "name": "machine",
4056
3574
  "allowNo": false,
4057
3575
  "type": "boolean"
4058
- },
3576
+ }
3577
+ },
3578
+ "hasDynamicHelp": false,
3579
+ "hiddenAliases": [],
3580
+ "id": "docker:status",
3581
+ "pluginAlias": "@proletariat/cli",
3582
+ "pluginName": "@proletariat/cli",
3583
+ "pluginType": "core",
3584
+ "strict": true,
3585
+ "enableJsonFlag": false,
3586
+ "isESM": true,
3587
+ "relativePath": [
3588
+ "dist",
3589
+ "commands",
3590
+ "docker",
3591
+ "status.js"
3592
+ ]
3593
+ },
3594
+ "docker:stop": {
3595
+ "aliases": [],
3596
+ "args": {
3597
+ "target": {
3598
+ "description": "Execution ID (WORK-XXX), agent name, or container ID",
3599
+ "name": "target",
3600
+ "required": true
3601
+ }
3602
+ },
3603
+ "description": "Stop a running container (by execution ID, agent name, or container ID)",
3604
+ "examples": [
3605
+ "<%= config.bin %> <%= command.id %> WORK-001",
3606
+ "<%= config.bin %> <%= command.id %> kalanick",
3607
+ "<%= config.bin %> <%= command.id %> abc123 --force"
3608
+ ],
3609
+ "flags": {
4059
3610
  "force": {
3611
+ "aliases": [
3612
+ "yes",
3613
+ "y"
3614
+ ],
4060
3615
  "char": "f",
4061
- "description": "Force kill (SIGKILL instead of SIGTERM)",
3616
+ "description": "Skip confirmation prompt",
4062
3617
  "name": "force",
4063
3618
  "allowNo": false,
4064
3619
  "type": "boolean"
4065
3620
  },
4066
- "all": {
4067
- "description": "Stop all running executions",
4068
- "name": "all",
4069
- "allowNo": false,
4070
- "type": "boolean"
4071
- },
4072
- "agent": {
4073
- "char": "a",
4074
- "description": "Stop all executions for a specific agent",
4075
- "name": "agent",
3621
+ "time": {
3622
+ "char": "t",
3623
+ "description": "Seconds to wait before killing the container",
3624
+ "name": "time",
3625
+ "default": 10,
4076
3626
  "hasDynamicHelp": false,
4077
3627
  "multiple": false,
4078
3628
  "type": "option"
3629
+ },
3630
+ "json": {
3631
+ "description": "Output as JSON for AI agents/scripts",
3632
+ "name": "json",
3633
+ "allowNo": false,
3634
+ "type": "boolean"
3635
+ },
3636
+ "machine": {
3637
+ "char": "m",
3638
+ "description": "Output as JSON for AI agents/scripts",
3639
+ "name": "machine",
3640
+ "allowNo": false,
3641
+ "type": "boolean"
4079
3642
  }
4080
3643
  },
4081
3644
  "hasDynamicHelp": false,
4082
3645
  "hiddenAliases": [],
4083
- "id": "execution:stop",
3646
+ "id": "docker:stop",
4084
3647
  "pluginAlias": "@proletariat/cli",
4085
3648
  "pluginName": "@proletariat/cli",
4086
3649
  "pluginType": "core",
4087
3650
  "strict": true,
3651
+ "enableJsonFlag": false,
4088
3652
  "isESM": true,
4089
3653
  "relativePath": [
4090
3654
  "dist",
4091
3655
  "commands",
4092
- "execution",
3656
+ "docker",
4093
3657
  "stop.js"
4094
3658
  ]
4095
3659
  },
4096
- "execution:view": {
3660
+ "docker:sync": {
4097
3661
  "aliases": [],
4098
- "args": {
4099
- "id": {
4100
- "description": "Execution ID - prompts if not provided",
4101
- "name": "id",
4102
- "required": false
4103
- }
4104
- },
4105
- "description": "View details of a specific execution",
3662
+ "args": {},
3663
+ "description": "Sync container status from Docker into the database",
4106
3664
  "examples": [
4107
- "<%= config.bin %> <%= command.id %> WORK-001",
4108
- "<%= config.bin %> <%= command.id %> # Interactive mode"
3665
+ "<%= config.bin %> <%= command.id %>"
4109
3666
  ],
4110
3667
  "flags": {
4111
3668
  "json": {
@@ -4124,54 +3681,34 @@
4124
3681
  },
4125
3682
  "hasDynamicHelp": false,
4126
3683
  "hiddenAliases": [],
4127
- "id": "execution:view",
3684
+ "id": "docker:sync",
4128
3685
  "pluginAlias": "@proletariat/cli",
4129
3686
  "pluginName": "@proletariat/cli",
4130
3687
  "pluginType": "core",
4131
3688
  "strict": true,
3689
+ "enableJsonFlag": false,
4132
3690
  "isESM": true,
4133
3691
  "relativePath": [
4134
3692
  "dist",
4135
3693
  "commands",
4136
- "execution",
4137
- "view.js"
3694
+ "docker",
3695
+ "sync.js"
4138
3696
  ]
4139
3697
  },
4140
- "docker:clean": {
3698
+ "execution:config": {
4141
3699
  "aliases": [],
4142
3700
  "args": {},
4143
- "description": "Remove orphaned containers (containers without running agents)",
3701
+ "description": "View and update execution preferences",
4144
3702
  "examples": [
4145
- "<%= config.bin %> <%= command.id %>",
4146
- "<%= config.bin %> <%= command.id %> --force",
4147
- "<%= config.bin %> <%= command.id %> --dry-run"
3703
+ "<%= config.bin %> execution config # Interactive menu",
3704
+ "<%= config.bin %> execution config --json # Output current config as JSON",
3705
+ "<%= config.bin %> execution config --list # Show all settings",
3706
+ "<%= config.bin %> execution config --set defaultEnvironment host",
3707
+ "<%= config.bin %> execution config --set outputMode interactive",
3708
+ "<%= config.bin %> execution config --set permissionMode safe",
3709
+ "<%= config.bin %> execution config --setting outputMode --json # Show output mode choices"
4148
3710
  ],
4149
3711
  "flags": {
4150
- "force": {
4151
- "aliases": [
4152
- "yes",
4153
- "y"
4154
- ],
4155
- "char": "f",
4156
- "description": "Skip confirmation prompt",
4157
- "name": "force",
4158
- "allowNo": false,
4159
- "type": "boolean"
4160
- },
4161
- "dry-run": {
4162
- "char": "d",
4163
- "description": "Show what would be removed without removing",
4164
- "name": "dry-run",
4165
- "allowNo": false,
4166
- "type": "boolean"
4167
- },
4168
- "all": {
4169
- "char": "a",
4170
- "description": "Remove all stopped devcontainers (not just orphaned)",
4171
- "name": "all",
4172
- "allowNo": false,
4173
- "type": "boolean"
4174
- },
4175
3712
  "json": {
4176
3713
  "description": "Output as JSON for AI agents/scripts",
4177
3714
  "name": "json",
@@ -4184,41 +3721,54 @@
4184
3721
  "name": "machine",
4185
3722
  "allowNo": false,
4186
3723
  "type": "boolean"
3724
+ },
3725
+ "set": {
3726
+ "char": "s",
3727
+ "description": "Set a config value (format: key value)",
3728
+ "name": "set",
3729
+ "hasDynamicHelp": false,
3730
+ "multiple": true,
3731
+ "type": "option"
3732
+ },
3733
+ "list": {
3734
+ "char": "l",
3735
+ "description": "List all configuration values",
3736
+ "name": "list",
3737
+ "allowNo": false,
3738
+ "type": "boolean"
3739
+ },
3740
+ "setting": {
3741
+ "description": "Navigate to a specific setting prompt (for agent navigation)",
3742
+ "name": "setting",
3743
+ "hasDynamicHelp": false,
3744
+ "multiple": false,
3745
+ "type": "option"
4187
3746
  }
4188
3747
  },
4189
3748
  "hasDynamicHelp": false,
4190
3749
  "hiddenAliases": [],
4191
- "id": "docker:clean",
3750
+ "id": "execution:config",
4192
3751
  "pluginAlias": "@proletariat/cli",
4193
3752
  "pluginName": "@proletariat/cli",
4194
3753
  "pluginType": "core",
4195
3754
  "strict": true,
4196
- "enableJsonFlag": false,
4197
3755
  "isESM": true,
4198
3756
  "relativePath": [
4199
3757
  "dist",
4200
3758
  "commands",
4201
- "docker",
4202
- "clean.js"
3759
+ "execution",
3760
+ "config.js"
4203
3761
  ]
4204
3762
  },
4205
- "docker": {
3763
+ "execution": {
4206
3764
  "aliases": [],
4207
3765
  "args": {},
4208
- "description": "Manage Docker containers used by agents",
4209
- "examples": [
4210
- "<%= config.bin %> <%= command.id %>",
4211
- "<%= config.bin %> docker status",
4212
- "<%= config.bin %> docker list",
4213
- "<%= config.bin %> docker logs WORK-001",
4214
- "<%= config.bin %> docker start WORK-001",
4215
- "<%= config.bin %> docker stop kalanick",
4216
- "<%= config.bin %> docker shell WORK-001",
4217
- "<%= config.bin %> docker restart abc123",
4218
- "<%= config.bin %> docker sync",
4219
- "<%= config.bin %> docker rebuild-cache",
4220
- "<%= config.bin %> docker clean",
4221
- "<%= config.bin %> docker prune"
3766
+ "description": "Single execution operations (view, logs, stop)",
3767
+ "examples": [
3768
+ "<%= config.bin %> <%= command.id %>",
3769
+ "<%= config.bin %> <%= command.id %> view WORK-001",
3770
+ "<%= config.bin %> <%= command.id %> logs WORK-001",
3771
+ "<%= config.bin %> <%= command.id %> stop WORK-001"
4222
3772
  ],
4223
3773
  "flags": {
4224
3774
  "json": {
@@ -4237,7 +3787,7 @@
4237
3787
  },
4238
3788
  "hasDynamicHelp": false,
4239
3789
  "hiddenAliases": [],
4240
- "id": "docker",
3790
+ "id": "execution",
4241
3791
  "pluginAlias": "@proletariat/cli",
4242
3792
  "pluginName": "@proletariat/cli",
4243
3793
  "pluginType": "core",
@@ -4246,18 +3796,19 @@
4246
3796
  "relativePath": [
4247
3797
  "dist",
4248
3798
  "commands",
4249
- "docker",
3799
+ "execution",
4250
3800
  "index.js"
4251
3801
  ]
4252
3802
  },
4253
- "docker:list": {
3803
+ "execution:list": {
4254
3804
  "aliases": [],
4255
3805
  "args": {},
4256
- "description": "Show Docker containers from agent_work table with status",
3806
+ "description": "List running and recent executions",
4257
3807
  "examples": [
4258
3808
  "<%= config.bin %> <%= command.id %>",
4259
- "<%= config.bin %> <%= command.id %> --all",
4260
- "<%= config.bin %> <%= command.id %> --running"
3809
+ "<%= config.bin %> <%= command.id %> --status running",
3810
+ "<%= config.bin %> <%= command.id %> --agent alice",
3811
+ "<%= config.bin %> <%= command.id %> --limit 50"
4261
3812
  ],
4262
3813
  "flags": {
4263
3814
  "json": {
@@ -4273,52 +3824,69 @@
4273
3824
  "allowNo": false,
4274
3825
  "type": "boolean"
4275
3826
  },
4276
- "all": {
3827
+ "status": {
3828
+ "char": "s",
3829
+ "description": "Filter by status",
3830
+ "name": "status",
3831
+ "hasDynamicHelp": false,
3832
+ "multiple": false,
3833
+ "options": [
3834
+ "starting",
3835
+ "running",
3836
+ "completed",
3837
+ "failed",
3838
+ "stopped"
3839
+ ],
3840
+ "type": "option"
3841
+ },
3842
+ "agent": {
4277
3843
  "char": "a",
4278
- "description": "Show all containers (including non-devcontainer)",
4279
- "name": "all",
4280
- "allowNo": false,
4281
- "type": "boolean"
3844
+ "description": "Filter by agent name",
3845
+ "name": "agent",
3846
+ "hasDynamicHelp": false,
3847
+ "multiple": false,
3848
+ "type": "option"
4282
3849
  },
4283
- "running": {
4284
- "char": "r",
4285
- "description": "Only show running containers",
4286
- "name": "running",
4287
- "allowNo": false,
4288
- "type": "boolean"
3850
+ "limit": {
3851
+ "char": "l",
3852
+ "description": "Number of results",
3853
+ "name": "limit",
3854
+ "default": 20,
3855
+ "hasDynamicHelp": false,
3856
+ "multiple": false,
3857
+ "type": "option"
4289
3858
  }
4290
3859
  },
4291
3860
  "hasDynamicHelp": false,
4292
3861
  "hiddenAliases": [],
4293
- "id": "docker:list",
3862
+ "id": "execution:list",
4294
3863
  "pluginAlias": "@proletariat/cli",
4295
3864
  "pluginName": "@proletariat/cli",
4296
3865
  "pluginType": "core",
4297
3866
  "strict": true,
4298
- "enableJsonFlag": false,
4299
3867
  "isESM": true,
4300
3868
  "relativePath": [
4301
3869
  "dist",
4302
3870
  "commands",
4303
- "docker",
3871
+ "execution",
4304
3872
  "list.js"
4305
3873
  ]
4306
3874
  },
4307
- "docker:logs": {
3875
+ "execution:logs": {
4308
3876
  "aliases": [],
4309
3877
  "args": {
4310
- "target": {
4311
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4312
- "name": "target",
4313
- "required": true
3878
+ "id": {
3879
+ "description": "Execution ID - prompts if not provided",
3880
+ "name": "id",
3881
+ "required": false
4314
3882
  }
4315
3883
  },
4316
- "description": "View logs from a container (by execution ID, agent name, or container ID)",
3884
+ "description": "View execution logs",
4317
3885
  "examples": [
4318
3886
  "<%= config.bin %> <%= command.id %> WORK-001",
4319
- "<%= config.bin %> <%= command.id %> kalanick",
4320
- "<%= config.bin %> <%= command.id %> abc123 --follow",
4321
- "<%= config.bin %> <%= command.id %> WORK-001 --tail 100"
3887
+ "<%= config.bin %> <%= command.id %> WORK-001 --follow",
3888
+ "<%= config.bin %> <%= command.id %> WORK-001 --tail 50",
3889
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4322
3890
  ],
4323
3891
  "flags": {
4324
3892
  "json": {
@@ -4336,138 +3904,54 @@
4336
3904
  },
4337
3905
  "follow": {
4338
3906
  "char": "f",
4339
- "description": "Follow log output",
3907
+ "description": "Stream logs in real-time",
4340
3908
  "name": "follow",
4341
3909
  "allowNo": false,
4342
3910
  "type": "boolean"
4343
3911
  },
4344
3912
  "tail": {
4345
3913
  "char": "n",
4346
- "description": "Number of lines to show from the end",
3914
+ "description": "Show last n lines",
4347
3915
  "name": "tail",
4348
- "default": 100,
4349
3916
  "hasDynamicHelp": false,
4350
3917
  "multiple": false,
4351
3918
  "type": "option"
4352
- },
4353
- "timestamps": {
4354
- "char": "t",
4355
- "description": "Show timestamps",
4356
- "name": "timestamps",
4357
- "allowNo": false,
4358
- "type": "boolean"
4359
3919
  }
4360
3920
  },
4361
3921
  "hasDynamicHelp": false,
4362
3922
  "hiddenAliases": [],
4363
- "id": "docker:logs",
3923
+ "id": "execution:logs",
4364
3924
  "pluginAlias": "@proletariat/cli",
4365
3925
  "pluginName": "@proletariat/cli",
4366
3926
  "pluginType": "core",
4367
3927
  "strict": true,
4368
- "enableJsonFlag": false,
4369
3928
  "isESM": true,
4370
3929
  "relativePath": [
4371
3930
  "dist",
4372
3931
  "commands",
4373
- "docker",
3932
+ "execution",
4374
3933
  "logs.js"
4375
3934
  ]
4376
3935
  },
4377
- "docker:prune": {
3936
+ "execution:stop": {
4378
3937
  "aliases": [],
4379
- "args": {},
4380
- "description": "Remove unused Docker resources (containers, images, volumes, networks)",
4381
- "examples": [
4382
- "<%= config.bin %> <%= command.id %>",
4383
- "<%= config.bin %> <%= command.id %> --all",
4384
- "<%= config.bin %> <%= command.id %> --volumes",
4385
- "<%= config.bin %> <%= command.id %> --dry-run"
4386
- ],
4387
- "flags": {
4388
- "force": {
4389
- "aliases": [
4390
- "yes",
4391
- "y"
4392
- ],
4393
- "char": "f",
4394
- "description": "Skip confirmation prompt",
4395
- "name": "force",
4396
- "allowNo": false,
4397
- "type": "boolean"
4398
- },
4399
- "dry-run": {
4400
- "char": "d",
4401
- "description": "Show what would be removed without removing",
4402
- "name": "dry-run",
4403
- "allowNo": false,
4404
- "type": "boolean"
4405
- },
4406
- "all": {
4407
- "char": "a",
4408
- "description": "Remove all unused images, not just dangling ones",
4409
- "name": "all",
4410
- "allowNo": false,
4411
- "type": "boolean"
4412
- },
4413
- "volumes": {
4414
- "description": "Also prune volumes (dangerous - data loss possible)",
4415
- "name": "volumes",
4416
- "allowNo": false,
4417
- "type": "boolean"
4418
- },
4419
- "json": {
4420
- "description": "Output as JSON for AI agents/scripts",
4421
- "name": "json",
4422
- "allowNo": false,
4423
- "type": "boolean"
4424
- },
4425
- "machine": {
4426
- "char": "m",
4427
- "description": "Output as JSON for AI agents/scripts",
4428
- "name": "machine",
4429
- "allowNo": false,
4430
- "type": "boolean"
3938
+ "args": {
3939
+ "id": {
3940
+ "description": "Execution ID - prompts if not provided (ignored if --all or --agent used)",
3941
+ "name": "id",
3942
+ "required": false
4431
3943
  }
4432
3944
  },
4433
- "hasDynamicHelp": false,
4434
- "hiddenAliases": [],
4435
- "id": "docker:prune",
4436
- "pluginAlias": "@proletariat/cli",
4437
- "pluginName": "@proletariat/cli",
4438
- "pluginType": "core",
4439
- "strict": true,
4440
- "enableJsonFlag": false,
4441
- "isESM": true,
4442
- "relativePath": [
4443
- "dist",
4444
- "commands",
4445
- "docker",
4446
- "prune.js"
4447
- ]
4448
- },
4449
- "docker:rebuild-cache": {
4450
- "aliases": [],
4451
- "args": {},
4452
- "description": "Rebuild the shared pnpm store cache volume for fast agent installs",
3945
+ "description": "Stop running execution(s)",
4453
3946
  "examples": [
4454
- "<%= config.bin %> <%= command.id %>",
4455
- "<%= config.bin %> <%= command.id %> --force"
3947
+ "<%= config.bin %> <%= command.id %> WORK-001",
3948
+ "<%= config.bin %> <%= command.id %> WORK-001 --force",
3949
+ "<%= config.bin %> <%= command.id %> # Interactive mode",
3950
+ "<%= config.bin %> <%= command.id %> --all",
3951
+ "<%= config.bin %> <%= command.id %> --all --force",
3952
+ "<%= config.bin %> <%= command.id %> --agent altman"
4456
3953
  ],
4457
3954
  "flags": {
4458
- "force": {
4459
- "char": "f",
4460
- "description": "Delete and rebuild the cache even if it already exists",
4461
- "name": "force",
4462
- "allowNo": false,
4463
- "type": "boolean"
4464
- },
4465
- "delete-only": {
4466
- "description": "Only delete the cache volume (next agent spawn rebuilds it)",
4467
- "name": "delete-only",
4468
- "allowNo": false,
4469
- "type": "boolean"
4470
- },
4471
3955
  "json": {
4472
3956
  "description": "Output as JSON for AI agents/scripts",
4473
3957
  "name": "json",
@@ -4480,104 +3964,57 @@
4480
3964
  "name": "machine",
4481
3965
  "allowNo": false,
4482
3966
  "type": "boolean"
4483
- }
4484
- },
4485
- "hasDynamicHelp": false,
4486
- "hiddenAliases": [],
4487
- "id": "docker:rebuild-cache",
4488
- "pluginAlias": "@proletariat/cli",
4489
- "pluginName": "@proletariat/cli",
4490
- "pluginType": "core",
4491
- "strict": true,
4492
- "enableJsonFlag": false,
4493
- "isESM": true,
4494
- "relativePath": [
4495
- "dist",
4496
- "commands",
4497
- "docker",
4498
- "rebuild-cache.js"
4499
- ]
4500
- },
4501
- "docker:restart": {
4502
- "aliases": [],
4503
- "args": {
4504
- "target": {
4505
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4506
- "name": "target",
4507
- "required": true
4508
- }
4509
- },
4510
- "description": "Restart a container (by execution ID, agent name, or container ID)",
4511
- "examples": [
4512
- "<%= config.bin %> <%= command.id %> WORK-001",
4513
- "<%= config.bin %> <%= command.id %> kalanick",
4514
- "<%= config.bin %> <%= command.id %> abc123 --force"
4515
- ],
4516
- "flags": {
3967
+ },
4517
3968
  "force": {
4518
- "aliases": [
4519
- "yes",
4520
- "y"
4521
- ],
4522
3969
  "char": "f",
4523
- "description": "Skip confirmation prompt",
4524
- "name": "force",
4525
- "allowNo": false,
4526
- "type": "boolean"
4527
- },
4528
- "time": {
4529
- "char": "t",
4530
- "description": "Seconds to wait before killing the container during stop",
4531
- "name": "time",
4532
- "default": 10,
4533
- "hasDynamicHelp": false,
4534
- "multiple": false,
4535
- "type": "option"
4536
- },
4537
- "json": {
4538
- "description": "Output as JSON for AI agents/scripts",
4539
- "name": "json",
3970
+ "description": "Force kill (SIGKILL instead of SIGTERM)",
3971
+ "name": "force",
4540
3972
  "allowNo": false,
4541
3973
  "type": "boolean"
4542
3974
  },
4543
- "machine": {
4544
- "char": "m",
4545
- "description": "Output as JSON for AI agents/scripts",
4546
- "name": "machine",
3975
+ "all": {
3976
+ "description": "Stop all running executions",
3977
+ "name": "all",
4547
3978
  "allowNo": false,
4548
3979
  "type": "boolean"
3980
+ },
3981
+ "agent": {
3982
+ "char": "a",
3983
+ "description": "Stop all executions for a specific agent",
3984
+ "name": "agent",
3985
+ "hasDynamicHelp": false,
3986
+ "multiple": false,
3987
+ "type": "option"
4549
3988
  }
4550
3989
  },
4551
3990
  "hasDynamicHelp": false,
4552
3991
  "hiddenAliases": [],
4553
- "id": "docker:restart",
3992
+ "id": "execution:stop",
4554
3993
  "pluginAlias": "@proletariat/cli",
4555
3994
  "pluginName": "@proletariat/cli",
4556
3995
  "pluginType": "core",
4557
3996
  "strict": true,
4558
- "enableJsonFlag": false,
4559
3997
  "isESM": true,
4560
3998
  "relativePath": [
4561
3999
  "dist",
4562
4000
  "commands",
4563
- "docker",
4564
- "restart.js"
4001
+ "execution",
4002
+ "stop.js"
4565
4003
  ]
4566
4004
  },
4567
- "docker:shell": {
4005
+ "execution:view": {
4568
4006
  "aliases": [],
4569
4007
  "args": {
4570
- "target": {
4571
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4572
- "name": "target",
4573
- "required": true
4008
+ "id": {
4009
+ "description": "Execution ID - prompts if not provided",
4010
+ "name": "id",
4011
+ "required": false
4574
4012
  }
4575
4013
  },
4576
- "description": "Open a shell in a running container (by execution ID, agent name, or container ID)",
4014
+ "description": "View details of a specific execution",
4577
4015
  "examples": [
4578
4016
  "<%= config.bin %> <%= command.id %> WORK-001",
4579
- "<%= config.bin %> <%= command.id %> kalanick",
4580
- "<%= config.bin %> <%= command.id %> abc123 --shell /bin/bash"
4017
+ "<%= config.bin %> <%= command.id %> # Interactive mode"
4581
4018
  ],
4582
4019
  "flags": {
4583
4020
  "json": {
@@ -4592,63 +4029,30 @@
4592
4029
  "name": "machine",
4593
4030
  "allowNo": false,
4594
4031
  "type": "boolean"
4595
- },
4596
- "shell": {
4597
- "char": "s",
4598
- "description": "Shell to use",
4599
- "name": "shell",
4600
- "default": "/bin/sh",
4601
- "hasDynamicHelp": false,
4602
- "multiple": false,
4603
- "type": "option"
4604
- },
4605
- "user": {
4606
- "char": "u",
4607
- "description": "User to run as",
4608
- "name": "user",
4609
- "hasDynamicHelp": false,
4610
- "multiple": false,
4611
- "type": "option"
4612
- },
4613
- "workdir": {
4614
- "char": "w",
4615
- "description": "Working directory inside the container",
4616
- "name": "workdir",
4617
- "hasDynamicHelp": false,
4618
- "multiple": false,
4619
- "type": "option"
4620
4032
  }
4621
4033
  },
4622
4034
  "hasDynamicHelp": false,
4623
4035
  "hiddenAliases": [],
4624
- "id": "docker:shell",
4036
+ "id": "execution:view",
4625
4037
  "pluginAlias": "@proletariat/cli",
4626
4038
  "pluginName": "@proletariat/cli",
4627
4039
  "pluginType": "core",
4628
4040
  "strict": true,
4629
- "enableJsonFlag": false,
4630
4041
  "isESM": true,
4631
4042
  "relativePath": [
4632
4043
  "dist",
4633
4044
  "commands",
4634
- "docker",
4635
- "shell.js"
4045
+ "execution",
4046
+ "view.js"
4636
4047
  ]
4637
4048
  },
4638
- "docker:start": {
4049
+ "feedback": {
4639
4050
  "aliases": [],
4640
- "args": {
4641
- "target": {
4642
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4643
- "name": "target",
4644
- "required": true
4645
- }
4646
- },
4647
- "description": "Start a stopped container (by execution ID, agent name, or container ID)",
4051
+ "args": {},
4052
+ "description": "Interactive menu for feedback and issue operations",
4648
4053
  "examples": [
4649
- "<%= config.bin %> <%= command.id %> WORK-001",
4650
- "<%= config.bin %> <%= command.id %> kalanick",
4651
- "<%= config.bin %> <%= command.id %> abc123"
4054
+ "<%= config.bin %> <%= command.id %>",
4055
+ "<%= config.bin %> <%= command.id %> --action submit"
4652
4056
  ],
4653
4057
  "flags": {
4654
4058
  "json": {
@@ -4664,17 +4068,23 @@
4664
4068
  "allowNo": false,
4665
4069
  "type": "boolean"
4666
4070
  },
4667
- "attach": {
4071
+ "action": {
4668
4072
  "char": "a",
4669
- "description": "Attach to container after starting",
4670
- "name": "attach",
4671
- "allowNo": false,
4672
- "type": "boolean"
4073
+ "description": "Action to perform (submit, list, view)",
4074
+ "name": "action",
4075
+ "hasDynamicHelp": false,
4076
+ "multiple": false,
4077
+ "options": [
4078
+ "submit",
4079
+ "list",
4080
+ "view"
4081
+ ],
4082
+ "type": "option"
4673
4083
  }
4674
4084
  },
4675
4085
  "hasDynamicHelp": false,
4676
4086
  "hiddenAliases": [],
4677
- "id": "docker:start",
4087
+ "id": "feedback",
4678
4088
  "pluginAlias": "@proletariat/cli",
4679
4089
  "pluginName": "@proletariat/cli",
4680
4090
  "pluginType": "core",
@@ -4684,16 +4094,19 @@
4684
4094
  "relativePath": [
4685
4095
  "dist",
4686
4096
  "commands",
4687
- "docker",
4688
- "start.js"
4097
+ "feedback",
4098
+ "index.js"
4689
4099
  ]
4690
4100
  },
4691
- "docker:status": {
4101
+ "feedback:list": {
4692
4102
  "aliases": [],
4693
4103
  "args": {},
4694
- "description": "Check if Docker daemon is running",
4104
+ "description": "List recent feedback issues from the repository",
4695
4105
  "examples": [
4696
- "<%= config.bin %> <%= command.id %>"
4106
+ "<%= config.bin %> <%= command.id %>",
4107
+ "<%= config.bin %> <%= command.id %> --category bug",
4108
+ "<%= config.bin %> <%= command.id %> --state closed --limit 10",
4109
+ "<%= config.bin %> <%= command.id %> --json"
4697
4110
  ],
4698
4111
  "flags": {
4699
4112
  "json": {
@@ -4708,11 +4121,47 @@
4708
4121
  "name": "machine",
4709
4122
  "allowNo": false,
4710
4123
  "type": "boolean"
4124
+ },
4125
+ "category": {
4126
+ "char": "c",
4127
+ "description": "Filter by category (bug, feature, general)",
4128
+ "name": "category",
4129
+ "hasDynamicHelp": false,
4130
+ "multiple": false,
4131
+ "options": [
4132
+ "bug",
4133
+ "feature",
4134
+ "general"
4135
+ ],
4136
+ "type": "option"
4137
+ },
4138
+ "state": {
4139
+ "char": "s",
4140
+ "description": "Filter by state",
4141
+ "name": "state",
4142
+ "default": "open",
4143
+ "hasDynamicHelp": false,
4144
+ "multiple": false,
4145
+ "options": [
4146
+ "open",
4147
+ "closed",
4148
+ "all"
4149
+ ],
4150
+ "type": "option"
4151
+ },
4152
+ "limit": {
4153
+ "char": "l",
4154
+ "description": "Maximum number of issues to show",
4155
+ "name": "limit",
4156
+ "default": 20,
4157
+ "hasDynamicHelp": false,
4158
+ "multiple": false,
4159
+ "type": "option"
4711
4160
  }
4712
4161
  },
4713
4162
  "hasDynamicHelp": false,
4714
4163
  "hiddenAliases": [],
4715
- "id": "docker:status",
4164
+ "id": "feedback:list",
4716
4165
  "pluginAlias": "@proletariat/cli",
4717
4166
  "pluginName": "@proletariat/cli",
4718
4167
  "pluginType": "core",
@@ -4722,46 +4171,20 @@
4722
4171
  "relativePath": [
4723
4172
  "dist",
4724
4173
  "commands",
4725
- "docker",
4726
- "status.js"
4174
+ "feedback",
4175
+ "list.js"
4727
4176
  ]
4728
4177
  },
4729
- "docker:stop": {
4178
+ "feedback:submit": {
4730
4179
  "aliases": [],
4731
- "args": {
4732
- "target": {
4733
- "description": "Execution ID (WORK-XXX), agent name, or container ID",
4734
- "name": "target",
4735
- "required": true
4736
- }
4737
- },
4738
- "description": "Stop a running container (by execution ID, agent name, or container ID)",
4180
+ "args": {},
4181
+ "description": "Submit feedback, bug reports, or feature requests to GitHub Issues",
4739
4182
  "examples": [
4740
- "<%= config.bin %> <%= command.id %> WORK-001",
4741
- "<%= config.bin %> <%= command.id %> kalanick",
4742
- "<%= config.bin %> <%= command.id %> abc123 --force"
4183
+ "<%= config.bin %> <%= command.id %>",
4184
+ "<%= config.bin %> <%= command.id %> --title \"Bug in CLI\" --body \"Description here\" --category bug",
4185
+ "<%= config.bin %> <%= command.id %> --json"
4743
4186
  ],
4744
4187
  "flags": {
4745
- "force": {
4746
- "aliases": [
4747
- "yes",
4748
- "y"
4749
- ],
4750
- "char": "f",
4751
- "description": "Skip confirmation prompt",
4752
- "name": "force",
4753
- "allowNo": false,
4754
- "type": "boolean"
4755
- },
4756
- "time": {
4757
- "char": "t",
4758
- "description": "Seconds to wait before killing the container",
4759
- "name": "time",
4760
- "default": 10,
4761
- "hasDynamicHelp": false,
4762
- "multiple": false,
4763
- "type": "option"
4764
- },
4765
4188
  "json": {
4766
4189
  "description": "Output as JSON for AI agents/scripts",
4767
4190
  "name": "json",
@@ -4774,30 +4197,65 @@
4774
4197
  "name": "machine",
4775
4198
  "allowNo": false,
4776
4199
  "type": "boolean"
4200
+ },
4201
+ "title": {
4202
+ "char": "t",
4203
+ "description": "Issue title (one-liner) [required for non-interactive]",
4204
+ "name": "title",
4205
+ "hasDynamicHelp": false,
4206
+ "multiple": false,
4207
+ "type": "option"
4208
+ },
4209
+ "body": {
4210
+ "char": "b",
4211
+ "description": "Issue description [required for non-interactive]",
4212
+ "name": "body",
4213
+ "hasDynamicHelp": false,
4214
+ "multiple": false,
4215
+ "type": "option"
4216
+ },
4217
+ "category": {
4218
+ "char": "c",
4219
+ "description": "Feedback category",
4220
+ "name": "category",
4221
+ "hasDynamicHelp": false,
4222
+ "multiple": false,
4223
+ "options": [
4224
+ "bug",
4225
+ "feature",
4226
+ "general"
4227
+ ],
4228
+ "type": "option"
4777
4229
  }
4778
4230
  },
4779
4231
  "hasDynamicHelp": false,
4780
4232
  "hiddenAliases": [],
4781
- "id": "docker:stop",
4233
+ "id": "feedback:submit",
4782
4234
  "pluginAlias": "@proletariat/cli",
4783
4235
  "pluginName": "@proletariat/cli",
4784
4236
  "pluginType": "core",
4785
4237
  "strict": true,
4786
- "enableJsonFlag": false,
4787
4238
  "isESM": true,
4788
4239
  "relativePath": [
4789
4240
  "dist",
4790
4241
  "commands",
4791
- "docker",
4792
- "stop.js"
4242
+ "feedback",
4243
+ "submit.js"
4793
4244
  ]
4794
4245
  },
4795
- "docker:sync": {
4246
+ "feedback:view": {
4796
4247
  "aliases": [],
4797
- "args": {},
4798
- "description": "Sync container status from Docker into the database",
4248
+ "args": {
4249
+ "number": {
4250
+ "description": "Issue number to view",
4251
+ "name": "number",
4252
+ "required": true
4253
+ }
4254
+ },
4255
+ "description": "View details of a specific feedback issue",
4799
4256
  "examples": [
4800
- "<%= config.bin %> <%= command.id %>"
4257
+ "<%= config.bin %> <%= command.id %> 123",
4258
+ "<%= config.bin %> <%= command.id %> 123 --json"
4801
4259
  ],
4802
4260
  "flags": {
4803
4261
  "json": {
@@ -4816,7 +4274,7 @@
4816
4274
  },
4817
4275
  "hasDynamicHelp": false,
4818
4276
  "hiddenAliases": [],
4819
- "id": "docker:sync",
4277
+ "id": "feedback:view",
4820
4278
  "pluginAlias": "@proletariat/cli",
4821
4279
  "pluginName": "@proletariat/cli",
4822
4280
  "pluginType": "core",
@@ -4826,8 +4284,8 @@
4826
4284
  "relativePath": [
4827
4285
  "dist",
4828
4286
  "commands",
4829
- "docker",
4830
- "sync.js"
4287
+ "feedback",
4288
+ "view.js"
4831
4289
  ]
4832
4290
  },
4833
4291
  "gh": {
@@ -7548,7 +7006,7 @@
7548
7006
  "required": false
7549
7007
  }
7550
7008
  },
7551
- "description": "Attach to an active tmux session",
7009
+ "description": "Attach to an active agent session (DB-first: only attaches to tracked executions)",
7552
7010
  "examples": [
7553
7011
  "<%= config.bin %> <%= command.id %>",
7554
7012
  "<%= config.bin %> <%= command.id %> TKT-347-implement-altman",
@@ -7974,10 +7432,11 @@
7974
7432
  "session:list": {
7975
7433
  "aliases": [],
7976
7434
  "args": {},
7977
- "description": "List active tmux sessions (host and container)",
7435
+ "description": "List active agent sessions (DB-first: shows tracked executions with runtime liveness)",
7978
7436
  "examples": [
7979
7437
  "<%= config.bin %> <%= command.id %>",
7980
- "<%= config.bin %> <%= command.id %> --all"
7438
+ "<%= config.bin %> <%= command.id %> --all",
7439
+ "<%= config.bin %> <%= command.id %> --orphans"
7981
7440
  ],
7982
7441
  "flags": {
7983
7442
  "json": {
@@ -7995,10 +7454,16 @@
7995
7454
  },
7996
7455
  "all": {
7997
7456
  "char": "a",
7998
- "description": "Show all sessions including stale DB records",
7457
+ "description": "Show all sessions including stale DB records (dead runtime)",
7999
7458
  "name": "all",
8000
7459
  "allowNo": false,
8001
7460
  "type": "boolean"
7461
+ },
7462
+ "orphans": {
7463
+ "description": "Also show orphan tmux sessions not tracked in the DB (garbage to prune)",
7464
+ "name": "orphans",
7465
+ "allowNo": false,
7466
+ "type": "boolean"
8002
7467
  }
8003
7468
  },
8004
7469
  "hasDynamicHelp": false,
@@ -8190,7 +7655,7 @@
8190
7655
  "session:prune": {
8191
7656
  "aliases": [],
8192
7657
  "args": {},
8193
- "description": "Clean up stale sessions, orphan tmux sessions, and idle ephemeral agents",
7658
+ "description": "Clean up stale sessions, orphan tmux sessions, dead Docker containers, and idle ephemeral agents",
8194
7659
  "examples": [
8195
7660
  "<%= config.bin %> session prune",
8196
7661
  "<%= config.bin %> session prune --dry-run",
@@ -8717,6 +8182,290 @@
8717
8182
  "logs.js"
8718
8183
  ]
8719
8184
  },
8185
+ "sync": {
8186
+ "aliases": [],
8187
+ "args": {},
8188
+ "description": "Reconcile ticket state with GitHub PR status",
8189
+ "examples": [
8190
+ "<%= config.bin %> <%= command.id %>",
8191
+ "<%= config.bin %> <%= command.id %> --dry-run"
8192
+ ],
8193
+ "flags": {
8194
+ "project": {
8195
+ "char": "P",
8196
+ "description": "Project ID (uses first project if only one exists)",
8197
+ "name": "project",
8198
+ "hasDynamicHelp": false,
8199
+ "multiple": false,
8200
+ "type": "option"
8201
+ },
8202
+ "json": {
8203
+ "description": "Output as JSON for AI agents/scripts",
8204
+ "name": "json",
8205
+ "allowNo": false,
8206
+ "type": "boolean"
8207
+ },
8208
+ "machine": {
8209
+ "char": "m",
8210
+ "description": "Output as JSON for AI agents/scripts",
8211
+ "name": "machine",
8212
+ "allowNo": false,
8213
+ "type": "boolean"
8214
+ },
8215
+ "dry-run": {
8216
+ "description": "Show what would change without applying",
8217
+ "name": "dry-run",
8218
+ "allowNo": false,
8219
+ "type": "boolean"
8220
+ }
8221
+ },
8222
+ "hasDynamicHelp": false,
8223
+ "hiddenAliases": [],
8224
+ "id": "sync",
8225
+ "pluginAlias": "@proletariat/cli",
8226
+ "pluginName": "@proletariat/cli",
8227
+ "pluginType": "core",
8228
+ "strict": true,
8229
+ "isESM": true,
8230
+ "relativePath": [
8231
+ "dist",
8232
+ "commands",
8233
+ "sync",
8234
+ "index.js"
8235
+ ]
8236
+ },
8237
+ "sync:pause": {
8238
+ "aliases": [],
8239
+ "args": {},
8240
+ "description": "Pause the merge queue (keep monitoring but stop merging)",
8241
+ "examples": [
8242
+ "<%= config.bin %> <%= command.id %>"
8243
+ ],
8244
+ "flags": {
8245
+ "json": {
8246
+ "description": "Output as JSON for AI agents/scripts",
8247
+ "name": "json",
8248
+ "allowNo": false,
8249
+ "type": "boolean"
8250
+ },
8251
+ "machine": {
8252
+ "char": "m",
8253
+ "description": "Output as JSON for AI agents/scripts",
8254
+ "name": "machine",
8255
+ "allowNo": false,
8256
+ "type": "boolean"
8257
+ }
8258
+ },
8259
+ "hasDynamicHelp": false,
8260
+ "hiddenAliases": [],
8261
+ "id": "sync:pause",
8262
+ "pluginAlias": "@proletariat/cli",
8263
+ "pluginName": "@proletariat/cli",
8264
+ "pluginType": "core",
8265
+ "strict": true,
8266
+ "isESM": true,
8267
+ "relativePath": [
8268
+ "dist",
8269
+ "commands",
8270
+ "sync",
8271
+ "pause.js"
8272
+ ]
8273
+ },
8274
+ "sync:queue": {
8275
+ "aliases": [],
8276
+ "args": {},
8277
+ "description": "Show the merge queue state",
8278
+ "examples": [
8279
+ "<%= config.bin %> <%= command.id %>"
8280
+ ],
8281
+ "flags": {
8282
+ "json": {
8283
+ "description": "Output as JSON for AI agents/scripts",
8284
+ "name": "json",
8285
+ "allowNo": false,
8286
+ "type": "boolean"
8287
+ },
8288
+ "machine": {
8289
+ "char": "m",
8290
+ "description": "Output as JSON for AI agents/scripts",
8291
+ "name": "machine",
8292
+ "allowNo": false,
8293
+ "type": "boolean"
8294
+ }
8295
+ },
8296
+ "hasDynamicHelp": false,
8297
+ "hiddenAliases": [],
8298
+ "id": "sync:queue",
8299
+ "pluginAlias": "@proletariat/cli",
8300
+ "pluginName": "@proletariat/cli",
8301
+ "pluginType": "core",
8302
+ "strict": true,
8303
+ "isESM": true,
8304
+ "relativePath": [
8305
+ "dist",
8306
+ "commands",
8307
+ "sync",
8308
+ "queue.js"
8309
+ ]
8310
+ },
8311
+ "sync:resume": {
8312
+ "aliases": [],
8313
+ "args": {},
8314
+ "description": "Resume the merge queue",
8315
+ "examples": [
8316
+ "<%= config.bin %> <%= command.id %>"
8317
+ ],
8318
+ "flags": {
8319
+ "json": {
8320
+ "description": "Output as JSON for AI agents/scripts",
8321
+ "name": "json",
8322
+ "allowNo": false,
8323
+ "type": "boolean"
8324
+ },
8325
+ "machine": {
8326
+ "char": "m",
8327
+ "description": "Output as JSON for AI agents/scripts",
8328
+ "name": "machine",
8329
+ "allowNo": false,
8330
+ "type": "boolean"
8331
+ }
8332
+ },
8333
+ "hasDynamicHelp": false,
8334
+ "hiddenAliases": [],
8335
+ "id": "sync:resume",
8336
+ "pluginAlias": "@proletariat/cli",
8337
+ "pluginName": "@proletariat/cli",
8338
+ "pluginType": "core",
8339
+ "strict": true,
8340
+ "isESM": true,
8341
+ "relativePath": [
8342
+ "dist",
8343
+ "commands",
8344
+ "sync",
8345
+ "resume.js"
8346
+ ]
8347
+ },
8348
+ "sync:start": {
8349
+ "aliases": [],
8350
+ "args": {},
8351
+ "description": "Start the board sync daemon",
8352
+ "examples": [
8353
+ "<%= config.bin %> <%= command.id %>",
8354
+ "<%= config.bin %> <%= command.id %> --interval 30"
8355
+ ],
8356
+ "flags": {
8357
+ "json": {
8358
+ "description": "Output as JSON for AI agents/scripts",
8359
+ "name": "json",
8360
+ "allowNo": false,
8361
+ "type": "boolean"
8362
+ },
8363
+ "machine": {
8364
+ "char": "m",
8365
+ "description": "Output as JSON for AI agents/scripts",
8366
+ "name": "machine",
8367
+ "allowNo": false,
8368
+ "type": "boolean"
8369
+ },
8370
+ "interval": {
8371
+ "char": "i",
8372
+ "description": "Poll interval in seconds",
8373
+ "name": "interval",
8374
+ "default": 60,
8375
+ "hasDynamicHelp": false,
8376
+ "multiple": false,
8377
+ "type": "option"
8378
+ }
8379
+ },
8380
+ "hasDynamicHelp": false,
8381
+ "hiddenAliases": [],
8382
+ "id": "sync:start",
8383
+ "pluginAlias": "@proletariat/cli",
8384
+ "pluginName": "@proletariat/cli",
8385
+ "pluginType": "core",
8386
+ "strict": true,
8387
+ "isESM": true,
8388
+ "relativePath": [
8389
+ "dist",
8390
+ "commands",
8391
+ "sync",
8392
+ "start.js"
8393
+ ]
8394
+ },
8395
+ "sync:status": {
8396
+ "aliases": [],
8397
+ "args": {},
8398
+ "description": "Check the board sync daemon status",
8399
+ "examples": [
8400
+ "<%= config.bin %> <%= command.id %>"
8401
+ ],
8402
+ "flags": {
8403
+ "json": {
8404
+ "description": "Output as JSON for AI agents/scripts",
8405
+ "name": "json",
8406
+ "allowNo": false,
8407
+ "type": "boolean"
8408
+ },
8409
+ "machine": {
8410
+ "char": "m",
8411
+ "description": "Output as JSON for AI agents/scripts",
8412
+ "name": "machine",
8413
+ "allowNo": false,
8414
+ "type": "boolean"
8415
+ }
8416
+ },
8417
+ "hasDynamicHelp": false,
8418
+ "hiddenAliases": [],
8419
+ "id": "sync:status",
8420
+ "pluginAlias": "@proletariat/cli",
8421
+ "pluginName": "@proletariat/cli",
8422
+ "pluginType": "core",
8423
+ "strict": true,
8424
+ "isESM": true,
8425
+ "relativePath": [
8426
+ "dist",
8427
+ "commands",
8428
+ "sync",
8429
+ "status.js"
8430
+ ]
8431
+ },
8432
+ "sync:stop": {
8433
+ "aliases": [],
8434
+ "args": {},
8435
+ "description": "Stop the board sync daemon",
8436
+ "examples": [
8437
+ "<%= config.bin %> <%= command.id %>"
8438
+ ],
8439
+ "flags": {
8440
+ "json": {
8441
+ "description": "Output as JSON for AI agents/scripts",
8442
+ "name": "json",
8443
+ "allowNo": false,
8444
+ "type": "boolean"
8445
+ },
8446
+ "machine": {
8447
+ "char": "m",
8448
+ "description": "Output as JSON for AI agents/scripts",
8449
+ "name": "machine",
8450
+ "allowNo": false,
8451
+ "type": "boolean"
8452
+ }
8453
+ },
8454
+ "hasDynamicHelp": false,
8455
+ "hiddenAliases": [],
8456
+ "id": "sync:stop",
8457
+ "pluginAlias": "@proletariat/cli",
8458
+ "pluginName": "@proletariat/cli",
8459
+ "pluginType": "core",
8460
+ "strict": true,
8461
+ "isESM": true,
8462
+ "relativePath": [
8463
+ "dist",
8464
+ "commands",
8465
+ "sync",
8466
+ "stop.js"
8467
+ ]
8468
+ },
8720
8469
  "telemetry:disable": {
8721
8470
  "aliases": [],
8722
8471
  "args": {},
@@ -12616,7 +12365,7 @@
12616
12365
  "<%= config.bin %> <%= command.id %> --from-issue # Uses workspace default source",
12617
12366
  "<%= config.bin %> <%= command.id %> TKT-001 --review-gate auto # Ship directly, no approval needed",
12618
12367
  "<%= config.bin %> <%= command.id %> TKT-001 --review-gate post # Ship then human reviews after",
12619
- "<%= config.bin %> <%= command.id %> PRLT-1085 PRLT-1086 PRLT-1087 --action implement --create-pr # Batch spawn in parallel",
12368
+ "<%= config.bin %> <%= command.id %> PRLT-1085 PRLT-1086 PRLT-1087 --create-pr # Batch spawn in parallel",
12620
12369
  "<%= config.bin %> <%= command.id %> TKT-001 TKT-002 TKT-003 --max-parallel 2 # Limit concurrent spawns"
12621
12370
  ],
12622
12371
  "flags": {
@@ -12662,8 +12411,8 @@
12662
12411
  "type": "option"
12663
12412
  },
12664
12413
  "action": {
12665
- "char": "A",
12666
- "description": "Action to perform (e.g., implement, groom, review)",
12414
+ "description": "Action to perform (internal — use work groom/implement/review/resolve instead)",
12415
+ "hidden": true,
12667
12416
  "name": "action",
12668
12417
  "hasDynamicHelp": false,
12669
12418
  "multiple": false,
@@ -13988,5 +13737,5 @@
13988
13737
  ]
13989
13738
  }
13990
13739
  },
13991
- "version": "0.3.95"
13740
+ "version": "0.3.96"
13992
13741
  }