@prductr/carlos 1.0.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.
@@ -0,0 +1,503 @@
1
+ /**
2
+ * Core types for Carlos - Product roadmap and market fit agent
3
+ */
4
+ import { z } from "zod";
5
+ /**
6
+ * Product maturity stage
7
+ */
8
+ export declare const ProductStage: z.ZodEnum<["idea", "prototype", "mvp", "alpha", "beta", "early-release", "growth", "mature", "enterprise"]>;
9
+ export type ProductStage = z.infer<typeof ProductStage>;
10
+ /**
11
+ * Epic - Large feature or capability
12
+ */
13
+ export declare const Epic: z.ZodObject<{
14
+ id: z.ZodString;
15
+ title: z.ZodString;
16
+ description: z.ZodString;
17
+ businessValue: z.ZodString;
18
+ userStories: z.ZodArray<z.ZodString, "many">;
19
+ acceptanceCriteria: z.ZodArray<z.ZodString, "many">;
20
+ dependencies: z.ZodArray<z.ZodString, "many">;
21
+ effort: z.ZodEnum<["small", "medium", "large", "extra-large"]>;
22
+ priority: z.ZodEnum<["critical", "high", "medium", "low"]>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ id: string;
25
+ title: string;
26
+ description: string;
27
+ businessValue: string;
28
+ userStories: string[];
29
+ acceptanceCriteria: string[];
30
+ dependencies: string[];
31
+ effort: "small" | "medium" | "large" | "extra-large";
32
+ priority: "medium" | "critical" | "high" | "low";
33
+ }, {
34
+ id: string;
35
+ title: string;
36
+ description: string;
37
+ businessValue: string;
38
+ userStories: string[];
39
+ acceptanceCriteria: string[];
40
+ dependencies: string[];
41
+ effort: "small" | "medium" | "large" | "extra-large";
42
+ priority: "medium" | "critical" | "high" | "low";
43
+ }>;
44
+ export type Epic = z.infer<typeof Epic>;
45
+ /**
46
+ * User story
47
+ */
48
+ export declare const UserStory: z.ZodObject<{
49
+ id: z.ZodString;
50
+ epic: z.ZodString;
51
+ title: z.ZodString;
52
+ asA: z.ZodString;
53
+ iWant: z.ZodString;
54
+ soThat: z.ZodString;
55
+ acceptanceCriteria: z.ZodArray<z.ZodString, "many">;
56
+ estimate: z.ZodString;
57
+ }, "strip", z.ZodTypeAny, {
58
+ id: string;
59
+ title: string;
60
+ acceptanceCriteria: string[];
61
+ epic: string;
62
+ asA: string;
63
+ iWant: string;
64
+ soThat: string;
65
+ estimate: string;
66
+ }, {
67
+ id: string;
68
+ title: string;
69
+ acceptanceCriteria: string[];
70
+ epic: string;
71
+ asA: string;
72
+ iWant: string;
73
+ soThat: string;
74
+ estimate: string;
75
+ }>;
76
+ export type UserStory = z.infer<typeof UserStory>;
77
+ /**
78
+ * Roadmap phase
79
+ */
80
+ export declare const Phase: z.ZodObject<{
81
+ id: z.ZodString;
82
+ name: z.ZodString;
83
+ duration: z.ZodString;
84
+ objectives: z.ZodArray<z.ZodString, "many">;
85
+ epics: z.ZodArray<z.ZodString, "many">;
86
+ milestones: z.ZodArray<z.ZodString, "many">;
87
+ successMetrics: z.ZodArray<z.ZodString, "many">;
88
+ }, "strip", z.ZodTypeAny, {
89
+ id: string;
90
+ name: string;
91
+ duration: string;
92
+ objectives: string[];
93
+ epics: string[];
94
+ milestones: string[];
95
+ successMetrics: string[];
96
+ }, {
97
+ id: string;
98
+ name: string;
99
+ duration: string;
100
+ objectives: string[];
101
+ epics: string[];
102
+ milestones: string[];
103
+ successMetrics: string[];
104
+ }>;
105
+ export type Phase = z.infer<typeof Phase>;
106
+ /**
107
+ * Product roadmap
108
+ */
109
+ export declare const Roadmap: z.ZodObject<{
110
+ vision: z.ZodString;
111
+ currentStage: z.ZodEnum<["idea", "prototype", "mvp", "alpha", "beta", "early-release", "growth", "mature", "enterprise"]>;
112
+ targetStage: z.ZodEnum<["idea", "prototype", "mvp", "alpha", "beta", "early-release", "growth", "mature", "enterprise"]>;
113
+ northStarMetric: z.ZodString;
114
+ phases: z.ZodArray<z.ZodObject<{
115
+ id: z.ZodString;
116
+ name: z.ZodString;
117
+ duration: z.ZodString;
118
+ objectives: z.ZodArray<z.ZodString, "many">;
119
+ epics: z.ZodArray<z.ZodString, "many">;
120
+ milestones: z.ZodArray<z.ZodString, "many">;
121
+ successMetrics: z.ZodArray<z.ZodString, "many">;
122
+ }, "strip", z.ZodTypeAny, {
123
+ id: string;
124
+ name: string;
125
+ duration: string;
126
+ objectives: string[];
127
+ epics: string[];
128
+ milestones: string[];
129
+ successMetrics: string[];
130
+ }, {
131
+ id: string;
132
+ name: string;
133
+ duration: string;
134
+ objectives: string[];
135
+ epics: string[];
136
+ milestones: string[];
137
+ successMetrics: string[];
138
+ }>, "many">;
139
+ epics: z.ZodArray<z.ZodObject<{
140
+ id: z.ZodString;
141
+ title: z.ZodString;
142
+ description: z.ZodString;
143
+ businessValue: z.ZodString;
144
+ userStories: z.ZodArray<z.ZodString, "many">;
145
+ acceptanceCriteria: z.ZodArray<z.ZodString, "many">;
146
+ dependencies: z.ZodArray<z.ZodString, "many">;
147
+ effort: z.ZodEnum<["small", "medium", "large", "extra-large"]>;
148
+ priority: z.ZodEnum<["critical", "high", "medium", "low"]>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ id: string;
151
+ title: string;
152
+ description: string;
153
+ businessValue: string;
154
+ userStories: string[];
155
+ acceptanceCriteria: string[];
156
+ dependencies: string[];
157
+ effort: "small" | "medium" | "large" | "extra-large";
158
+ priority: "medium" | "critical" | "high" | "low";
159
+ }, {
160
+ id: string;
161
+ title: string;
162
+ description: string;
163
+ businessValue: string;
164
+ userStories: string[];
165
+ acceptanceCriteria: string[];
166
+ dependencies: string[];
167
+ effort: "small" | "medium" | "large" | "extra-large";
168
+ priority: "medium" | "critical" | "high" | "low";
169
+ }>, "many">;
170
+ timeline: z.ZodString;
171
+ lastUpdated: z.ZodString;
172
+ }, "strip", z.ZodTypeAny, {
173
+ epics: {
174
+ id: string;
175
+ title: string;
176
+ description: string;
177
+ businessValue: string;
178
+ userStories: string[];
179
+ acceptanceCriteria: string[];
180
+ dependencies: string[];
181
+ effort: "small" | "medium" | "large" | "extra-large";
182
+ priority: "medium" | "critical" | "high" | "low";
183
+ }[];
184
+ vision: string;
185
+ currentStage: "idea" | "prototype" | "mvp" | "alpha" | "beta" | "early-release" | "growth" | "mature" | "enterprise";
186
+ targetStage: "idea" | "prototype" | "mvp" | "alpha" | "beta" | "early-release" | "growth" | "mature" | "enterprise";
187
+ northStarMetric: string;
188
+ phases: {
189
+ id: string;
190
+ name: string;
191
+ duration: string;
192
+ objectives: string[];
193
+ epics: string[];
194
+ milestones: string[];
195
+ successMetrics: string[];
196
+ }[];
197
+ timeline: string;
198
+ lastUpdated: string;
199
+ }, {
200
+ epics: {
201
+ id: string;
202
+ title: string;
203
+ description: string;
204
+ businessValue: string;
205
+ userStories: string[];
206
+ acceptanceCriteria: string[];
207
+ dependencies: string[];
208
+ effort: "small" | "medium" | "large" | "extra-large";
209
+ priority: "medium" | "critical" | "high" | "low";
210
+ }[];
211
+ vision: string;
212
+ currentStage: "idea" | "prototype" | "mvp" | "alpha" | "beta" | "early-release" | "growth" | "mature" | "enterprise";
213
+ targetStage: "idea" | "prototype" | "mvp" | "alpha" | "beta" | "early-release" | "growth" | "mature" | "enterprise";
214
+ northStarMetric: string;
215
+ phases: {
216
+ id: string;
217
+ name: string;
218
+ duration: string;
219
+ objectives: string[];
220
+ epics: string[];
221
+ milestones: string[];
222
+ successMetrics: string[];
223
+ }[];
224
+ timeline: string;
225
+ lastUpdated: string;
226
+ }>;
227
+ export type Roadmap = z.infer<typeof Roadmap>;
228
+ /**
229
+ * Market fit assessment
230
+ */
231
+ export declare const MarketFitAssessment: z.ZodObject<{
232
+ productMarketFitScore: z.ZodNumber;
233
+ targetAudience: z.ZodString;
234
+ problemStatement: z.ZodString;
235
+ solution: z.ZodString;
236
+ uniqueValueProposition: z.ZodString;
237
+ competition: z.ZodArray<z.ZodString, "many">;
238
+ differentiators: z.ZodArray<z.ZodString, "many">;
239
+ riskFactors: z.ZodArray<z.ZodString, "many">;
240
+ opportunities: z.ZodArray<z.ZodString, "many">;
241
+ recommendations: z.ZodArray<z.ZodString, "many">;
242
+ }, "strip", z.ZodTypeAny, {
243
+ productMarketFitScore: number;
244
+ targetAudience: string;
245
+ problemStatement: string;
246
+ solution: string;
247
+ uniqueValueProposition: string;
248
+ competition: string[];
249
+ differentiators: string[];
250
+ riskFactors: string[];
251
+ opportunities: string[];
252
+ recommendations: string[];
253
+ }, {
254
+ productMarketFitScore: number;
255
+ targetAudience: string;
256
+ problemStatement: string;
257
+ solution: string;
258
+ uniqueValueProposition: string;
259
+ competition: string[];
260
+ differentiators: string[];
261
+ riskFactors: string[];
262
+ opportunities: string[];
263
+ recommendations: string[];
264
+ }>;
265
+ export type MarketFitAssessment = z.infer<typeof MarketFitAssessment>;
266
+ /**
267
+ * Technical debt item
268
+ */
269
+ export declare const TechnicalDebtItem: z.ZodObject<{
270
+ id: z.ZodString;
271
+ category: z.ZodEnum<["code-quality", "architecture", "dependencies", "testing", "documentation", "infrastructure", "security"]>;
272
+ severity: z.ZodEnum<["critical", "high", "medium", "low"]>;
273
+ description: z.ZodString;
274
+ impact: z.ZodString;
275
+ effort: z.ZodString;
276
+ recommendation: z.ZodString;
277
+ }, "strip", z.ZodTypeAny, {
278
+ id: string;
279
+ description: string;
280
+ effort: string;
281
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
282
+ severity: "medium" | "critical" | "high" | "low";
283
+ impact: string;
284
+ recommendation: string;
285
+ }, {
286
+ id: string;
287
+ description: string;
288
+ effort: string;
289
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
290
+ severity: "medium" | "critical" | "high" | "low";
291
+ impact: string;
292
+ recommendation: string;
293
+ }>;
294
+ export type TechnicalDebtItem = z.infer<typeof TechnicalDebtItem>;
295
+ /**
296
+ * Technical audit
297
+ */
298
+ export declare const TechnicalAudit: z.ZodObject<{
299
+ overallHealth: z.ZodNumber;
300
+ debtItems: z.ZodArray<z.ZodObject<{
301
+ id: z.ZodString;
302
+ category: z.ZodEnum<["code-quality", "architecture", "dependencies", "testing", "documentation", "infrastructure", "security"]>;
303
+ severity: z.ZodEnum<["critical", "high", "medium", "low"]>;
304
+ description: z.ZodString;
305
+ impact: z.ZodString;
306
+ effort: z.ZodString;
307
+ recommendation: z.ZodString;
308
+ }, "strip", z.ZodTypeAny, {
309
+ id: string;
310
+ description: string;
311
+ effort: string;
312
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
313
+ severity: "medium" | "critical" | "high" | "low";
314
+ impact: string;
315
+ recommendation: string;
316
+ }, {
317
+ id: string;
318
+ description: string;
319
+ effort: string;
320
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
321
+ severity: "medium" | "critical" | "high" | "low";
322
+ impact: string;
323
+ recommendation: string;
324
+ }>, "many">;
325
+ architectureScore: z.ZodNumber;
326
+ codeQualityScore: z.ZodNumber;
327
+ testCoverageScore: z.ZodNumber;
328
+ securityScore: z.ZodNumber;
329
+ recommendations: z.ZodArray<z.ZodString, "many">;
330
+ prioritizedActions: z.ZodArray<z.ZodString, "many">;
331
+ }, "strip", z.ZodTypeAny, {
332
+ recommendations: string[];
333
+ overallHealth: number;
334
+ debtItems: {
335
+ id: string;
336
+ description: string;
337
+ effort: string;
338
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
339
+ severity: "medium" | "critical" | "high" | "low";
340
+ impact: string;
341
+ recommendation: string;
342
+ }[];
343
+ architectureScore: number;
344
+ codeQualityScore: number;
345
+ testCoverageScore: number;
346
+ securityScore: number;
347
+ prioritizedActions: string[];
348
+ }, {
349
+ recommendations: string[];
350
+ overallHealth: number;
351
+ debtItems: {
352
+ id: string;
353
+ description: string;
354
+ effort: string;
355
+ category: "dependencies" | "code-quality" | "architecture" | "testing" | "documentation" | "infrastructure" | "security";
356
+ severity: "medium" | "critical" | "high" | "low";
357
+ impact: string;
358
+ recommendation: string;
359
+ }[];
360
+ architectureScore: number;
361
+ codeQualityScore: number;
362
+ testCoverageScore: number;
363
+ securityScore: number;
364
+ prioritizedActions: string[];
365
+ }>;
366
+ export type TechnicalAudit = z.infer<typeof TechnicalAudit>;
367
+ /**
368
+ * Feature priority
369
+ */
370
+ export declare const FeaturePriority: z.ZodObject<{
371
+ feature: z.ZodString;
372
+ impact: z.ZodNumber;
373
+ effort: z.ZodNumber;
374
+ confidence: z.ZodNumber;
375
+ priority: z.ZodNumber;
376
+ recommendation: z.ZodEnum<["now", "next", "later", "never"]>;
377
+ }, "strip", z.ZodTypeAny, {
378
+ effort: number;
379
+ priority: number;
380
+ impact: number;
381
+ recommendation: "never" | "now" | "next" | "later";
382
+ feature: string;
383
+ confidence: number;
384
+ }, {
385
+ effort: number;
386
+ priority: number;
387
+ impact: number;
388
+ recommendation: "never" | "now" | "next" | "later";
389
+ feature: string;
390
+ confidence: number;
391
+ }>;
392
+ export type FeaturePriority = z.infer<typeof FeaturePriority>;
393
+ /**
394
+ * Product backlog
395
+ */
396
+ export declare const ProductBacklog: z.ZodObject<{
397
+ features: z.ZodArray<z.ZodObject<{
398
+ feature: z.ZodString;
399
+ impact: z.ZodNumber;
400
+ effort: z.ZodNumber;
401
+ confidence: z.ZodNumber;
402
+ priority: z.ZodNumber;
403
+ recommendation: z.ZodEnum<["now", "next", "later", "never"]>;
404
+ }, "strip", z.ZodTypeAny, {
405
+ effort: number;
406
+ priority: number;
407
+ impact: number;
408
+ recommendation: "never" | "now" | "next" | "later";
409
+ feature: string;
410
+ confidence: number;
411
+ }, {
412
+ effort: number;
413
+ priority: number;
414
+ impact: number;
415
+ recommendation: "never" | "now" | "next" | "later";
416
+ feature: string;
417
+ confidence: number;
418
+ }>, "many">;
419
+ nowItems: z.ZodArray<z.ZodString, "many">;
420
+ nextItems: z.ZodArray<z.ZodString, "many">;
421
+ laterItems: z.ZodArray<z.ZodString, "many">;
422
+ totalItems: z.ZodNumber;
423
+ }, "strip", z.ZodTypeAny, {
424
+ features: {
425
+ effort: number;
426
+ priority: number;
427
+ impact: number;
428
+ recommendation: "never" | "now" | "next" | "later";
429
+ feature: string;
430
+ confidence: number;
431
+ }[];
432
+ nowItems: string[];
433
+ nextItems: string[];
434
+ laterItems: string[];
435
+ totalItems: number;
436
+ }, {
437
+ features: {
438
+ effort: number;
439
+ priority: number;
440
+ impact: number;
441
+ recommendation: "never" | "now" | "next" | "later";
442
+ feature: string;
443
+ confidence: number;
444
+ }[];
445
+ nowItems: string[];
446
+ nextItems: string[];
447
+ laterItems: string[];
448
+ totalItems: number;
449
+ }>;
450
+ export type ProductBacklog = z.infer<typeof ProductBacklog>;
451
+ /**
452
+ * Risk item
453
+ */
454
+ export declare const Risk: z.ZodObject<{
455
+ id: z.ZodString;
456
+ category: z.ZodEnum<["technical", "market", "resource", "timeline", "dependency", "regulatory"]>;
457
+ description: z.ZodString;
458
+ likelihood: z.ZodEnum<["low", "medium", "high"]>;
459
+ impact: z.ZodEnum<["low", "medium", "high", "critical"]>;
460
+ mitigation: z.ZodString;
461
+ owner: z.ZodOptional<z.ZodString>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ id: string;
464
+ description: string;
465
+ category: "timeline" | "technical" | "market" | "resource" | "dependency" | "regulatory";
466
+ impact: "medium" | "critical" | "high" | "low";
467
+ likelihood: "medium" | "high" | "low";
468
+ mitigation: string;
469
+ owner?: string | undefined;
470
+ }, {
471
+ id: string;
472
+ description: string;
473
+ category: "timeline" | "technical" | "market" | "resource" | "dependency" | "regulatory";
474
+ impact: "medium" | "critical" | "high" | "low";
475
+ likelihood: "medium" | "high" | "low";
476
+ mitigation: string;
477
+ owner?: string | undefined;
478
+ }>;
479
+ export type Risk = z.infer<typeof Risk>;
480
+ /**
481
+ * Carlos configuration
482
+ */
483
+ export declare const CarlosConfig: z.ZodObject<{
484
+ projectRoot: z.ZodString;
485
+ outputDir: z.ZodDefault<z.ZodString>;
486
+ docsDir: z.ZodDefault<z.ZodString>;
487
+ includeMarketFit: z.ZodDefault<z.ZodBoolean>;
488
+ includeTechnicalAudit: z.ZodDefault<z.ZodBoolean>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ projectRoot: string;
491
+ outputDir: string;
492
+ docsDir: string;
493
+ includeMarketFit: boolean;
494
+ includeTechnicalAudit: boolean;
495
+ }, {
496
+ projectRoot: string;
497
+ outputDir?: string | undefined;
498
+ docsDir?: string | undefined;
499
+ includeMarketFit?: boolean | undefined;
500
+ includeTechnicalAudit?: boolean | undefined;
501
+ }>;
502
+ export type CarlosConfig = z.infer<typeof CarlosConfig>;
503
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,YAAY,6GAUvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUf,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;EAQhB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;EAef,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Core types for Carlos - Product roadmap and market fit agent
3
+ */
4
+ import { z } from "zod";
5
+ /**
6
+ * Product maturity stage
7
+ */
8
+ export const ProductStage = z.enum([
9
+ "idea",
10
+ "prototype",
11
+ "mvp",
12
+ "alpha",
13
+ "beta",
14
+ "early-release",
15
+ "growth",
16
+ "mature",
17
+ "enterprise",
18
+ ]);
19
+ /**
20
+ * Epic - Large feature or capability
21
+ */
22
+ export const Epic = z.object({
23
+ id: z.string(),
24
+ title: z.string(),
25
+ description: z.string(),
26
+ businessValue: z.string(),
27
+ userStories: z.array(z.string()),
28
+ acceptanceCriteria: z.array(z.string()),
29
+ dependencies: z.array(z.string()),
30
+ effort: z.enum(["small", "medium", "large", "extra-large"]),
31
+ priority: z.enum(["critical", "high", "medium", "low"]),
32
+ });
33
+ /**
34
+ * User story
35
+ */
36
+ export const UserStory = z.object({
37
+ id: z.string(),
38
+ epic: z.string(),
39
+ title: z.string(),
40
+ asA: z.string(),
41
+ iWant: z.string(),
42
+ soThat: z.string(),
43
+ acceptanceCriteria: z.array(z.string()),
44
+ estimate: z.string(),
45
+ });
46
+ /**
47
+ * Roadmap phase
48
+ */
49
+ export const Phase = z.object({
50
+ id: z.string(),
51
+ name: z.string(),
52
+ duration: z.string(),
53
+ objectives: z.array(z.string()),
54
+ epics: z.array(z.string()), // Epic IDs
55
+ milestones: z.array(z.string()),
56
+ successMetrics: z.array(z.string()),
57
+ });
58
+ /**
59
+ * Product roadmap
60
+ */
61
+ export const Roadmap = z.object({
62
+ vision: z.string(),
63
+ currentStage: ProductStage,
64
+ targetStage: ProductStage,
65
+ northStarMetric: z.string(),
66
+ phases: z.array(Phase),
67
+ epics: z.array(Epic),
68
+ timeline: z.string(),
69
+ lastUpdated: z.string(),
70
+ });
71
+ /**
72
+ * Market fit assessment
73
+ */
74
+ export const MarketFitAssessment = z.object({
75
+ productMarketFitScore: z.number().min(0).max(100),
76
+ targetAudience: z.string(),
77
+ problemStatement: z.string(),
78
+ solution: z.string(),
79
+ uniqueValueProposition: z.string(),
80
+ competition: z.array(z.string()),
81
+ differentiators: z.array(z.string()),
82
+ riskFactors: z.array(z.string()),
83
+ opportunities: z.array(z.string()),
84
+ recommendations: z.array(z.string()),
85
+ });
86
+ /**
87
+ * Technical debt item
88
+ */
89
+ export const TechnicalDebtItem = z.object({
90
+ id: z.string(),
91
+ category: z.enum([
92
+ "code-quality",
93
+ "architecture",
94
+ "dependencies",
95
+ "testing",
96
+ "documentation",
97
+ "infrastructure",
98
+ "security",
99
+ ]),
100
+ severity: z.enum(["critical", "high", "medium", "low"]),
101
+ description: z.string(),
102
+ impact: z.string(),
103
+ effort: z.string(),
104
+ recommendation: z.string(),
105
+ });
106
+ /**
107
+ * Technical audit
108
+ */
109
+ export const TechnicalAudit = z.object({
110
+ overallHealth: z.number().min(0).max(100),
111
+ debtItems: z.array(TechnicalDebtItem),
112
+ architectureScore: z.number().min(0).max(100),
113
+ codeQualityScore: z.number().min(0).max(100),
114
+ testCoverageScore: z.number().min(0).max(100),
115
+ securityScore: z.number().min(0).max(100),
116
+ recommendations: z.array(z.string()),
117
+ prioritizedActions: z.array(z.string()),
118
+ });
119
+ /**
120
+ * Feature priority
121
+ */
122
+ export const FeaturePriority = z.object({
123
+ feature: z.string(),
124
+ impact: z.number().min(1).max(10),
125
+ effort: z.number().min(1).max(10),
126
+ confidence: z.number().min(1).max(10),
127
+ priority: z.number(), // Calculated: impact * confidence / effort
128
+ recommendation: z.enum(["now", "next", "later", "never"]),
129
+ });
130
+ /**
131
+ * Product backlog
132
+ */
133
+ export const ProductBacklog = z.object({
134
+ features: z.array(FeaturePriority),
135
+ nowItems: z.array(z.string()),
136
+ nextItems: z.array(z.string()),
137
+ laterItems: z.array(z.string()),
138
+ totalItems: z.number(),
139
+ });
140
+ /**
141
+ * Risk item
142
+ */
143
+ export const Risk = z.object({
144
+ id: z.string(),
145
+ category: z.enum([
146
+ "technical",
147
+ "market",
148
+ "resource",
149
+ "timeline",
150
+ "dependency",
151
+ "regulatory",
152
+ ]),
153
+ description: z.string(),
154
+ likelihood: z.enum(["low", "medium", "high"]),
155
+ impact: z.enum(["low", "medium", "high", "critical"]),
156
+ mitigation: z.string(),
157
+ owner: z.string().optional(),
158
+ });
159
+ /**
160
+ * Carlos configuration
161
+ */
162
+ export const CarlosConfig = z.object({
163
+ projectRoot: z.string(),
164
+ outputDir: z.string().default("scopecraft"),
165
+ docsDir: z.string().default("docs"),
166
+ includeMarketFit: z.boolean().default(true),
167
+ includeTechnicalAudit: z.boolean().default(true),
168
+ });
169
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}