jumbo-cli 2.4.0 → 2.6.0
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/assets/skills/refine-jumbo-goals/SKILL.md +10 -5
- package/dist/application/context/project/get/ContextualProjectView.d.ts +4 -1
- package/dist/application/context/project/get/ContextualProjectView.d.ts.map +1 -1
- package/dist/application/context/project/init/AgentSelection.d.ts +6 -0
- package/dist/application/context/project/init/AgentSelection.d.ts.map +1 -0
- package/dist/application/context/project/init/AgentSelection.js +3 -0
- package/dist/application/context/project/init/AgentSelection.js.map +1 -0
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts +8 -3
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts.map +1 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.d.ts +2 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.d.ts.map +1 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.js +2 -2
- package/dist/application/context/project/init/InitializeProjectCommandHandler.js.map +1 -1
- package/dist/application/context/project/init/InitializeProjectRequest.d.ts +2 -0
- package/dist/application/context/project/init/InitializeProjectRequest.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js +2 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js.map +1 -1
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.js +3 -2
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.js.map +1 -1
- package/dist/application/context/project/init/PlanProjectInitRequest.d.ts +2 -0
- package/dist/application/context/project/init/PlanProjectInitRequest.d.ts.map +1 -1
- package/dist/application/context/project/init/PlanProjectInitResponse.d.ts +2 -0
- package/dist/application/context/project/init/PlanProjectInitResponse.d.ts.map +1 -1
- package/dist/application/context/sessions/SessionInstructionSignal.d.ts +8 -0
- package/dist/application/context/sessions/SessionInstructionSignal.d.ts.map +1 -0
- package/dist/application/context/sessions/SessionInstructionSignal.js +10 -0
- package/dist/application/context/sessions/SessionInstructionSignal.js.map +1 -0
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +3 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js +5 -3
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +2 -3
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js +19 -10
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts +2 -4
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts +7 -3
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js +40 -29
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/IConfigurer.d.ts +3 -0
- package/dist/infrastructure/context/project/init/IConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +5 -7
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/infrastructure/logging/FileLogger.d.ts +3 -2
- package/dist/infrastructure/logging/FileLogger.d.ts.map +1 -1
- package/dist/infrastructure/logging/FileLogger.js +9 -3
- package/dist/infrastructure/logging/FileLogger.js.map +1 -1
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.js +10 -7
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/project/init/project.init.d.ts +10 -0
- package/dist/presentation/cli/commands/project/init/project.init.d.ts.map +1 -1
- package/dist/presentation/cli/commands/project/init/project.init.js +373 -3
- package/dist/presentation/cli/commands/project/init/project.init.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +36 -3
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +3 -5
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +4 -28
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.js +2 -2
- package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,6 +17,9 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
17
17
|
const Renderer_js_1 = require("../../../rendering/Renderer.js");
|
|
18
18
|
const AnimatedBanner_js_1 = require("../../../banner/AnimatedBanner.js");
|
|
19
19
|
const Constants_js_1 = require("../../../../../domain/project/Constants.js");
|
|
20
|
+
const Constants_js_2 = require("../../../../../domain/audiences/Constants.js");
|
|
21
|
+
const Constants_js_3 = require("../../../../../domain/audience-pains/Constants.js");
|
|
22
|
+
const Constants_js_4 = require("../../../../../domain/value-propositions/Constants.js");
|
|
20
23
|
/**
|
|
21
24
|
* Displays the planned changes in a user-friendly format
|
|
22
25
|
*/
|
|
@@ -57,6 +60,30 @@ async function confirmChanges() {
|
|
|
57
60
|
]);
|
|
58
61
|
return answers.proceed;
|
|
59
62
|
}
|
|
63
|
+
async function promptForAgentSelection(availableAgents) {
|
|
64
|
+
if (availableAgents.length === 0) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
const answers = await inquirer_1.default.prompt([
|
|
68
|
+
{
|
|
69
|
+
type: "checkbox",
|
|
70
|
+
name: "selectedAgentIds",
|
|
71
|
+
message: "Select agents to configure:",
|
|
72
|
+
choices: availableAgents.map((agent) => ({
|
|
73
|
+
name: agent.name,
|
|
74
|
+
value: agent.id,
|
|
75
|
+
checked: true,
|
|
76
|
+
})),
|
|
77
|
+
validate: (input) => {
|
|
78
|
+
if (input.length === 0) {
|
|
79
|
+
return "Select at least one agent";
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
85
|
+
return answers.selectedAgentIds;
|
|
86
|
+
}
|
|
60
87
|
/**
|
|
61
88
|
* Command metadata for auto-registration
|
|
62
89
|
*/
|
|
@@ -80,6 +107,42 @@ exports.metadata = {
|
|
|
80
107
|
{
|
|
81
108
|
flags: "--yolo",
|
|
82
109
|
description: "Skip confirmation prompt and proceed with initialization"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
flags: "--audience-name <name>",
|
|
113
|
+
description: "Target audience name (non-interactive mode)"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
flags: "--audience-description <description>",
|
|
117
|
+
description: "Target audience description (non-interactive mode)"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
flags: "--audience-priority <priority>",
|
|
121
|
+
description: "Target audience priority: primary, secondary, tertiary (non-interactive mode)"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
flags: "--pain-title <title>",
|
|
125
|
+
description: "Audience pain point title (non-interactive mode)"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
flags: "--pain-description <description>",
|
|
129
|
+
description: "Audience pain point description (non-interactive mode)"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
flags: "--value-title <title>",
|
|
133
|
+
description: "Value proposition title (non-interactive mode)"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
flags: "--value-description <description>",
|
|
137
|
+
description: "Value proposition description (non-interactive mode)"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
flags: "--value-benefit <benefit>",
|
|
141
|
+
description: "Value proposition benefit (non-interactive mode)"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
flags: "--value-measurable-outcome <outcome>",
|
|
145
|
+
description: "Value proposition measurable outcome (non-interactive mode)"
|
|
83
146
|
}
|
|
84
147
|
],
|
|
85
148
|
examples: [
|
|
@@ -91,6 +154,10 @@ exports.metadata = {
|
|
|
91
154
|
command: 'jumbo project init --non-interactive --name "MyProject" --purpose "AI memory management"',
|
|
92
155
|
description: "Initialize without prompts using command line options"
|
|
93
156
|
},
|
|
157
|
+
{
|
|
158
|
+
command: 'jumbo project init --non-interactive --name "MyProject" --audience-name "Developers" --audience-description "Software developers" --audience-priority primary',
|
|
159
|
+
description: "Initialize with audience in non-interactive mode"
|
|
160
|
+
},
|
|
94
161
|
{
|
|
95
162
|
command: "jumbo project init --yolo",
|
|
96
163
|
description: "Initialize interactively but skip the confirmation prompt"
|
|
@@ -138,6 +205,241 @@ async function promptForProjectDetails() {
|
|
|
138
205
|
purpose: answers.purpose?.trim() || undefined,
|
|
139
206
|
};
|
|
140
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Prompts the user to optionally define target audiences.
|
|
210
|
+
* Loops with "Add another?" until the user declines.
|
|
211
|
+
*/
|
|
212
|
+
async function promptForAudiences() {
|
|
213
|
+
const audiences = [];
|
|
214
|
+
const { defineAudience } = await inquirer_1.default.prompt([
|
|
215
|
+
{
|
|
216
|
+
type: "confirm",
|
|
217
|
+
name: "defineAudience",
|
|
218
|
+
message: "Define a target audience?",
|
|
219
|
+
suffix: "\n Who is this project for? (you can add more later)\n>",
|
|
220
|
+
default: true,
|
|
221
|
+
},
|
|
222
|
+
]);
|
|
223
|
+
if (!defineAudience)
|
|
224
|
+
return audiences;
|
|
225
|
+
let addMore = true;
|
|
226
|
+
while (addMore) {
|
|
227
|
+
const answers = await inquirer_1.default.prompt([
|
|
228
|
+
{
|
|
229
|
+
type: "input",
|
|
230
|
+
name: "name",
|
|
231
|
+
message: "Audience name:",
|
|
232
|
+
suffix: "\n A short label for this audience (e.g., 'Software Developers')\n>",
|
|
233
|
+
validate: (input) => {
|
|
234
|
+
if (!input.trim())
|
|
235
|
+
return "Audience name is required";
|
|
236
|
+
if (input.length > Constants_js_2.AudienceLimits.NAME_MAX_LENGTH) {
|
|
237
|
+
return `Audience name must be less than ${Constants_js_2.AudienceLimits.NAME_MAX_LENGTH} characters`;
|
|
238
|
+
}
|
|
239
|
+
return true;
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
type: "input",
|
|
244
|
+
name: "description",
|
|
245
|
+
message: "Audience description:",
|
|
246
|
+
suffix: "\n Who they are and what they do\n>",
|
|
247
|
+
validate: (input) => {
|
|
248
|
+
if (!input.trim())
|
|
249
|
+
return "Audience description is required";
|
|
250
|
+
if (input.length > Constants_js_2.AudienceLimits.DESCRIPTION_MAX_LENGTH) {
|
|
251
|
+
return `Audience description must be less than ${Constants_js_2.AudienceLimits.DESCRIPTION_MAX_LENGTH} characters`;
|
|
252
|
+
}
|
|
253
|
+
return true;
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
type: "list",
|
|
258
|
+
name: "priority",
|
|
259
|
+
message: "Audience priority:",
|
|
260
|
+
choices: [
|
|
261
|
+
{ name: "Primary", value: Constants_js_2.AudiencePriority.PRIMARY },
|
|
262
|
+
{ name: "Secondary", value: Constants_js_2.AudiencePriority.SECONDARY },
|
|
263
|
+
{ name: "Tertiary", value: Constants_js_2.AudiencePriority.TERTIARY },
|
|
264
|
+
],
|
|
265
|
+
default: Constants_js_2.AudiencePriority.PRIMARY,
|
|
266
|
+
},
|
|
267
|
+
]);
|
|
268
|
+
audiences.push({
|
|
269
|
+
name: answers.name.trim(),
|
|
270
|
+
description: answers.description.trim(),
|
|
271
|
+
priority: answers.priority,
|
|
272
|
+
});
|
|
273
|
+
const { another } = await inquirer_1.default.prompt([
|
|
274
|
+
{
|
|
275
|
+
type: "confirm",
|
|
276
|
+
name: "another",
|
|
277
|
+
message: "Add another audience?",
|
|
278
|
+
default: false,
|
|
279
|
+
},
|
|
280
|
+
]);
|
|
281
|
+
addMore = another;
|
|
282
|
+
}
|
|
283
|
+
return audiences;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Prompts the user to optionally define audience pain points.
|
|
287
|
+
* Loops with "Add another?" until the user declines.
|
|
288
|
+
*/
|
|
289
|
+
async function promptForAudiencePains() {
|
|
290
|
+
const pains = [];
|
|
291
|
+
const { definePain } = await inquirer_1.default.prompt([
|
|
292
|
+
{
|
|
293
|
+
type: "confirm",
|
|
294
|
+
name: "definePain",
|
|
295
|
+
message: "Define an audience pain point?",
|
|
296
|
+
suffix: "\n What problem does this project solve? (you can add more later)\n>",
|
|
297
|
+
default: true,
|
|
298
|
+
},
|
|
299
|
+
]);
|
|
300
|
+
if (!definePain)
|
|
301
|
+
return pains;
|
|
302
|
+
let addMore = true;
|
|
303
|
+
while (addMore) {
|
|
304
|
+
const answers = await inquirer_1.default.prompt([
|
|
305
|
+
{
|
|
306
|
+
type: "input",
|
|
307
|
+
name: "title",
|
|
308
|
+
message: "Pain point title:",
|
|
309
|
+
suffix: "\n A brief title for the pain point (e.g., 'Context loss between sessions')\n>",
|
|
310
|
+
validate: (input) => {
|
|
311
|
+
if (!input.trim())
|
|
312
|
+
return "Pain title is required";
|
|
313
|
+
if (input.length > Constants_js_3.AudiencePainLimits.TITLE_MAX_LENGTH) {
|
|
314
|
+
return `Pain title must be less than ${Constants_js_3.AudiencePainLimits.TITLE_MAX_LENGTH} characters`;
|
|
315
|
+
}
|
|
316
|
+
return true;
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
type: "input",
|
|
321
|
+
name: "description",
|
|
322
|
+
message: "Pain point description:",
|
|
323
|
+
suffix: "\n Detailed description of the problem\n>",
|
|
324
|
+
validate: (input) => {
|
|
325
|
+
if (!input.trim())
|
|
326
|
+
return "Pain description is required";
|
|
327
|
+
if (input.length > Constants_js_3.AudiencePainLimits.DESCRIPTION_MAX_LENGTH) {
|
|
328
|
+
return `Pain description must be less than ${Constants_js_3.AudiencePainLimits.DESCRIPTION_MAX_LENGTH} characters`;
|
|
329
|
+
}
|
|
330
|
+
return true;
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
]);
|
|
334
|
+
pains.push({
|
|
335
|
+
title: answers.title.trim(),
|
|
336
|
+
description: answers.description.trim(),
|
|
337
|
+
});
|
|
338
|
+
const { another } = await inquirer_1.default.prompt([
|
|
339
|
+
{
|
|
340
|
+
type: "confirm",
|
|
341
|
+
name: "another",
|
|
342
|
+
message: "Add another pain point?",
|
|
343
|
+
default: false,
|
|
344
|
+
},
|
|
345
|
+
]);
|
|
346
|
+
addMore = another;
|
|
347
|
+
}
|
|
348
|
+
return pains;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Prompts the user to optionally define value propositions.
|
|
352
|
+
* Loops with "Add another?" until the user declines.
|
|
353
|
+
*/
|
|
354
|
+
async function promptForValuePropositions() {
|
|
355
|
+
const values = [];
|
|
356
|
+
const { defineValue } = await inquirer_1.default.prompt([
|
|
357
|
+
{
|
|
358
|
+
type: "confirm",
|
|
359
|
+
name: "defineValue",
|
|
360
|
+
message: "Define a value proposition?",
|
|
361
|
+
suffix: "\n What value does this project deliver? (you can add more later)\n>",
|
|
362
|
+
default: true,
|
|
363
|
+
},
|
|
364
|
+
]);
|
|
365
|
+
if (!defineValue)
|
|
366
|
+
return values;
|
|
367
|
+
let addMore = true;
|
|
368
|
+
while (addMore) {
|
|
369
|
+
const answers = await inquirer_1.default.prompt([
|
|
370
|
+
{
|
|
371
|
+
type: "input",
|
|
372
|
+
name: "title",
|
|
373
|
+
message: "Value proposition title:",
|
|
374
|
+
suffix: "\n A short title (e.g., 'Persistent context across sessions')\n>",
|
|
375
|
+
validate: (input) => {
|
|
376
|
+
if (!input.trim())
|
|
377
|
+
return "Value proposition title is required";
|
|
378
|
+
if (input.length > Constants_js_4.ValuePropositionLimits.TITLE_MAX_LENGTH) {
|
|
379
|
+
return `Title must be less than ${Constants_js_4.ValuePropositionLimits.TITLE_MAX_LENGTH} characters`;
|
|
380
|
+
}
|
|
381
|
+
return true;
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
type: "input",
|
|
386
|
+
name: "description",
|
|
387
|
+
message: "Value proposition description:",
|
|
388
|
+
suffix: "\n Detailed explanation of the value\n>",
|
|
389
|
+
validate: (input) => {
|
|
390
|
+
if (!input.trim())
|
|
391
|
+
return "Description is required";
|
|
392
|
+
if (input.length > Constants_js_4.ValuePropositionLimits.DESCRIPTION_MAX_LENGTH) {
|
|
393
|
+
return `Description must be less than ${Constants_js_4.ValuePropositionLimits.DESCRIPTION_MAX_LENGTH} characters`;
|
|
394
|
+
}
|
|
395
|
+
return true;
|
|
396
|
+
},
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
type: "input",
|
|
400
|
+
name: "benefit",
|
|
401
|
+
message: "Benefit:",
|
|
402
|
+
suffix: "\n How this improves the situation\n>",
|
|
403
|
+
validate: (input) => {
|
|
404
|
+
if (!input.trim())
|
|
405
|
+
return "Benefit is required";
|
|
406
|
+
if (input.length > Constants_js_4.ValuePropositionLimits.BENEFIT_MAX_LENGTH) {
|
|
407
|
+
return `Benefit must be less than ${Constants_js_4.ValuePropositionLimits.BENEFIT_MAX_LENGTH} characters`;
|
|
408
|
+
}
|
|
409
|
+
return true;
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
type: "input",
|
|
414
|
+
name: "measurableOutcome",
|
|
415
|
+
message: "Measurable outcome (optional):",
|
|
416
|
+
suffix: "\n How success is measured\n>",
|
|
417
|
+
validate: (input) => {
|
|
418
|
+
if (input && input.length > Constants_js_4.ValuePropositionLimits.MEASURABLE_OUTCOME_MAX_LENGTH) {
|
|
419
|
+
return `Measurable outcome must be less than ${Constants_js_4.ValuePropositionLimits.MEASURABLE_OUTCOME_MAX_LENGTH} characters`;
|
|
420
|
+
}
|
|
421
|
+
return true;
|
|
422
|
+
},
|
|
423
|
+
},
|
|
424
|
+
]);
|
|
425
|
+
values.push({
|
|
426
|
+
title: answers.title.trim(),
|
|
427
|
+
description: answers.description.trim(),
|
|
428
|
+
benefit: answers.benefit.trim(),
|
|
429
|
+
measurableOutcome: answers.measurableOutcome?.trim() || undefined,
|
|
430
|
+
});
|
|
431
|
+
const { another } = await inquirer_1.default.prompt([
|
|
432
|
+
{
|
|
433
|
+
type: "confirm",
|
|
434
|
+
name: "another",
|
|
435
|
+
message: "Add another value proposition?",
|
|
436
|
+
default: false,
|
|
437
|
+
},
|
|
438
|
+
]);
|
|
439
|
+
addMore = another;
|
|
440
|
+
}
|
|
441
|
+
return values;
|
|
442
|
+
}
|
|
141
443
|
async function promptForTelemetryConsentIfNeeded(container, interactive) {
|
|
142
444
|
const status = await container.getTelemetryStatusController.handle({});
|
|
143
445
|
if (status.configured
|
|
@@ -178,8 +480,10 @@ async function projectInit(options, container) {
|
|
|
178
480
|
else {
|
|
179
481
|
renderer.banner((0, AnimatedBanner_js_1.getBannerLines)());
|
|
180
482
|
}
|
|
181
|
-
// Determine project details based on mode
|
|
483
|
+
// Determine project details and primitives based on mode
|
|
182
484
|
let projectDetails;
|
|
485
|
+
let primitives = { audiences: [], audiencePains: [], valuePropositions: [] };
|
|
486
|
+
let selectedAgentIds;
|
|
183
487
|
if (options.nonInteractive) {
|
|
184
488
|
// Non-interactive mode: require --name flag
|
|
185
489
|
if (!options.name) {
|
|
@@ -190,16 +494,49 @@ async function projectInit(options, container) {
|
|
|
190
494
|
name: options.name,
|
|
191
495
|
purpose: options.purpose,
|
|
192
496
|
};
|
|
497
|
+
// Collect primitives from CLI flags
|
|
498
|
+
if (options.audienceName && options.audienceDescription && options.audiencePriority) {
|
|
499
|
+
primitives.audiences.push({
|
|
500
|
+
name: options.audienceName,
|
|
501
|
+
description: options.audienceDescription,
|
|
502
|
+
priority: options.audiencePriority,
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
if (options.painTitle && options.painDescription) {
|
|
506
|
+
primitives.audiencePains.push({
|
|
507
|
+
title: options.painTitle,
|
|
508
|
+
description: options.painDescription,
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
if (options.valueTitle && options.valueDescription && options.valueBenefit) {
|
|
512
|
+
primitives.valuePropositions.push({
|
|
513
|
+
title: options.valueTitle,
|
|
514
|
+
description: options.valueDescription,
|
|
515
|
+
benefit: options.valueBenefit,
|
|
516
|
+
measurableOutcome: options.valueMeasurableOutcome,
|
|
517
|
+
});
|
|
518
|
+
}
|
|
193
519
|
}
|
|
194
520
|
else {
|
|
195
521
|
// Interactive mode (default): prompt for all fields
|
|
196
522
|
renderer.info("Let's set up your Jumbo project. Press Enter to skip optional fields.\n");
|
|
197
523
|
projectDetails = await promptForProjectDetails();
|
|
524
|
+
primitives.audiences = await promptForAudiences();
|
|
525
|
+
primitives.audiencePains = await promptForAudiencePains();
|
|
526
|
+
primitives.valuePropositions = await promptForValuePropositions();
|
|
198
527
|
}
|
|
199
528
|
await promptForTelemetryConsentIfNeeded(container, !options.nonInteractive);
|
|
200
|
-
// Get planned changes from application layer (single source of truth)
|
|
201
529
|
const projectRoot = process.cwd();
|
|
202
|
-
const
|
|
530
|
+
const initialPlanResponse = await container.planProjectInitController.handle({ projectRoot });
|
|
531
|
+
if (!options.nonInteractive) {
|
|
532
|
+
selectedAgentIds = await promptForAgentSelection(initialPlanResponse.availableAgents);
|
|
533
|
+
}
|
|
534
|
+
const planResponse = options.nonInteractive
|
|
535
|
+
? initialPlanResponse
|
|
536
|
+
: await container.planProjectInitController.handle({
|
|
537
|
+
projectRoot,
|
|
538
|
+
selectedAgentIds,
|
|
539
|
+
});
|
|
203
540
|
displayPlannedChanges(renderer, planResponse.plannedChanges);
|
|
204
541
|
// Ask for confirmation (unless --yolo flag is set)
|
|
205
542
|
if (!options.yolo) {
|
|
@@ -216,6 +553,7 @@ async function projectInit(options, container) {
|
|
|
216
553
|
name: projectDetails.name,
|
|
217
554
|
purpose: projectDetails.purpose,
|
|
218
555
|
projectRoot,
|
|
556
|
+
selectedAgentIds,
|
|
219
557
|
});
|
|
220
558
|
// Show completion status for each change (from the result, not hardcoded)
|
|
221
559
|
console.log();
|
|
@@ -224,6 +562,26 @@ async function projectInit(options, container) {
|
|
|
224
562
|
const verb = change.action === "create" ? "Created" : "Updated";
|
|
225
563
|
console.log(` ${symbol} ${verb} ${change.path}`);
|
|
226
564
|
});
|
|
565
|
+
// Persist primitives via existing controllers
|
|
566
|
+
const registered = [];
|
|
567
|
+
for (const audience of primitives.audiences) {
|
|
568
|
+
await container.addAudienceController.handle(audience);
|
|
569
|
+
registered.push(`Audience: ${audience.name}`);
|
|
570
|
+
}
|
|
571
|
+
for (const pain of primitives.audiencePains) {
|
|
572
|
+
await container.addAudiencePainController.handle(pain);
|
|
573
|
+
registered.push(`Pain: ${pain.title}`);
|
|
574
|
+
}
|
|
575
|
+
for (const value of primitives.valuePropositions) {
|
|
576
|
+
await container.addValuePropositionController.handle(value);
|
|
577
|
+
registered.push(`Value: ${value.title}`);
|
|
578
|
+
}
|
|
579
|
+
if (registered.length > 0) {
|
|
580
|
+
console.log();
|
|
581
|
+
registered.forEach((item) => {
|
|
582
|
+
console.log(` ${chalk_1.default.green("✓")} Registered ${item}`);
|
|
583
|
+
});
|
|
584
|
+
}
|
|
227
585
|
console.log();
|
|
228
586
|
// Success output (verbose for onboarding)
|
|
229
587
|
const data = {
|
|
@@ -235,6 +593,18 @@ async function projectInit(options, container) {
|
|
|
235
593
|
}
|
|
236
594
|
renderer.success("Welcome to Jumbo! Project initialized successfully.", data);
|
|
237
595
|
renderer.info("");
|
|
596
|
+
// Conditional next steps based on which primitives were provided
|
|
597
|
+
const skipped = [];
|
|
598
|
+
if (primitives.audiences.length === 0)
|
|
599
|
+
skipped.push("audiences ('jumbo audience add')");
|
|
600
|
+
if (primitives.audiencePains.length === 0)
|
|
601
|
+
skipped.push("pain points ('jumbo audience-pain add')");
|
|
602
|
+
if (primitives.valuePropositions.length === 0)
|
|
603
|
+
skipped.push("value propositions ('jumbo value add')");
|
|
604
|
+
if (skipped.length > 0) {
|
|
605
|
+
renderer.info(`Consider defining: ${skipped.join(", ")}`);
|
|
606
|
+
renderer.info("");
|
|
607
|
+
}
|
|
238
608
|
renderer.info("Next steps: Create your first goal then start your coding agent.");
|
|
239
609
|
renderer.info("Jumbo will guide you, then your agent, through everything.");
|
|
240
610
|
renderer.info("Run 'jumbo goal add --help' to see available options for creating your first goal.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.init.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/project/init/project.init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.init.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/project/init/project.init.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare class SessionContextOutputBuilder {
|
|
|
28
28
|
renderSessionSummary(context: EnrichedSessionContext): string;
|
|
29
29
|
private buildProjectContextData;
|
|
30
30
|
private buildSessionContextData;
|
|
31
|
+
private buildPrimitiveGapsInstruction;
|
|
31
32
|
private buildBrownfieldInstruction;
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=SessionContextOutputBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextOutputBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2EAA2E,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionContextOutputBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2EAA2E,CAAC;AAKnH;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;;IAO9C;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc;IAapE;;OAEG;IACH,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,GAAG;QAC9D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7C;IAUD,OAAO,CAAC,oBAAoB;IAY5B,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM;IAY7D,OAAO,CAAC,uBAAuB;IAsC/B,OAAO,CAAC,uBAAuB;IAkF/B,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,0BAA0B;CAqCnC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SessionContextOutputBuilder = void 0;
|
|
4
4
|
const TerminalOutputBuilder_js_1 = require("../../../output/TerminalOutputBuilder.js");
|
|
5
5
|
const YamlFormatter_js_1 = require("../../../formatting/YamlFormatter.js");
|
|
6
|
+
const SessionInstructionSignal_js_1 = require("../../../../../application/context/sessions/SessionInstructionSignal.js");
|
|
6
7
|
/**
|
|
7
8
|
* SessionContextOutputBuilder - Builds output for session context orientation.
|
|
8
9
|
*
|
|
@@ -75,10 +76,17 @@ class SessionContextOutputBuilder {
|
|
|
75
76
|
description: p.description,
|
|
76
77
|
}));
|
|
77
78
|
}
|
|
79
|
+
if (projectContext.valuePropositions.length > 0) {
|
|
80
|
+
contextData.valuePropositions = projectContext.valuePropositions.map((v) => ({
|
|
81
|
+
title: v.title,
|
|
82
|
+
description: v.description,
|
|
83
|
+
benefit: v.benefit,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
78
86
|
return contextData;
|
|
79
87
|
}
|
|
80
88
|
buildSessionContextData(context) {
|
|
81
|
-
if (context.instructions.includes(
|
|
89
|
+
if (context.instructions.includes(SessionInstructionSignal_js_1.SessionInstructionSignal.BROWNFIELD_ONBOARDING)) {
|
|
82
90
|
return {
|
|
83
91
|
data: {
|
|
84
92
|
sessionContext: {
|
|
@@ -132,11 +140,36 @@ class SessionContextOutputBuilder {
|
|
|
132
140
|
sessionCtx.warning =
|
|
133
141
|
"Deactivated relations detected. Review them before relying on architecture links.";
|
|
134
142
|
}
|
|
135
|
-
const
|
|
136
|
-
|
|
143
|
+
const llmParts = [];
|
|
144
|
+
if (context.instructions.includes(SessionInstructionSignal_js_1.SessionInstructionSignal.PRIMITIVE_GAPS_DETECTED)) {
|
|
145
|
+
llmParts.push(this.buildPrimitiveGapsInstruction(context));
|
|
146
|
+
}
|
|
147
|
+
if (context.context.pausedGoals.length > 0) {
|
|
148
|
+
llmParts.push("@LLM: Goals were paused in your workspace. To pick up where you left off, run:\n jumbo goal resume --id <goal-id>");
|
|
149
|
+
}
|
|
150
|
+
const llmInstruction = llmParts.length > 0
|
|
151
|
+
? "\n\n" + llmParts.join("\n\n")
|
|
137
152
|
: undefined;
|
|
138
153
|
return { data: contextData, llmInstruction };
|
|
139
154
|
}
|
|
155
|
+
buildPrimitiveGapsInstruction(context) {
|
|
156
|
+
const projectContext = context.context.projectContext;
|
|
157
|
+
if (!projectContext) {
|
|
158
|
+
return "";
|
|
159
|
+
}
|
|
160
|
+
const PRIMITIVE_CHECKS = [
|
|
161
|
+
{ name: "audiences", items: projectContext.audiences, command: "jumbo audience add --help" },
|
|
162
|
+
{ name: "audience pains", items: projectContext.audiencePains, command: "jumbo audience-pain add --help" },
|
|
163
|
+
{ name: "value propositions", items: projectContext.valuePropositions, command: "jumbo value add --help" },
|
|
164
|
+
];
|
|
165
|
+
const missing = PRIMITIVE_CHECKS.filter(p => p.items.length === 0);
|
|
166
|
+
if (missing.length === 0) {
|
|
167
|
+
return "";
|
|
168
|
+
}
|
|
169
|
+
const missingNames = missing.map(p => p.name).join(", ");
|
|
170
|
+
const commands = missing.map(p => p.command).join(", ");
|
|
171
|
+
return `@LLM: This project has gaps in its foundational context. Missing: ${missingNames}. Ask the developer if they would like to register these now. Commands: ${commands}.`;
|
|
172
|
+
}
|
|
140
173
|
buildBrownfieldInstruction() {
|
|
141
174
|
return [
|
|
142
175
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextOutputBuilder.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.ts"],"names":[],"mappings":";;;AAAA,uFAAiF;AAIjF,2EAAqE;
|
|
1
|
+
{"version":3,"file":"SessionContextOutputBuilder.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { TerminalOutput } from "../../../output/TerminalOutput.js";
|
|
2
2
|
import { EnrichedSessionContext } from "../../../../../application/context/sessions/get/EnrichedSessionContext.js";
|
|
3
|
-
import { ActivityMirror } from "../../../../../application/context/sessions/start/ActivityMirrorAssembler.js";
|
|
4
3
|
/**
|
|
5
4
|
* SessionStartOutputBuilder - Top-level output builder for session start command.
|
|
6
5
|
*
|
|
@@ -16,13 +15,12 @@ export declare class SessionStartOutputBuilder {
|
|
|
16
15
|
constructor();
|
|
17
16
|
/**
|
|
18
17
|
* Build complete human-readable session start output.
|
|
19
|
-
* Composes project context,
|
|
18
|
+
* Composes project context, session summary, goals, and LLM instructions.
|
|
20
19
|
*/
|
|
21
|
-
buildSessionStartOutput(context: EnrichedSessionContext
|
|
20
|
+
buildSessionStartOutput(context: EnrichedSessionContext): TerminalOutput;
|
|
22
21
|
/**
|
|
23
22
|
* Build structured JSON output for session start command.
|
|
24
23
|
*/
|
|
25
|
-
buildStructuredOutput(context: EnrichedSessionContext, sessionId: string
|
|
26
|
-
private renderActivityMirror;
|
|
24
|
+
buildStructuredOutput(context: EnrichedSessionContext, sessionId: string): Record<string, unknown>;
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=SessionStartOutputBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStartOutputBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2EAA2E,CAAC;AAGnH
|
|
1
|
+
{"version":3,"file":"SessionStartOutputBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2EAA2E,CAAC;AAGnH;;;;;;;GAOG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA8B;IAC1E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4B;;IAQtE;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc;IAyBxE;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuBnG"}
|