@proletariat/cli 0.3.86 → 0.3.88

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 (170) hide show
  1. package/dist/commands/config/index.js +42 -0
  2. package/dist/commands/config/index.js.map +1 -1
  3. package/dist/commands/init.d.ts +6 -1
  4. package/dist/commands/init.js +44 -89
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/commands/new.d.ts +30 -2
  7. package/dist/commands/new.js +141 -9
  8. package/dist/commands/new.js.map +1 -1
  9. package/dist/commands/session/poke.d.ts +3 -7
  10. package/dist/commands/session/poke.js +5 -7
  11. package/dist/commands/session/poke.js.map +1 -1
  12. package/dist/commands/ticket/cancel.js +2 -0
  13. package/dist/commands/ticket/cancel.js.map +1 -1
  14. package/dist/commands/ticket/complete.js +2 -0
  15. package/dist/commands/ticket/complete.js.map +1 -1
  16. package/dist/commands/ticket/delete.js +2 -0
  17. package/dist/commands/ticket/delete.js.map +1 -1
  18. package/dist/commands/ticket/edit.js +5 -0
  19. package/dist/commands/ticket/edit.js.map +1 -1
  20. package/dist/commands/ticket/move.js +2 -0
  21. package/dist/commands/ticket/move.js.map +1 -1
  22. package/dist/commands/ticket/project.js +2 -0
  23. package/dist/commands/ticket/project.js.map +1 -1
  24. package/dist/commands/ticket/reassign.js +2 -0
  25. package/dist/commands/ticket/reassign.js.map +1 -1
  26. package/dist/commands/ticket/resolve.js +2 -0
  27. package/dist/commands/ticket/resolve.js.map +1 -1
  28. package/dist/commands/ticket/update.js +5 -0
  29. package/dist/commands/ticket/update.js.map +1 -1
  30. package/dist/commands/work/complete.js +2 -0
  31. package/dist/commands/work/complete.js.map +1 -1
  32. package/dist/commands/work/peek.js +4 -0
  33. package/dist/commands/work/peek.js.map +1 -1
  34. package/dist/commands/work/poke.d.ts +3 -4
  35. package/dist/commands/work/poke.js +9 -4
  36. package/dist/commands/work/poke.js.map +1 -1
  37. package/dist/commands/work/ready.js +2 -0
  38. package/dist/commands/work/ready.js.map +1 -1
  39. package/dist/commands/work/start.d.ts +1 -0
  40. package/dist/commands/work/start.js +46 -2
  41. package/dist/commands/work/start.js.map +1 -1
  42. package/dist/commands/work/stop.js +5 -0
  43. package/dist/commands/work/stop.js.map +1 -1
  44. package/dist/hooks/init.js +6 -6
  45. package/dist/hooks/init.js.map +1 -1
  46. package/dist/hooks/postrun.js +3 -0
  47. package/dist/hooks/postrun.js.map +1 -1
  48. package/dist/lib/asana/config.d.ts +1 -1
  49. package/dist/lib/asana/config.js +18 -30
  50. package/dist/lib/asana/config.js.map +1 -1
  51. package/dist/lib/asana/mapper.d.ts +4 -3
  52. package/dist/lib/asana/mapper.js +17 -10
  53. package/dist/lib/asana/mapper.js.map +1 -1
  54. package/dist/lib/database/agents.d.ts +73 -0
  55. package/dist/lib/database/agents.js +341 -0
  56. package/dist/lib/database/agents.js.map +1 -0
  57. package/dist/lib/database/driver.d.ts +115 -0
  58. package/dist/lib/database/driver.js +109 -0
  59. package/dist/lib/database/driver.js.map +1 -0
  60. package/dist/lib/database/drizzle-schema.d.ts +1 -1
  61. package/dist/lib/database/index.d.ts +25 -287
  62. package/dist/lib/database/index.js +35 -1067
  63. package/dist/lib/database/index.js.map +1 -1
  64. package/dist/lib/database/media.d.ts +53 -0
  65. package/dist/lib/database/media.js +118 -0
  66. package/dist/lib/database/media.js.map +1 -0
  67. package/dist/lib/database/migrations/0011_add_review_gate.d.ts +8 -0
  68. package/dist/lib/database/migrations/0011_add_review_gate.js +21 -0
  69. package/dist/lib/database/migrations/0011_add_review_gate.js.map +1 -0
  70. package/dist/lib/database/migrations/index.js +2 -0
  71. package/dist/lib/database/migrations/index.js.map +1 -1
  72. package/dist/lib/database/pmo-bootstrap.d.ts +30 -0
  73. package/dist/lib/database/pmo-bootstrap.js +105 -0
  74. package/dist/lib/database/pmo-bootstrap.js.map +1 -0
  75. package/dist/lib/database/repositories.d.ts +26 -0
  76. package/dist/lib/database/repositories.js +56 -0
  77. package/dist/lib/database/repositories.js.map +1 -0
  78. package/dist/lib/database/settings-store.d.ts +60 -0
  79. package/dist/lib/database/settings-store.js +87 -0
  80. package/dist/lib/database/settings-store.js.map +1 -0
  81. package/dist/lib/database/themes.d.ts +59 -0
  82. package/dist/lib/database/themes.js +212 -0
  83. package/dist/lib/database/themes.js.map +1 -0
  84. package/dist/lib/database/workspace.d.ts +46 -0
  85. package/dist/lib/database/workspace.js +158 -0
  86. package/dist/lib/database/workspace.js.map +1 -0
  87. package/dist/lib/database/worktrees.d.ts +33 -0
  88. package/dist/lib/database/worktrees.js +60 -0
  89. package/dist/lib/database/worktrees.js.map +1 -0
  90. package/dist/lib/execution/config.d.ts +1 -1
  91. package/dist/lib/execution/config.js +7 -17
  92. package/dist/lib/execution/config.js.map +1 -1
  93. package/dist/lib/execution/runners/prompt-builder.js +49 -15
  94. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  95. package/dist/lib/execution/spawner.d.ts +1 -1
  96. package/dist/lib/execution/storage.d.ts +6 -4
  97. package/dist/lib/execution/storage.js +17 -9
  98. package/dist/lib/execution/storage.js.map +1 -1
  99. package/dist/lib/execution/types.d.ts +1 -0
  100. package/dist/lib/execution/types.js.map +1 -1
  101. package/dist/lib/external-issues/mapping-store.d.ts +4 -3
  102. package/dist/lib/external-issues/mapping-store.js +21 -13
  103. package/dist/lib/external-issues/mapping-store.js.map +1 -1
  104. package/dist/lib/external-issues/outbound-sync.d.ts +1 -1
  105. package/dist/lib/jira/config.d.ts +1 -6
  106. package/dist/lib/jira/config.js +16 -33
  107. package/dist/lib/jira/config.js.map +1 -1
  108. package/dist/lib/linear/config.d.ts +1 -1
  109. package/dist/lib/linear/config.js +16 -38
  110. package/dist/lib/linear/config.js.map +1 -1
  111. package/dist/lib/linear/mapper.d.ts +4 -3
  112. package/dist/lib/linear/mapper.js +20 -13
  113. package/dist/lib/linear/mapper.js.map +1 -1
  114. package/dist/lib/mcp/tools/action.js +34 -0
  115. package/dist/lib/mcp/tools/action.js.map +1 -1
  116. package/dist/lib/monday/config.d.ts +1 -1
  117. package/dist/lib/monday/config.js +16 -32
  118. package/dist/lib/monday/config.js.map +1 -1
  119. package/dist/lib/monday/mapper.d.ts +4 -3
  120. package/dist/lib/monday/mapper.js +19 -12
  121. package/dist/lib/monday/mapper.js.map +1 -1
  122. package/dist/lib/onboarding/wizard.d.ts +2 -2
  123. package/dist/lib/onboarding/wizard.js +32 -24
  124. package/dist/lib/onboarding/wizard.js.map +1 -1
  125. package/dist/lib/pmo/diet.d.ts +1 -1
  126. package/dist/lib/pmo/schema.d.ts +1 -1
  127. package/dist/lib/pmo/schema.js +1 -0
  128. package/dist/lib/pmo/schema.js.map +1 -1
  129. package/dist/lib/pmo/storage/actions.js +9 -3
  130. package/dist/lib/pmo/storage/actions.js.map +1 -1
  131. package/dist/lib/pmo/storage/index.d.ts +9 -0
  132. package/dist/lib/pmo/storage/index.js +16 -1
  133. package/dist/lib/pmo/storage/index.js.map +1 -1
  134. package/dist/lib/pmo/storage/tickets.d.ts +7 -0
  135. package/dist/lib/pmo/storage/tickets.js +33 -2
  136. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  137. package/dist/lib/pmo/storage/types.d.ts +5 -1
  138. package/dist/lib/pmo/types.d.ts +10 -0
  139. package/dist/lib/pmo/types.js.map +1 -1
  140. package/dist/lib/pmo/utils.d.ts +38 -0
  141. package/dist/lib/pmo/utils.js +61 -0
  142. package/dist/lib/pmo/utils.js.map +1 -1
  143. package/dist/lib/providers/event-emitting-provider.js +13 -2
  144. package/dist/lib/providers/event-emitting-provider.js.map +1 -1
  145. package/dist/lib/shortcut/config.d.ts +1 -7
  146. package/dist/lib/shortcut/config.js +13 -32
  147. package/dist/lib/shortcut/config.js.map +1 -1
  148. package/dist/lib/telemetry/analytics.d.ts +47 -0
  149. package/dist/lib/telemetry/analytics.js +52 -0
  150. package/dist/lib/telemetry/analytics.js.map +1 -1
  151. package/dist/lib/telemetry/telemetry-bridge.d.ts +35 -0
  152. package/dist/lib/telemetry/telemetry-bridge.js +139 -0
  153. package/dist/lib/telemetry/telemetry-bridge.js.map +1 -0
  154. package/dist/lib/trello/config.d.ts +1 -26
  155. package/dist/lib/trello/config.js +23 -64
  156. package/dist/lib/trello/config.js.map +1 -1
  157. package/dist/lib/trello/mapper.d.ts +4 -3
  158. package/dist/lib/trello/mapper.js +17 -10
  159. package/dist/lib/trello/mapper.js.map +1 -1
  160. package/dist/lib/work-lifecycle/post-execution.d.ts +6 -2
  161. package/dist/lib/work-lifecycle/post-execution.js +30 -18
  162. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  163. package/dist/lib/work-source/config.d.ts +1 -1
  164. package/dist/lib/work-source/config.js +14 -24
  165. package/dist/lib/work-source/config.js.map +1 -1
  166. package/dist/lib/work-source/provider-sources.d.ts +1 -1
  167. package/dist/lib/work-source/provider-sources.js +8 -20
  168. package/dist/lib/work-source/provider-sources.js.map +1 -1
  169. package/oclif.manifest.json +1035 -987
  170. package/package.json +9 -9
@@ -7,6 +7,7 @@ import { machineOutputFlags } from '../../lib/pmo/index.js';
7
7
  import { styles } from '../../lib/styles.js';
8
8
  import { getWorkspaceInfo } from '../../lib/agents/commands.js';
9
9
  import { loadExecutionConfig, saveTerminalApp, saveTerminalOpenInBackground, saveTmuxControlMode, saveShell, getMirrorToPmoDefault, saveCreatePrDefault, saveMirrorToPmoDefault, saveFirewallAllowlistDomains, } from '../../lib/execution/config.js';
10
+ import { getReviewGateSetting, setReviewGateSetting, isValidReviewGateMode } from '../../lib/pmo/utils.js';
10
11
  import { shouldOutputJson, isNonTTY, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
11
12
  export default class Config extends PromptCommand {
12
13
  static description = 'View and update workspace configuration';
@@ -16,6 +17,7 @@ export default class Config extends PromptCommand {
16
17
  '<%= config.bin %> <%= command.id %> --set terminal.app iTerm',
17
18
  '<%= config.bin %> <%= command.id %> --set terminal.openInBackground true',
18
19
  '<%= config.bin %> <%= command.id %> --set firewall.allowlistDomains "api.staging.example.com"',
20
+ '<%= config.bin %> <%= command.id %> --set review_gate auto # Set workspace review gate to auto',
19
21
  '<%= config.bin %> <%= command.id %> --setting terminal.app --json # Show terminal app choices',
20
22
  ];
21
23
  static flags = {
@@ -57,6 +59,7 @@ export default class Config extends PromptCommand {
57
59
  // Load current config
58
60
  const config = loadExecutionConfig(db);
59
61
  const mirrorToPmoDefault = getMirrorToPmoDefault(db);
62
+ const reviewGate = getReviewGateSetting(db);
60
63
  // Handle --set flag
61
64
  if (flags.set && flags.set.length > 0) {
62
65
  for (const setValue of flags.set) {
@@ -97,6 +100,7 @@ export default class Config extends PromptCommand {
97
100
  permissionMode: config.permissionMode,
98
101
  createPrDefault: config.createPrDefault ?? null,
99
102
  mirrorToPmoDefault,
103
+ reviewGate,
100
104
  firewall: {
101
105
  allowlistDomains: config.firewall.allowlistDomains,
102
106
  },
@@ -125,6 +129,7 @@ export default class Config extends PromptCommand {
125
129
  this.log(` permissionMode: ${config.permissionMode}`);
126
130
  this.log(` createPrDefault: ${config.createPrDefault ?? 'not set (will prompt)'}`);
127
131
  this.log(` mirrorToPmoDefault: ${mirrorToPmoDefault ?? 'not set (default: true)'}`);
132
+ this.log(` reviewGate: ${reviewGate}`);
128
133
  this.log(` firewall.allowlistDomains: ${config.firewall.allowlistDomains.join(', ') || '(none)'}`);
129
134
  this.log('');
130
135
  }
@@ -144,6 +149,7 @@ export default class Config extends PromptCommand {
144
149
  { name: `Shell: ${config.shell}`, value: 'shell', command: 'prlt config --setting shell --json' },
145
150
  { name: `Tmux Control Mode (iTerm -CC): ${config.tmux.controlMode}`, value: 'tmux.controlMode', command: 'prlt config --setting tmux.controlMode --json' },
146
151
  { name: `Firewall allowlist domains: ${config.firewall.allowlistDomains.length || 0}`, value: 'firewall.allowlistDomains', command: 'prlt config --setting firewall.allowlistDomains --json' },
152
+ { name: `Review Gate: ${reviewGate}`, value: 'review_gate', command: 'prlt config --setting review_gate --json' },
147
153
  ];
148
154
  const { setting } = await this.prompt([
149
155
  {
@@ -159,6 +165,8 @@ export default class Config extends PromptCommand {
159
165
  settingChoices[3],
160
166
  new inquirer.Separator('── Execution ──'),
161
167
  settingChoices[4],
168
+ new inquirer.Separator('── Review ──'),
169
+ settingChoices[5],
162
170
  new inquirer.Separator(),
163
171
  { name: 'Exit', value: '__exit__' },
164
172
  ],
@@ -261,6 +269,26 @@ export default class Config extends PromptCommand {
261
269
  this.log(styles.success(`Tmux control mode set to: ${controlMode}`));
262
270
  break;
263
271
  }
272
+ case 'review_gate': {
273
+ const currentGate = getReviewGateSetting(db);
274
+ const gateChoices = [
275
+ { name: 'required — Agent creates PR, human approves before landing (default)', value: 'required', command: 'prlt config --set "review_gate required" --json' },
276
+ { name: 'auto — Agent ships directly, no approval gate', value: 'auto', command: 'prlt config --set "review_gate auto" --json' },
277
+ { name: 'post — Agent ships immediately, human reviews after', value: 'post', command: 'prlt config --set "review_gate post" --json' },
278
+ ];
279
+ const { newGate } = await this.prompt([
280
+ {
281
+ type: 'list',
282
+ name: 'newGate',
283
+ message: 'Select review gate mode:',
284
+ choices: gateChoices,
285
+ default: currentGate,
286
+ },
287
+ ], jsonModeConfig);
288
+ setReviewGateSetting(db, newGate);
289
+ this.log(styles.success(`Review gate set to: ${newGate}`));
290
+ break;
291
+ }
264
292
  case 'firewall.allowlistDomains': {
265
293
  const { domainsInput } = await this.prompt([
266
294
  {
@@ -309,6 +337,20 @@ export default class Config extends PromptCommand {
309
337
  case 'execution.mirror_to_pmo_default':
310
338
  saveMirrorToPmoDefault(db, value.toLowerCase() === 'true');
311
339
  break;
340
+ case 'review_gate':
341
+ case 'reviewgate':
342
+ if (!isValidReviewGateMode(value)) {
343
+ if (jsonMode) {
344
+ outputErrorAsJson('INVALID_VALUE', `Invalid review gate mode: "${value}". Must be: required, auto, or post`, createMetadata('config', {}));
345
+ return;
346
+ }
347
+ else {
348
+ this.error(`Invalid review gate mode: "${value}". Must be: required, auto, or post`);
349
+ }
350
+ return;
351
+ }
352
+ setReviewGateSetting(db, value);
353
+ break;
312
354
  case 'firewall.allowlistdomains': {
313
355
  const domains = value
314
356
  .split(',')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACnB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GAEf,MAAM,0BAA0B,CAAA;AAEjC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,aAAa;IAC/C,MAAM,CAAC,WAAW,GAAG,yCAAyC,CAAA;IAE9D,MAAM,CAAC,QAAQ,GAAG;QAChB,2EAA2E;QAC3E,wFAAwF;QACxF,8DAA8D;QAC9D,0EAA0E;QAC1E,+FAA+F;QAC/F,gGAAgG;KACjG,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,kBAAkB;QACrB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+BAA+B;YAC5C,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,8DAA8D;SAC5E,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAEzE,qBAAqB;QACrB,IAAI,aAAa,CAAA;QACjB,IAAI,CAAC;YACH,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,kBAAkB,EAAE,2CAA2C,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;gBACnH,OAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACzD,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;QAC5E,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAE/B,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;YACtC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;YAEpD,oBAAoB;YACpB,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACjC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAElC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACnB,IAAI,QAAQ,EAAE,CAAC;4BACb,iBAAiB,CAAC,oBAAoB,EAAE,oBAAoB,QAAQ,2BAA2B,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;4BACjI,OAAM;wBACR,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,QAAQ,2BAA2B,CAAC,CAAA;wBACrE,CAAC;wBACD,SAAQ;oBACV,CAAC;oBAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gBAC/C,CAAC;gBACD,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAM;YACR,CAAC;YAED,oEAAoE;YACpE,mFAAmF;YACnF,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAE/H,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,QAAQ,EAAE,CAAC;oBACb,mBAAmB,CAAC;wBAClB,QAAQ,EAAE;4BACR,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;4BACxB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB;yBACnD;wBACD,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE;4BACJ,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;yBACrC;wBACD,eAAe,EAAE,MAAM,CAAC,eAAe;wBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;wBAC7C,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;wBAC/C,kBAAkB;wBAClB,QAAQ,EAAE;4BACR,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB;yBACnD;qBACF,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;oBACnC,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAA;oBAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;oBACxB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;oBACrC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;oBACtD,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACnE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBAClC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;oBACjC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;oBAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;oBACtC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;oBACzD,IAAI,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;oBAC9D,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;oBACpD,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;oBACxD,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,eAAe,IAAI,uBAAuB,EAAE,CAAC,CAAA;oBACpF,IAAI,CAAC,GAAG,CAAC,yBAAyB,kBAAkB,IAAI,yBAAyB,EAAE,CAAC,CAAA;oBACpF,IAAI,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAA;oBACnG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACd,CAAC;gBACD,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAM;YACR,CAAC;YAED,4DAA4D;YAC5D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;gBACzE,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAM;YACR,CAAC;YAED,mBAAmB;YACnB,MAAM,cAAc,GAAG;gBACrB,EAAE,IAAI,EAAE,iBAAiB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,2CAA2C,EAAE;gBAC7H,EAAE,IAAI,EAAE,4BAA4B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,OAAO,EAAE,wDAAwD,EAAE;gBAC/K,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE;gBACjG,EAAE,IAAI,EAAE,kCAAkC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,+CAA+C,EAAE;gBAC1J,EAAE,IAAI,EAAE,+BAA+B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,OAAO,EAAE,wDAAwD,EAAE;aAC/L,CAAA;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAsB;gBACzD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,8BAA8B;oBACvC,OAAO,EAAE;wBACP,IAAI,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC;wBACxC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;wBACrC,cAAc,CAAC,CAAC,CAAC;wBACjB,IAAI,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;wBACpC,cAAc,CAAC,CAAC,CAAC;wBACjB,IAAI,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC;wBACzC,cAAc,CAAC,CAAC,CAAC;wBACjB,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACxB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;qBACpC;iBACF;aACF,EAAE,cAAc,CAAC,CAAA;YAElB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,EAAE,CAAC,KAAK,EAAE,CAAA;gBACV,OAAM;YACR,CAAC;YAED,8BAA8B;YAC9B,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;YAEnE,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,EAAqB,EACrB,MAA8C,EAC9C,OAAe,EACf,cAA0F;QAE1F,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,UAAU,GAAG;oBACjB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,+CAA+C,EAAE;oBAC3F,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kDAAkD,EAAE;oBACxH,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,iDAAiD,EAAE;oBACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,mDAAmD,EAAE;oBACvG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,+CAA+C,EAAE;oBAC3F,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,iDAAiD,EAAE;oBACjG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8CAA8C,EAAE;oBACxF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8CAA8C,EAAE;iBACzF,CAAA;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAqB;oBACvD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,sBAAsB;wBAC/B,OAAO,EAAE,UAAU;wBACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;qBAC7B;iBACF,EAAE,cAAc,CAAC,CAAA;gBAClB,eAAe,CAAC,EAAE,EAAE,MAAqB,CAAC,CAAA;gBAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC1D,MAAK;YACP,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG;oBAChB,EAAE,IAAI,EAAE,oDAAoD,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,2DAA2D,EAAE;oBACnJ,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,4DAA4D,EAAE;iBACvJ,CAAA;gBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;oBAC3D;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,mCAAmC;wBAC5C,OAAO,EAAE,SAAS;wBAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;qBAClD;iBACF,EAAE,cAAc,CAAC,CAAA;gBAClB,4BAA4B,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAA;gBACrD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAClE,MAAK;YACP,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,YAAY,GAAG;oBACnB,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC,EAAE;oBAC9F,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,EAAE;oBACjF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,EAAE;iBAClF,CAAA;gBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;oBAC3D;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,YAAY;wBACrB,OAAO,EAAE,MAAM,CAAC,KAAK;qBACtB;iBACF,EAAE,cAAc,CAAC,CAAA;gBAClB,SAAS,CAAC,EAAE,EAAE,QAAiB,CAAC,CAAA;gBAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC,CAAA;gBACrD,MAAK;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG;oBAChB,EAAE,IAAI,EAAE,iDAAiD,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kDAAkD,EAAE;oBACvI,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mDAAmD,EAAE;iBACvH,CAAA;gBACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAA0B;oBACjE;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,iCAAiC;wBAC1C,OAAO,EAAE,SAAS;wBAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;qBACzC;iBACF,EAAE,cAAc,CAAC,CAAA;gBAClB,mBAAmB,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC,CAAA;gBAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC,CAAA;gBACpE,MAAK;YACP,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAA2B;oBACnE;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,2EAA2E;wBACpF,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACrD;iBACF,EAAE,cAAc,CAAC,CAAA;gBAElB,MAAM,OAAO,GAAG,YAAY;qBACzB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;qBAC5B,MAAM,CAAC,OAAO,CAAC,CAAA;gBAClB,4BAA4B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACzC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9E,MAAK;YACP,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;gBAC9D,IAAI,QAAQ,EAAE,CAAC;oBACb,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,OAAO,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;oBAC1H,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,EAAqB,EAAE,GAAW,EAAE,KAAa,EAAE,QAAiB;QACzF,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAEvC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,cAAc;gBACjB,eAAe,CAAC,EAAE,EAAE,KAAoB,CAAC,CAAA;gBACzC,MAAK;YACP,KAAK,2BAA2B;gBAC9B,4BAA4B,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;gBAChE,MAAK;YACP,KAAK,OAAO;gBACV,SAAS,CAAC,EAAE,EAAE,KAAc,CAAC,CAAA;gBAC7B,MAAK;YACP,KAAK,kBAAkB;gBACrB,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;gBACvD,MAAK;YACP,KAAK,6BAA6B;gBAChC,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;gBACvD,MAAK;YACP,KAAK,iCAAiC;gBACpC,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;gBAC1D,MAAK;YACP,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,KAAK;qBAClB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;qBAC5B,MAAM,CAAC,OAAO,CAAC,CAAA;gBAClB,4BAA4B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACzC,MAAK;YACP,CAAC;YACD;gBACE,IAAI,QAAQ,EAAE,CAAC;oBACb,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,GAAG,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC5F,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;gBACzC,CAAC;gBACD,OAAM;QACV,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAA;QACnD,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,16 @@ import { Command } from '@oclif/core';
2
2
  export default class Init extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
+ static hidden: boolean;
5
6
  static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ path: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ agents: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ repos: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ pmo: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
12
  setup: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
13
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
14
  machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
15
  };
10
16
  run(): Promise<void>;
11
- private outputJson;
12
17
  }
@@ -1,112 +1,67 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
- import * as fs from 'node:fs';
4
- import { ensureMachineConfigDir, getMachineConfigDir, getMachineConfigPath, readMachineConfig, writeMachineConfig, } from '../lib/machine-config.js';
5
- import { isValidHQ } from '../lib/workspace.js';
6
3
  import { machineOutputFlags } from '../lib/pmo/index.js';
7
- import { shouldOutputJson } from '../lib/prompt-json.js';
8
- import { isFirstTimeUser, runOnboardingWizard, runOnboardingJsonMode, detectAITools, } from '../lib/onboarding/index.js';
9
4
  export default class Init extends Command {
10
- static description = 'Initialize machine-level Proletariat configuration (~/.proletariat)';
5
+ static description = 'Initialize a new headquarters (deprecated — use `prlt new` instead)';
11
6
  static examples = [
12
- '<%= config.bin %> <%= command.id %>',
13
- '<%= config.bin %> <%= command.id %> --json',
14
- '<%= config.bin %> <%= command.id %> --json --setup claude-code',
7
+ '<%= config.bin %> new',
15
8
  ];
9
+ static hidden = true;
10
+ // Accept the same flags as `new` so forwarding works correctly
16
11
  static flags = {
17
12
  ...machineOutputFlags,
13
+ name: Flags.string({
14
+ description: 'HQ name',
15
+ char: 'n',
16
+ }),
17
+ path: Flags.string({
18
+ description: 'HQ path (defaults to ./{name}-hq)',
19
+ char: 'p',
20
+ }),
21
+ agents: Flags.string({
22
+ description: 'Comma-separated list of agent names',
23
+ char: 'a',
24
+ }),
25
+ repos: Flags.string({
26
+ description: 'Comma-separated list of repository paths to clone/move',
27
+ char: 'r',
28
+ }),
29
+ pmo: Flags.boolean({
30
+ description: 'Include PMO (Project Management Org)',
31
+ default: true,
32
+ allowNo: true,
33
+ }),
18
34
  setup: Flags.string({
19
35
  description: 'Setup method for agent-driven onboarding (claude-code, codex, or manual)',
20
36
  options: ['claude-code', 'codex', 'manual'],
21
37
  }),
22
38
  };
23
39
  async run() {
24
- const { flags } = await this.parse(Init);
25
- const jsonMode = shouldOutputJson(flags);
26
- // Step 1: Ensure machine config directory exists
27
- ensureMachineConfigDir();
28
- // Step 2: Ensure machine config file exists with valid structure
29
- const configPath = getMachineConfigPath();
30
- const config = readMachineConfig();
31
- const configExists = fs.existsSync(configPath);
32
- if (!configExists) {
33
- // Write fresh config if none exists
34
- writeMachineConfig(config);
35
- }
36
- // Step 3: Prune stale headquarters entries (paths that no longer exist)
37
- const originalCount = config.headquarters.length;
38
- config.headquarters = config.headquarters.filter(hq => {
39
- if (!fs.existsSync(hq.path))
40
- return false;
41
- if (!isValidHQ(hq.path))
42
- return false;
43
- return true;
44
- });
45
- const prunedCount = originalCount - config.headquarters.length;
46
- // Clear active HQ if it was pruned
47
- if (config.activeHeadquarters && !config.headquarters.some(hq => hq.path === config.activeHeadquarters)) {
48
- config.activeHeadquarters = null;
49
- }
50
- if (prunedCount > 0) {
51
- writeMachineConfig(config);
52
- }
53
- // Step 4: Onboarding wizard for first-time users
54
- const firstTime = isFirstTimeUser(config.headquarters.length, config.activeHeadquarters ?? null);
55
- if (firstTime) {
56
- if (jsonMode) {
57
- // JSON mode: handle --setup flag for agent-driven onboarding
58
- if (flags.setup) {
59
- runOnboardingJsonMode(flags);
60
- // If runOnboardingJsonMode returns (manual mode), fall through to normal JSON output
40
+ const { argv, flags } = await this.parse(Init);
41
+ console.log(chalk.yellow('`prlt init` is deprecated. Use `prlt new` instead.\n'));
42
+ // Build args for forwarding to `new`
43
+ const newArgs = ['new'];
44
+ for (const [key, value] of Object.entries(flags)) {
45
+ if (value === undefined)
46
+ continue;
47
+ if (typeof value === 'boolean') {
48
+ if (value) {
49
+ newArgs.push(`--${key}`);
50
+ }
51
+ else {
52
+ newArgs.push(`--no-${key}`);
61
53
  }
62
- // No --setup flag: fall through to include onboarding info in success response
63
54
  }
64
55
  else {
65
- // Interactive mode: run the onboarding wizard
66
- const result = await runOnboardingWizard();
67
- if (result.method === 'ai') {
68
- // AI tool was spawned — it will guide the user through prlt new
69
- return;
70
- }
71
- // Manual: fall through to show normal init output with prlt new guidance
56
+ newArgs.push(`--${key}`, String(value));
72
57
  }
73
58
  }
74
- // Output results
75
- if (jsonMode) {
76
- const jsonResult = {
77
- success: true,
78
- configDir: getMachineConfigDir(),
79
- configPath,
80
- headquarters: config.headquarters.length,
81
- prunedStaleEntries: prunedCount,
82
- activeHeadquarters: config.activeHeadquarters,
83
- };
84
- if (firstTime) {
85
- const detection = detectAITools();
86
- jsonResult.firstTimeUser = true;
87
- jsonResult.detectedTools = detection.tools.map(t => ({
88
- name: t.name,
89
- command: t.command,
90
- displayName: t.displayName,
91
- }));
92
- }
93
- this.outputJson(jsonResult);
59
+ // Forward positional args
60
+ for (const arg of argv) {
61
+ newArgs.push(arg);
94
62
  }
95
- else {
96
- console.log(chalk.green('Machine configuration initialized.'));
97
- console.log(chalk.gray(` Config: ${configPath}`));
98
- console.log(chalk.gray(` Registered HQs: ${config.headquarters.length}`));
99
- if (prunedCount > 0) {
100
- console.log(chalk.yellow(` Pruned ${prunedCount} stale HQ entries`));
101
- }
102
- if (config.headquarters.length === 0) {
103
- console.log(chalk.blue('\nNo headquarters found. Create one with:'));
104
- console.log(chalk.yellow(' prlt new'));
105
- }
106
- }
107
- }
108
- outputJson(data) {
109
- console.log(JSON.stringify(data, null, 2));
63
+ const { run } = await import('@oclif/core');
64
+ await run(newArgs, this.config);
110
65
  }
111
66
  }
112
67
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,GAAG,qEAAqE,CAAC;IAE3F,MAAM,CAAC,QAAQ,GAAG;QAChB,uBAAuB;KACxB,CAAC;IAEF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAErB,+DAA+D;IAC/D,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,kBAAkB;QACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,GAAG;SACV,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,GAAG;SACV,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,GAAG;SACV,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,GAAG;SACV,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC5C,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAElF,qCAAqC;QACrC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,0BAA0B;QAC1B,KAAK,MAAM,GAAG,IAAK,IAAiB,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC"}
@@ -8,18 +8,46 @@ export default class New extends Command {
8
8
  agents: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  repos: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  pmo: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ setup: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  };
14
15
  run(): Promise<void>;
15
16
  /**
16
- * Human mode: interactive prompts with colored output
17
+ * Detect whether this is the user's first time (no HQ exists anywhere).
18
+ */
19
+ private detectFirstTime;
20
+ /**
21
+ * Human mode: interactive prompts with colored output.
22
+ * If first-time user, shows welcome + explainer before setup prompts.
23
+ * If returning user, goes straight to setup (power user flow).
17
24
  */
18
25
  private runHumanMode;
19
26
  /**
20
- * Agent mode: use flags, output JSON
27
+ * First-time user flow: welcome, explainer, setup method choice, then HQ creation.
28
+ */
29
+ private runFirstTimeHumanMode;
30
+ /**
31
+ * Returning user flow: straight to HQ creation (power user mode).
32
+ */
33
+ private runReturningHumanMode;
34
+ /**
35
+ * Shared HQ creation flow (used by both first-time and returning user).
36
+ */
37
+ private createHQ;
38
+ /**
39
+ * Show what to do next after HQ creation.
40
+ */
41
+ private showNextSteps;
42
+ /**
43
+ * Agent mode: use flags, output JSON.
44
+ * For first-time users without --name, includes onboarding context.
21
45
  */
22
46
  private runAgentMode;
47
+ /**
48
+ * Output first-time user JSON prompt with model-friendly context.
49
+ */
50
+ private outputFirstTimeJsonPrompt;
23
51
  /**
24
52
  * Output JSON to stdout
25
53
  */
@@ -2,11 +2,14 @@ import { Command, Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
3
  import * as path from 'node:path';
4
4
  import * as fs from 'node:fs';
5
- import { promptForHQName, promptForHQLocation, initializeHQ, showNextSteps, validateHQLocation, isHQNameTaken, } from '../lib/init/index.js';
5
+ import { promptForHQName, promptForHQLocation, initializeHQ, validateHQLocation, isHQNameTaken, } from '../lib/init/index.js';
6
6
  import { promptForAgentsWithTheme } from '../lib/agents/index.js';
7
7
  import { promptForRepositories } from '../lib/repos/index.js';
8
8
  import { promptForPMOSetup, machineOutputFlags } from '../lib/pmo/index.js';
9
9
  import { shouldOutputJson, outputPromptAsJson, buildPromptConfig, createMetadata, } from '../lib/prompt-json.js';
10
+ import { isFirstTimeUser, detectAITools, runOnboardingWizard, runOnboardingJsonMode, } from '../lib/onboarding/index.js';
11
+ import { readMachineConfig, ensureMachineConfigDir, } from '../lib/machine-config.js';
12
+ import { findHQRoot } from '../lib/workspace.js';
10
13
  export default class New extends Command {
11
14
  static description = 'Create a new headquarters for managing repositories, agents, and projects';
12
15
  static examples = [
@@ -39,6 +42,10 @@ export default class New extends Command {
39
42
  default: true,
40
43
  allowNo: true,
41
44
  }),
45
+ setup: Flags.string({
46
+ description: 'Setup method for agent-driven onboarding (claude-code, codex, or manual)',
47
+ options: ['claude-code', 'codex', 'manual'],
48
+ }),
42
49
  };
43
50
  async run() {
44
51
  const { flags } = await this.parse(New);
@@ -46,14 +53,57 @@ export default class New extends Command {
46
53
  await this.runAgentMode(flags);
47
54
  }
48
55
  else {
49
- await this.runHumanMode();
56
+ await this.runHumanMode(flags);
57
+ }
58
+ }
59
+ /**
60
+ * Detect whether this is the user's first time (no HQ exists anywhere).
61
+ */
62
+ detectFirstTime() {
63
+ ensureMachineConfigDir();
64
+ const config = readMachineConfig();
65
+ const currentHQ = findHQRoot();
66
+ return isFirstTimeUser(config.headquarters.length, currentHQ);
67
+ }
68
+ /**
69
+ * Human mode: interactive prompts with colored output.
70
+ * If first-time user, shows welcome + explainer before setup prompts.
71
+ * If returning user, goes straight to setup (power user flow).
72
+ */
73
+ async runHumanMode(flags) {
74
+ const firstTime = this.detectFirstTime();
75
+ if (firstTime) {
76
+ await this.runFirstTimeHumanMode(flags);
77
+ }
78
+ else {
79
+ await this.runReturningHumanMode();
80
+ }
81
+ }
82
+ /**
83
+ * First-time user flow: welcome, explainer, setup method choice, then HQ creation.
84
+ */
85
+ async runFirstTimeHumanMode(flags) {
86
+ // Step 1: Welcome + explainer
87
+ const result = await runOnboardingWizard();
88
+ if (result.method === 'ai') {
89
+ // AI tool was spawned — it will guide the user through prlt new
90
+ return;
50
91
  }
92
+ // Manual: continue with HQ creation prompts
93
+ console.log(chalk.blue('\nšŸš€ Let\'s set up your first workspace.\n'));
94
+ await this.createHQ();
51
95
  }
52
96
  /**
53
- * Human mode: interactive prompts with colored output
97
+ * Returning user flow: straight to HQ creation (power user mode).
54
98
  */
55
- async runHumanMode() {
99
+ async runReturningHumanMode() {
56
100
  console.log(chalk.blue('šŸš€ Creating a new headquarters...\n'));
101
+ await this.createHQ();
102
+ }
103
+ /**
104
+ * Shared HQ creation flow (used by both first-time and returning user).
105
+ */
106
+ async createHQ() {
57
107
  // Step 1: Get HQ name
58
108
  const hqName = await promptForHQName();
59
109
  // Step 2: Determine location (always adds -hq suffix)
@@ -78,15 +128,44 @@ export default class New extends Command {
78
128
  // Initialize the HQ
79
129
  await initializeHQ(options);
80
130
  // Show next steps
81
- await showNextSteps(options);
131
+ this.showNextSteps(hqPath);
132
+ }
133
+ /**
134
+ * Show what to do next after HQ creation.
135
+ */
136
+ showNextSteps(hqPath) {
137
+ const relativePath = path.relative(process.cwd(), hqPath);
138
+ console.log(chalk.green('\n✨ Your workspace is ready!\n'));
139
+ console.log(chalk.white('Here\'s what to do next:\n'));
140
+ console.log(chalk.yellow(` cd ${relativePath}`));
141
+ console.log(chalk.gray(' Navigate into your new HQ\n'));
142
+ console.log(chalk.yellow(' prlt work start TICKET-ID'));
143
+ console.log(chalk.gray(' Spawn an agent on a ticket\n'));
144
+ console.log(chalk.yellow(' prlt session list'));
145
+ console.log(chalk.gray(' See running agents\n'));
146
+ console.log(chalk.yellow(' prlt work peek AGENT'));
147
+ console.log(chalk.gray(' Watch an agent work\n'));
82
148
  }
83
149
  /**
84
- * Agent mode: use flags, output JSON
150
+ * Agent mode: use flags, output JSON.
151
+ * For first-time users without --name, includes onboarding context.
85
152
  */
86
153
  async runAgentMode(flags) {
154
+ const firstTime = this.detectFirstTime();
155
+ // Handle --setup flag for first-time agent-driven onboarding
156
+ if (firstTime && flags.setup) {
157
+ runOnboardingJsonMode(flags);
158
+ // If runOnboardingJsonMode returns (manual mode), fall through to normal flow
159
+ }
87
160
  // If --name not provided, output a prompt so agents can supply it
88
161
  if (!flags.name) {
89
- outputPromptAsJson(buildPromptConfig('input', 'name', 'Enter a name for your headquarters:', undefined, undefined), createMetadata('new', flags));
162
+ if (firstTime) {
163
+ // First-time user in JSON mode — include onboarding context
164
+ this.outputFirstTimeJsonPrompt(flags);
165
+ }
166
+ else {
167
+ outputPromptAsJson(buildPromptConfig('input', 'name', 'Enter a name for your headquarters:', undefined, undefined), createMetadata('new', flags));
168
+ }
90
169
  return;
91
170
  }
92
171
  const hqName = flags.name;
@@ -154,7 +233,7 @@ export default class New extends Command {
154
233
  // Restore console.log
155
234
  console.log = originalLog;
156
235
  // Output success JSON
157
- this.outputJson({
236
+ const result = {
158
237
  success: true,
159
238
  hq: {
160
239
  name: hqName,
@@ -163,7 +242,17 @@ export default class New extends Command {
163
242
  repos: repos.map(r => r.path),
164
243
  pmo: flags.pmo,
165
244
  },
166
- });
245
+ };
246
+ if (firstTime) {
247
+ result.firstTimeUser = true;
248
+ result.nextSteps = [
249
+ { command: `cd ${path.relative(process.cwd(), hqPath) || hqPath}`, description: 'Navigate into your new HQ' },
250
+ { command: 'prlt work start TICKET-ID', description: 'Spawn an agent on a ticket' },
251
+ { command: 'prlt session list', description: 'See running agents' },
252
+ { command: 'prlt work peek AGENT', description: 'Watch an agent work' },
253
+ ];
254
+ }
255
+ this.outputJson(result);
167
256
  }
168
257
  catch (error) {
169
258
  // Restore console.log on error
@@ -175,6 +264,49 @@ export default class New extends Command {
175
264
  this.exit(1);
176
265
  }
177
266
  }
267
+ /**
268
+ * Output first-time user JSON prompt with model-friendly context.
269
+ */
270
+ outputFirstTimeJsonPrompt(flags) {
271
+ const detection = detectAITools();
272
+ const metadata = createMetadata('new', flags);
273
+ const output = {
274
+ type: 'prompt',
275
+ firstTimeUser: true,
276
+ onboarding: {
277
+ welcome: 'Welcome to Proletariat — AI agent orchestration.',
278
+ whatIsHQ: 'An HQ (headquarters) is a workspace that manages your repositories, AI agents, and project tracking. It is the central hub for orchestrating AI coding agents across your projects.',
279
+ prerequisites: [
280
+ 'Docker running (for agent execution)',
281
+ 'A PMO account or local project tracking setup',
282
+ ],
283
+ fullLoop: [
284
+ 'Create an HQ workspace (prlt new --json --name YOUR_NAME)',
285
+ 'Connect a repository (prlt repo add PATH_OR_URL)',
286
+ 'Connect a PMO provider (prlt linear connect / prlt asana connect)',
287
+ 'Spawn an agent on a ticket (prlt work start TICKET-ID)',
288
+ 'Get a pull request from the agent',
289
+ ],
290
+ },
291
+ prompt: {
292
+ type: 'input',
293
+ name: 'name',
294
+ message: 'Enter a name for your headquarters:',
295
+ },
296
+ detectedTools: detection.tools.map(t => ({
297
+ name: t.name,
298
+ command: t.command,
299
+ displayName: t.displayName,
300
+ })),
301
+ setupChoices: [
302
+ ...(detection.hasClaudeCode ? [{ name: 'Claude Code guided setup', value: 'claude-code', command: 'prlt new --json --setup claude-code' }] : []),
303
+ ...(detection.hasCodex ? [{ name: 'Codex guided setup', value: 'codex', command: 'prlt new --json --setup codex' }] : []),
304
+ { name: 'Manual setup', value: 'manual', command: 'prlt new --json --name YOUR_NAME' },
305
+ ],
306
+ metadata,
307
+ };
308
+ console.log(JSON.stringify(output, null, 2));
309
+ }
178
310
  /**
179
311
  * Output JSON to stdout
180
312
  */