@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.
- package/dist/commands/config/index.js +42 -0
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/init.d.ts +6 -1
- package/dist/commands/init.js +44 -89
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/new.d.ts +30 -2
- package/dist/commands/new.js +141 -9
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/session/poke.d.ts +3 -7
- package/dist/commands/session/poke.js +5 -7
- package/dist/commands/session/poke.js.map +1 -1
- package/dist/commands/ticket/cancel.js +2 -0
- package/dist/commands/ticket/cancel.js.map +1 -1
- package/dist/commands/ticket/complete.js +2 -0
- package/dist/commands/ticket/complete.js.map +1 -1
- package/dist/commands/ticket/delete.js +2 -0
- package/dist/commands/ticket/delete.js.map +1 -1
- package/dist/commands/ticket/edit.js +5 -0
- package/dist/commands/ticket/edit.js.map +1 -1
- package/dist/commands/ticket/move.js +2 -0
- package/dist/commands/ticket/move.js.map +1 -1
- package/dist/commands/ticket/project.js +2 -0
- package/dist/commands/ticket/project.js.map +1 -1
- package/dist/commands/ticket/reassign.js +2 -0
- package/dist/commands/ticket/reassign.js.map +1 -1
- package/dist/commands/ticket/resolve.js +2 -0
- package/dist/commands/ticket/resolve.js.map +1 -1
- package/dist/commands/ticket/update.js +5 -0
- package/dist/commands/ticket/update.js.map +1 -1
- package/dist/commands/work/complete.js +2 -0
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/peek.js +4 -0
- package/dist/commands/work/peek.js.map +1 -1
- package/dist/commands/work/poke.d.ts +3 -4
- package/dist/commands/work/poke.js +9 -4
- package/dist/commands/work/poke.js.map +1 -1
- package/dist/commands/work/ready.js +2 -0
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/start.d.ts +1 -0
- package/dist/commands/work/start.js +46 -2
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/stop.js +5 -0
- package/dist/commands/work/stop.js.map +1 -1
- package/dist/hooks/init.js +6 -6
- package/dist/hooks/init.js.map +1 -1
- package/dist/hooks/postrun.js +3 -0
- package/dist/hooks/postrun.js.map +1 -1
- package/dist/lib/asana/config.d.ts +1 -1
- package/dist/lib/asana/config.js +18 -30
- package/dist/lib/asana/config.js.map +1 -1
- package/dist/lib/asana/mapper.d.ts +4 -3
- package/dist/lib/asana/mapper.js +17 -10
- package/dist/lib/asana/mapper.js.map +1 -1
- package/dist/lib/database/agents.d.ts +73 -0
- package/dist/lib/database/agents.js +341 -0
- package/dist/lib/database/agents.js.map +1 -0
- package/dist/lib/database/driver.d.ts +115 -0
- package/dist/lib/database/driver.js +109 -0
- package/dist/lib/database/driver.js.map +1 -0
- package/dist/lib/database/drizzle-schema.d.ts +1 -1
- package/dist/lib/database/index.d.ts +25 -287
- package/dist/lib/database/index.js +35 -1067
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/media.d.ts +53 -0
- package/dist/lib/database/media.js +118 -0
- package/dist/lib/database/media.js.map +1 -0
- package/dist/lib/database/migrations/0011_add_review_gate.d.ts +8 -0
- package/dist/lib/database/migrations/0011_add_review_gate.js +21 -0
- package/dist/lib/database/migrations/0011_add_review_gate.js.map +1 -0
- package/dist/lib/database/migrations/index.js +2 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/database/pmo-bootstrap.d.ts +30 -0
- package/dist/lib/database/pmo-bootstrap.js +105 -0
- package/dist/lib/database/pmo-bootstrap.js.map +1 -0
- package/dist/lib/database/repositories.d.ts +26 -0
- package/dist/lib/database/repositories.js +56 -0
- package/dist/lib/database/repositories.js.map +1 -0
- package/dist/lib/database/settings-store.d.ts +60 -0
- package/dist/lib/database/settings-store.js +87 -0
- package/dist/lib/database/settings-store.js.map +1 -0
- package/dist/lib/database/themes.d.ts +59 -0
- package/dist/lib/database/themes.js +212 -0
- package/dist/lib/database/themes.js.map +1 -0
- package/dist/lib/database/workspace.d.ts +46 -0
- package/dist/lib/database/workspace.js +158 -0
- package/dist/lib/database/workspace.js.map +1 -0
- package/dist/lib/database/worktrees.d.ts +33 -0
- package/dist/lib/database/worktrees.js +60 -0
- package/dist/lib/database/worktrees.js.map +1 -0
- package/dist/lib/execution/config.d.ts +1 -1
- package/dist/lib/execution/config.js +7 -17
- package/dist/lib/execution/config.js.map +1 -1
- package/dist/lib/execution/runners/prompt-builder.js +49 -15
- package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
- package/dist/lib/execution/spawner.d.ts +1 -1
- package/dist/lib/execution/storage.d.ts +6 -4
- package/dist/lib/execution/storage.js +17 -9
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/execution/types.d.ts +1 -0
- package/dist/lib/execution/types.js.map +1 -1
- package/dist/lib/external-issues/mapping-store.d.ts +4 -3
- package/dist/lib/external-issues/mapping-store.js +21 -13
- package/dist/lib/external-issues/mapping-store.js.map +1 -1
- package/dist/lib/external-issues/outbound-sync.d.ts +1 -1
- package/dist/lib/jira/config.d.ts +1 -6
- package/dist/lib/jira/config.js +16 -33
- package/dist/lib/jira/config.js.map +1 -1
- package/dist/lib/linear/config.d.ts +1 -1
- package/dist/lib/linear/config.js +16 -38
- package/dist/lib/linear/config.js.map +1 -1
- package/dist/lib/linear/mapper.d.ts +4 -3
- package/dist/lib/linear/mapper.js +20 -13
- package/dist/lib/linear/mapper.js.map +1 -1
- package/dist/lib/mcp/tools/action.js +34 -0
- package/dist/lib/mcp/tools/action.js.map +1 -1
- package/dist/lib/monday/config.d.ts +1 -1
- package/dist/lib/monday/config.js +16 -32
- package/dist/lib/monday/config.js.map +1 -1
- package/dist/lib/monday/mapper.d.ts +4 -3
- package/dist/lib/monday/mapper.js +19 -12
- package/dist/lib/monday/mapper.js.map +1 -1
- package/dist/lib/onboarding/wizard.d.ts +2 -2
- package/dist/lib/onboarding/wizard.js +32 -24
- package/dist/lib/onboarding/wizard.js.map +1 -1
- package/dist/lib/pmo/diet.d.ts +1 -1
- package/dist/lib/pmo/schema.d.ts +1 -1
- package/dist/lib/pmo/schema.js +1 -0
- package/dist/lib/pmo/schema.js.map +1 -1
- package/dist/lib/pmo/storage/actions.js +9 -3
- package/dist/lib/pmo/storage/actions.js.map +1 -1
- package/dist/lib/pmo/storage/index.d.ts +9 -0
- package/dist/lib/pmo/storage/index.js +16 -1
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/pmo/storage/tickets.d.ts +7 -0
- package/dist/lib/pmo/storage/tickets.js +33 -2
- package/dist/lib/pmo/storage/tickets.js.map +1 -1
- package/dist/lib/pmo/storage/types.d.ts +5 -1
- package/dist/lib/pmo/types.d.ts +10 -0
- package/dist/lib/pmo/types.js.map +1 -1
- package/dist/lib/pmo/utils.d.ts +38 -0
- package/dist/lib/pmo/utils.js +61 -0
- package/dist/lib/pmo/utils.js.map +1 -1
- package/dist/lib/providers/event-emitting-provider.js +13 -2
- package/dist/lib/providers/event-emitting-provider.js.map +1 -1
- package/dist/lib/shortcut/config.d.ts +1 -7
- package/dist/lib/shortcut/config.js +13 -32
- package/dist/lib/shortcut/config.js.map +1 -1
- package/dist/lib/telemetry/analytics.d.ts +47 -0
- package/dist/lib/telemetry/analytics.js +52 -0
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/telemetry/telemetry-bridge.d.ts +35 -0
- package/dist/lib/telemetry/telemetry-bridge.js +139 -0
- package/dist/lib/telemetry/telemetry-bridge.js.map +1 -0
- package/dist/lib/trello/config.d.ts +1 -26
- package/dist/lib/trello/config.js +23 -64
- package/dist/lib/trello/config.js.map +1 -1
- package/dist/lib/trello/mapper.d.ts +4 -3
- package/dist/lib/trello/mapper.js +17 -10
- package/dist/lib/trello/mapper.js.map +1 -1
- package/dist/lib/work-lifecycle/post-execution.d.ts +6 -2
- package/dist/lib/work-lifecycle/post-execution.js +30 -18
- package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
- package/dist/lib/work-source/config.d.ts +1 -1
- package/dist/lib/work-source/config.js +14 -24
- package/dist/lib/work-source/config.js.map +1 -1
- package/dist/lib/work-source/provider-sources.d.ts +1 -1
- package/dist/lib/work-source/provider-sources.js +8 -20
- package/dist/lib/work-source/provider-sources.js.map +1 -1
- package/oclif.manifest.json +1035 -987
- 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/commands/init.js
CHANGED
|
@@ -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
|
|
5
|
+
static description = 'Initialize a new headquarters (deprecated ā use `prlt new` instead)';
|
|
11
6
|
static examples = [
|
|
12
|
-
'<%= config.bin %>
|
|
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
|
-
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
96
|
-
|
|
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":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
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"}
|
package/dist/commands/new.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
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
|
*/
|
package/dist/commands/new.js
CHANGED
|
@@ -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,
|
|
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
|
-
*
|
|
97
|
+
* Returning user flow: straight to HQ creation (power user mode).
|
|
54
98
|
*/
|
|
55
|
-
async
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
*/
|