@org.ai/examples 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/LICENSE +21 -0
  3. package/README.md +147 -0
  4. package/api-business/index.ts +1179 -0
  5. package/directory/index.ts +1118 -0
  6. package/dist/api-business/index.d.ts +221 -0
  7. package/dist/api-business/index.d.ts.map +1 -0
  8. package/dist/api-business/index.js +1132 -0
  9. package/dist/api-business/index.js.map +1 -0
  10. package/dist/directory/index.d.ts +202 -0
  11. package/dist/directory/index.d.ts.map +1 -0
  12. package/dist/directory/index.js +1073 -0
  13. package/dist/directory/index.js.map +1 -0
  14. package/dist/index.d.ts +75 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +127 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/marketplace/index.d.ts +242 -0
  19. package/dist/marketplace/index.d.ts.map +1 -0
  20. package/dist/marketplace/index.js +1249 -0
  21. package/dist/marketplace/index.js.map +1 -0
  22. package/dist/saas/index.d.ts +151 -0
  23. package/dist/saas/index.d.ts.map +1 -0
  24. package/dist/saas/index.js +1142 -0
  25. package/dist/saas/index.js.map +1 -0
  26. package/dist/startup-studio/index.d.ts +285 -0
  27. package/dist/startup-studio/index.d.ts.map +1 -0
  28. package/dist/startup-studio/index.js +1252 -0
  29. package/dist/startup-studio/index.js.map +1 -0
  30. package/dist/vc-firm/index.d.ts +248 -0
  31. package/dist/vc-firm/index.d.ts.map +1 -0
  32. package/dist/vc-firm/index.js +1335 -0
  33. package/dist/vc-firm/index.js.map +1 -0
  34. package/index.ts +151 -0
  35. package/marketplace/index.ts +1295 -0
  36. package/package.json +58 -0
  37. package/saas/index.ts +1188 -0
  38. package/startup-studio/index.ts +1324 -0
  39. package/tsconfig.json +12 -0
  40. package/vc-firm/index.ts +1430 -0
@@ -0,0 +1,1252 @@
1
+ /**
2
+ * Startup Studio Business Example
3
+ *
4
+ * A complete example of a startup studio modeled using primitives.org.ai
5
+ * Think: Atomic, Idealab, Pioneer, Human Ventures, Diagram
6
+ *
7
+ * @example VentureForge - A startup studio building B2B SaaS companies
8
+ * @packageDocumentation
9
+ */
10
+ /**
11
+ * NOTE: These examples demonstrate the DESIRED API shape for business-as-code.
12
+ * Some types may not exist yet in the actual package. The examples serve as
13
+ * documentation and specification for the ideal primitives API.
14
+ */
15
+ // Use any for flexibility - these examples define the ideal API shape
16
+ const Business = (def) => def;
17
+ const Product = (def) => def;
18
+ const Service = (def) => def;
19
+ const Goals = (defs) => defs;
20
+ const Vision = (def) => def;
21
+ const kpis = (defs) => defs;
22
+ const okrs = (defs) => defs;
23
+ const financials = (def) => def;
24
+ const Process = (def) => def;
25
+ const Workflow = (def) => def;
26
+ const createBusinessRole = (def) => def;
27
+ // $ helper placeholder
28
+ const $ = {
29
+ format: (n) => `$${n.toLocaleString()}`,
30
+ growth: (current, previous) => ((current - previous) / previous * 100).toFixed(1),
31
+ margin: (revenue, cost) => ((revenue - cost) / revenue * 100).toFixed(1),
32
+ };
33
+ // =============================================================================
34
+ // 1. BUSINESS DEFINITION
35
+ // =============================================================================
36
+ /**
37
+ * VentureForge - B2B SaaS Startup Studio
38
+ */
39
+ export const VentureForgeBusiness = Business({
40
+ name: 'VentureForge Studios',
41
+ mission: 'Build and launch the next generation of B2B SaaS companies',
42
+ values: ['Builder Mindset', 'Customer Obsession', 'Speed & Learning', 'Shared Success'],
43
+ industry: 'Venture Building / Startup Studio',
44
+ founded: new Date('2018-05-01'),
45
+ stage: 'established',
46
+ structure: {
47
+ departments: [
48
+ {
49
+ name: 'Venture Team',
50
+ headcount: 12,
51
+ budget: 2000000,
52
+ teams: [
53
+ { name: 'Ideation', headcount: 3, focus: 'Idea generation & validation' },
54
+ { name: 'Building', headcount: 6, focus: 'Product development' },
55
+ { name: 'Growth', headcount: 3, focus: 'GTM & scaling' },
56
+ ],
57
+ },
58
+ {
59
+ name: 'Platform',
60
+ headcount: 8,
61
+ budget: 1200000,
62
+ teams: [
63
+ { name: 'Engineering', headcount: 4, focus: 'Shared infrastructure' },
64
+ { name: 'Design', headcount: 2, focus: 'Brand & product design' },
65
+ { name: 'Data', headcount: 2, focus: 'Analytics & insights' },
66
+ ],
67
+ },
68
+ {
69
+ name: 'Talent & Ops',
70
+ headcount: 5,
71
+ budget: 800000,
72
+ teams: [
73
+ { name: 'Talent', headcount: 2, focus: 'Recruiting founders & team' },
74
+ { name: 'Operations', headcount: 2, focus: 'Finance, legal, admin' },
75
+ { name: 'People', headcount: 1, focus: 'HR & culture' },
76
+ ],
77
+ },
78
+ {
79
+ name: 'Investment',
80
+ headcount: 3,
81
+ budget: 400000,
82
+ teams: [
83
+ { name: 'Fundraising', headcount: 2, focus: 'LP relations, capital' },
84
+ { name: 'Portfolio', headcount: 1, focus: 'Portfolio support' },
85
+ ],
86
+ },
87
+ ],
88
+ },
89
+ });
90
+ // =============================================================================
91
+ // 2. VISION & GOALS
92
+ // =============================================================================
93
+ export const VentureForgeVision = Vision({
94
+ statement: 'Build 100 enduring B2B companies that transform industries',
95
+ timeHorizon: '2030',
96
+ pillars: [
97
+ 'Idea Quality',
98
+ 'Builder Excellence',
99
+ 'Speed to Market',
100
+ 'Portfolio Returns',
101
+ ],
102
+ successIndicators: [
103
+ { name: 'Companies Built', target: 100 },
104
+ { name: 'Portfolio Value', target: 5000000000, unit: 'USD' },
105
+ { name: 'Successful Exits', target: 20 },
106
+ { name: 'Combined ARR', target: 500000000, unit: 'USD' },
107
+ ],
108
+ });
109
+ export const VentureForgeGoals = Goals([
110
+ {
111
+ name: 'Launch 5 New Ventures',
112
+ category: 'operational',
113
+ status: 'in-progress',
114
+ progress: 40,
115
+ dueDate: new Date('2024-12-31'),
116
+ owner: 'Managing Partner',
117
+ },
118
+ {
119
+ name: 'Raise Fund III ($100M)',
120
+ category: 'financial',
121
+ status: 'in-progress',
122
+ progress: 60,
123
+ dueDate: new Date('2024-06-30'),
124
+ owner: 'Head of Fundraising',
125
+ },
126
+ {
127
+ name: 'Achieve $50M Portfolio ARR',
128
+ category: 'financial',
129
+ status: 'in-progress',
130
+ progress: 70,
131
+ dueDate: new Date('2024-12-31'),
132
+ owner: 'Managing Partner',
133
+ },
134
+ {
135
+ name: '2 Portfolio Exits',
136
+ category: 'strategic',
137
+ status: 'in-progress',
138
+ progress: 50,
139
+ dueDate: new Date('2024-12-31'),
140
+ owner: 'Portfolio Lead',
141
+ },
142
+ {
143
+ name: 'Build AI-Native Venture Platform',
144
+ category: 'product',
145
+ status: 'in-progress',
146
+ progress: 30,
147
+ dueDate: new Date('2024-09-30'),
148
+ owner: 'Platform Lead',
149
+ },
150
+ ]);
151
+ // =============================================================================
152
+ // 3. STUDIO SERVICES & PRODUCTS
153
+ // =============================================================================
154
+ /**
155
+ * Studio Services - What VentureForge provides to portfolio companies
156
+ */
157
+ export const StudioServices = {
158
+ ideation: Service({
159
+ name: 'Ideation & Validation',
160
+ description: 'Market research, opportunity identification, and validation',
161
+ pricingModel: 'equity',
162
+ deliverables: [
163
+ 'Market research & sizing',
164
+ 'Competitive analysis',
165
+ 'Customer discovery (50+ interviews)',
166
+ 'Problem-solution fit validation',
167
+ 'Business model design',
168
+ ],
169
+ }),
170
+ building: Service({
171
+ name: 'Product Building',
172
+ description: 'Full product development from 0 to MVP',
173
+ pricingModel: 'equity',
174
+ deliverables: [
175
+ 'Product strategy & roadmap',
176
+ 'UX/UI design',
177
+ 'Technical architecture',
178
+ 'MVP development',
179
+ 'Quality assurance',
180
+ ],
181
+ }),
182
+ growth: Service({
183
+ name: 'Go-to-Market',
184
+ description: 'Launch and scale the business',
185
+ pricingModel: 'equity',
186
+ deliverables: [
187
+ 'Brand & positioning',
188
+ 'Marketing strategy',
189
+ 'Sales playbook',
190
+ 'First customers',
191
+ 'Growth experiments',
192
+ ],
193
+ }),
194
+ operations: Service({
195
+ name: 'Operational Support',
196
+ description: 'Back-office and operational support',
197
+ pricingModel: 'equity',
198
+ deliverables: [
199
+ 'Legal & incorporation',
200
+ 'Finance & accounting',
201
+ 'HR & recruiting',
202
+ 'Compliance',
203
+ 'Office & infrastructure',
204
+ ],
205
+ }),
206
+ capital: Service({
207
+ name: 'Capital & Fundraising',
208
+ description: 'Funding and investor relations',
209
+ pricingModel: 'equity',
210
+ deliverables: [
211
+ 'Initial capital ($500K-$2M)',
212
+ 'Fundraising support',
213
+ 'Investor introductions',
214
+ 'Board setup',
215
+ 'Follow-on capital',
216
+ ],
217
+ }),
218
+ };
219
+ /**
220
+ * Studio Products - Shared infrastructure for portfolio
221
+ */
222
+ export const StudioProducts = {
223
+ launchpad: Product({
224
+ name: 'VentureForge Launchpad',
225
+ description: 'Shared technical infrastructure for ventures',
226
+ pricingModel: 'free', // Included with studio
227
+ features: [
228
+ 'Authentication & user management',
229
+ 'Payment processing',
230
+ 'Email & notifications',
231
+ 'Analytics & monitoring',
232
+ 'CI/CD pipelines',
233
+ 'Cloud infrastructure',
234
+ ],
235
+ }),
236
+ analytics: Product({
237
+ name: 'Portfolio Analytics',
238
+ description: 'Cross-portfolio insights and benchmarks',
239
+ pricingModel: 'free',
240
+ features: [
241
+ 'Revenue tracking',
242
+ 'Growth metrics',
243
+ 'Benchmark comparisons',
244
+ 'Cohort analysis',
245
+ 'Forecasting',
246
+ ],
247
+ }),
248
+ };
249
+ /**
250
+ * Investment Terms
251
+ */
252
+ export const InvestmentTerms = {
253
+ standard: {
254
+ studioEquity: 30, // % equity for studio services
255
+ initialCapital: 1000000, // $1M initial investment
256
+ proRataRights: true,
257
+ boardSeat: true,
258
+ investmentPeriod: '18 months',
259
+ },
260
+ eir: {
261
+ studioEquity: 25,
262
+ founderEquity: 25, // Founder gets more
263
+ initialCapital: 500000,
264
+ proRataRights: true,
265
+ boardSeat: true,
266
+ },
267
+ spinout: {
268
+ studioEquity: 40,
269
+ initialCapital: 2000000,
270
+ proRataRights: true,
271
+ boardSeat: true,
272
+ founderSearch: true,
273
+ },
274
+ };
275
+ // =============================================================================
276
+ // 4. ORGANIZATION & ROLES
277
+ // =============================================================================
278
+ export const VentureForgeOrg = {
279
+ id: 'ventureforge',
280
+ name: 'VentureForge Studios',
281
+ settings: {
282
+ timezone: 'America/San_Francisco',
283
+ currency: 'USD',
284
+ fiscalYearStart: 1,
285
+ },
286
+ departments: [
287
+ {
288
+ id: 'venture',
289
+ name: 'Venture Team',
290
+ permissions: {
291
+ ventures: ['read', 'write', 'create', 'manage'],
292
+ ideas: ['read', 'write', 'validate', 'approve'],
293
+ portfolio: ['read', 'write'],
294
+ },
295
+ teams: [
296
+ {
297
+ id: 'ideation',
298
+ name: 'Ideation',
299
+ positions: [
300
+ { id: 'ideation-lead', title: 'Head of Ideation', roleId: 'venture-partner', reportsTo: 'mp' },
301
+ { id: 'researcher-1', title: 'Market Researcher', roleId: 'venture-analyst', reportsTo: 'ideation-lead' },
302
+ ],
303
+ },
304
+ {
305
+ id: 'building',
306
+ name: 'Building',
307
+ positions: [
308
+ { id: 'build-lead', title: 'Head of Building', roleId: 'venture-partner', reportsTo: 'mp' },
309
+ { id: 'tech-lead', title: 'Technical Lead', roleId: 'tech-lead', reportsTo: 'build-lead' },
310
+ { id: 'design-lead', title: 'Design Lead', roleId: 'design-lead', reportsTo: 'build-lead' },
311
+ ],
312
+ },
313
+ ],
314
+ },
315
+ {
316
+ id: 'platform',
317
+ name: 'Platform',
318
+ permissions: {
319
+ infrastructure: ['read', 'write', 'deploy'],
320
+ tools: ['read', 'write', 'manage'],
321
+ data: ['read', 'write'],
322
+ },
323
+ },
324
+ {
325
+ id: 'investment',
326
+ name: 'Investment',
327
+ permissions: {
328
+ fund: ['read', 'write', 'manage'],
329
+ lps: ['read', 'write'],
330
+ portfolio: ['read', 'write', 'report'],
331
+ },
332
+ },
333
+ ],
334
+ roles: [
335
+ createBusinessRole({
336
+ id: 'managing-partner',
337
+ name: 'Managing Partner',
338
+ type: 'executive',
339
+ level: 10,
340
+ permissions: {
341
+ ventures: ['read', 'write', 'create', 'approve', 'kill'],
342
+ fund: ['read', 'write', 'manage'],
343
+ portfolio: ['read', 'write', 'manage'],
344
+ },
345
+ canHandle: ['venture-approval', 'investment-decision', 'exit-negotiation'],
346
+ canApprove: ['new-venture', 'investment', 'exit', 'hiring'],
347
+ }),
348
+ createBusinessRole({
349
+ id: 'venture-partner',
350
+ name: 'Venture Partner',
351
+ type: 'executive',
352
+ level: 8,
353
+ permissions: {
354
+ ventures: ['read', 'write', 'create'],
355
+ portfolio: ['read', 'write'],
356
+ ideas: ['read', 'write', 'validate'],
357
+ },
358
+ canHandle: ['venture-building', 'founder-coaching', 'idea-validation'],
359
+ canApprove: ['milestone', 'hiring'],
360
+ }),
361
+ createBusinessRole({
362
+ id: 'venture-analyst',
363
+ name: 'Venture Analyst',
364
+ type: 'analyst',
365
+ level: 4,
366
+ permissions: {
367
+ ventures: ['read'],
368
+ ideas: ['read', 'write', 'research'],
369
+ portfolio: ['read'],
370
+ },
371
+ canHandle: ['market-research', 'competitive-analysis', 'customer-discovery'],
372
+ }),
373
+ createBusinessRole({
374
+ id: 'tech-lead',
375
+ name: 'Technical Lead',
376
+ type: 'engineer',
377
+ level: 6,
378
+ permissions: {
379
+ ventures: ['read'],
380
+ code: ['read', 'write', 'deploy'],
381
+ infrastructure: ['read', 'write'],
382
+ },
383
+ canHandle: ['architecture', 'mvp-building', 'tech-assessment'],
384
+ canApprove: ['technical-decision', 'deployment'],
385
+ }),
386
+ createBusinessRole({
387
+ id: 'design-lead',
388
+ name: 'Design Lead',
389
+ type: 'support',
390
+ level: 5,
391
+ permissions: {
392
+ ventures: ['read'],
393
+ design: ['read', 'write', 'publish'],
394
+ },
395
+ canHandle: ['brand-design', 'product-design', 'ux-research'],
396
+ }),
397
+ createBusinessRole({
398
+ id: 'eir',
399
+ name: 'Entrepreneur in Residence',
400
+ type: 'executive',
401
+ level: 7,
402
+ permissions: {
403
+ ventures: ['read', 'write'],
404
+ ideas: ['read', 'write', 'validate'],
405
+ },
406
+ canHandle: ['idea-exploration', 'venture-building', 'founder-role'],
407
+ }),
408
+ createBusinessRole({
409
+ id: 'portfolio-ceo',
410
+ name: 'Portfolio Company CEO',
411
+ type: 'executive',
412
+ level: 9,
413
+ permissions: {
414
+ ventures: ['read', 'write'], // Their venture only
415
+ },
416
+ canHandle: ['company-leadership', 'fundraising', 'team-building'],
417
+ }),
418
+ ],
419
+ approvalChains: [
420
+ {
421
+ id: 'new-venture',
422
+ name: 'New Venture Approval',
423
+ requestType: 'new-venture',
424
+ levels: [
425
+ { threshold: 1, approvers: [{ type: 'role', roleId: 'venture-partner' }] }, // Initial
426
+ { threshold: 2, approvers: [{ type: 'role', roleId: 'managing-partner' }] }, // Final
427
+ ],
428
+ },
429
+ {
430
+ id: 'investment',
431
+ name: 'Investment Approval',
432
+ requestType: 'investment',
433
+ levels: [
434
+ { threshold: 100000, approvers: [{ type: 'role', roleId: 'venture-partner' }] },
435
+ { threshold: 500000, approvers: [{ type: 'role', roleId: 'managing-partner' }] },
436
+ { threshold: Infinity, approvers: [{ type: 'all-partners' }] },
437
+ ],
438
+ },
439
+ ],
440
+ routingRules: [
441
+ {
442
+ id: 'idea-research',
443
+ taskType: 'market-research',
444
+ priority: 1,
445
+ assignTo: { roleId: 'venture-analyst' },
446
+ },
447
+ {
448
+ id: 'mvp-building',
449
+ taskType: 'mvp-development',
450
+ priority: 1,
451
+ assignTo: { roleId: 'tech-lead' },
452
+ },
453
+ {
454
+ id: 'venture-coaching',
455
+ taskType: 'founder-coaching',
456
+ priority: 1,
457
+ assignTo: { roleId: 'venture-partner' },
458
+ },
459
+ ],
460
+ };
461
+ export const Portfolio = [
462
+ {
463
+ id: 'dataflow',
464
+ name: 'DataFlow',
465
+ thesis: 'Modern data pipeline for SMBs',
466
+ stage: 'scale',
467
+ founded: new Date('2020-03-15'),
468
+ founders: ['Alex Chen', 'Maria Santos'],
469
+ sector: 'Data Infrastructure',
470
+ metrics: {
471
+ arr: 8500000,
472
+ mrr: 708333,
473
+ customers: 450,
474
+ employees: 45,
475
+ funding: 25000000,
476
+ valuation: 85000000,
477
+ },
478
+ studioEquity: 28,
479
+ status: 'active',
480
+ },
481
+ {
482
+ id: 'complianceai',
483
+ name: 'ComplianceAI',
484
+ thesis: 'AI-powered compliance automation',
485
+ stage: 'growth',
486
+ founded: new Date('2021-06-01'),
487
+ founders: ['James Wilson'],
488
+ sector: 'RegTech',
489
+ metrics: {
490
+ arr: 3200000,
491
+ mrr: 266667,
492
+ customers: 120,
493
+ employees: 22,
494
+ funding: 12000000,
495
+ valuation: 40000000,
496
+ },
497
+ studioEquity: 30,
498
+ status: 'active',
499
+ },
500
+ {
501
+ id: 'talentops',
502
+ name: 'TalentOps',
503
+ thesis: 'HR operations platform for remote teams',
504
+ stage: 'growth',
505
+ founded: new Date('2021-09-15'),
506
+ founders: ['Sarah Kim', 'David Park'],
507
+ sector: 'HR Tech',
508
+ metrics: {
509
+ arr: 2100000,
510
+ mrr: 175000,
511
+ customers: 200,
512
+ employees: 18,
513
+ funding: 8000000,
514
+ valuation: 25000000,
515
+ },
516
+ studioEquity: 32,
517
+ status: 'active',
518
+ },
519
+ {
520
+ id: 'securestack',
521
+ name: 'SecureStack',
522
+ thesis: 'Developer security platform',
523
+ stage: 'building',
524
+ founded: new Date('2023-01-10'),
525
+ founders: ['Mike Johnson'],
526
+ sector: 'Security',
527
+ metrics: {
528
+ arr: 450000,
529
+ mrr: 37500,
530
+ customers: 35,
531
+ employees: 8,
532
+ funding: 2000000,
533
+ valuation: 8000000,
534
+ },
535
+ studioEquity: 30,
536
+ status: 'active',
537
+ },
538
+ {
539
+ id: 'aiwriter',
540
+ name: 'AIWriter',
541
+ thesis: 'AI content generation for marketing',
542
+ stage: 'validation',
543
+ founded: new Date('2023-09-01'),
544
+ founders: ['EIR: John Smith'],
545
+ sector: 'MarTech',
546
+ metrics: {
547
+ mrr: 15000,
548
+ customers: 50,
549
+ employees: 3,
550
+ funding: 500000,
551
+ },
552
+ studioEquity: 25,
553
+ status: 'active',
554
+ },
555
+ {
556
+ id: 'cloudcost',
557
+ name: 'CloudCost',
558
+ thesis: 'Cloud cost optimization',
559
+ stage: 'exit',
560
+ founded: new Date('2019-08-01'),
561
+ founders: ['Tom Brown', 'Lisa White'],
562
+ sector: 'FinOps',
563
+ metrics: {
564
+ arr: 12000000,
565
+ customers: 300,
566
+ employees: 65,
567
+ funding: 35000000,
568
+ valuation: 150000000,
569
+ },
570
+ studioEquity: 25,
571
+ status: 'exited', // Acquired
572
+ },
573
+ ];
574
+ // =============================================================================
575
+ // 6. KPIs & METRICS
576
+ // =============================================================================
577
+ export const VentureForgeKPIs = kpis([
578
+ // Portfolio Metrics
579
+ {
580
+ name: 'Portfolio ARR',
581
+ category: 'financial',
582
+ target: 50000000,
583
+ current: 35750000,
584
+ unit: 'USD',
585
+ frequency: 'monthly',
586
+ owner: 'Managing Partner',
587
+ },
588
+ {
589
+ name: 'Portfolio Valuation',
590
+ category: 'financial',
591
+ target: 500000000,
592
+ current: 308000000,
593
+ unit: 'USD',
594
+ frequency: 'quarterly',
595
+ owner: 'Managing Partner',
596
+ },
597
+ {
598
+ name: 'Active Ventures',
599
+ category: 'operational',
600
+ target: 10,
601
+ current: 5,
602
+ frequency: 'monthly',
603
+ owner: 'Head of Building',
604
+ },
605
+ {
606
+ name: 'New Ventures / Year',
607
+ category: 'operational',
608
+ target: 5,
609
+ current: 2,
610
+ frequency: 'yearly',
611
+ owner: 'Head of Ideation',
612
+ },
613
+ // Venture Building Metrics
614
+ {
615
+ name: 'Idea to Launch Time',
616
+ category: 'operational',
617
+ target: 6,
618
+ current: 8,
619
+ unit: 'months',
620
+ frequency: 'quarterly',
621
+ owner: 'Head of Building',
622
+ },
623
+ {
624
+ name: 'Launch to $1M ARR Time',
625
+ category: 'operational',
626
+ target: 18,
627
+ current: 24,
628
+ unit: 'months',
629
+ frequency: 'quarterly',
630
+ owner: 'Managing Partner',
631
+ },
632
+ {
633
+ name: 'Venture Success Rate',
634
+ category: 'operational',
635
+ target: 60,
636
+ current: 55,
637
+ unit: '%',
638
+ frequency: 'yearly',
639
+ owner: 'Managing Partner',
640
+ },
641
+ // Fund Metrics
642
+ {
643
+ name: 'Fund Deployed',
644
+ category: 'financial',
645
+ target: 80000000,
646
+ current: 52000000,
647
+ unit: 'USD',
648
+ frequency: 'quarterly',
649
+ owner: 'Head of Fundraising',
650
+ },
651
+ {
652
+ name: 'TVPI (Total Value to Paid-In)',
653
+ category: 'financial',
654
+ target: 3.0,
655
+ current: 2.4,
656
+ frequency: 'quarterly',
657
+ owner: 'Managing Partner',
658
+ },
659
+ {
660
+ name: 'IRR',
661
+ category: 'financial',
662
+ target: 25,
663
+ current: 22,
664
+ unit: '%',
665
+ frequency: 'yearly',
666
+ owner: 'Managing Partner',
667
+ },
668
+ // Team Metrics
669
+ {
670
+ name: 'EIR Pipeline',
671
+ category: 'talent',
672
+ target: 10,
673
+ current: 6,
674
+ frequency: 'quarterly',
675
+ owner: 'Head of Talent',
676
+ },
677
+ {
678
+ name: 'Founder NPS',
679
+ category: 'customer',
680
+ target: 80,
681
+ current: 72,
682
+ frequency: 'quarterly',
683
+ owner: 'Managing Partner',
684
+ },
685
+ ]);
686
+ // =============================================================================
687
+ // 7. OKRs
688
+ // =============================================================================
689
+ export const VentureForgeOKRs = okrs([
690
+ {
691
+ objective: 'Build Portfolio to $50M ARR',
692
+ owner: 'Managing Partner',
693
+ period: 'Q1 2024',
694
+ keyResults: [
695
+ {
696
+ description: 'Grow DataFlow to $12M ARR',
697
+ metric: 'DataFlow ARR',
698
+ targetValue: 12000000,
699
+ currentValue: 8500000,
700
+ unit: 'USD',
701
+ },
702
+ {
703
+ description: 'Grow ComplianceAI to $5M ARR',
704
+ metric: 'ComplianceAI ARR',
705
+ targetValue: 5000000,
706
+ currentValue: 3200000,
707
+ unit: 'USD',
708
+ },
709
+ {
710
+ description: 'Launch 2 new ventures',
711
+ metric: 'Ventures Launched',
712
+ targetValue: 2,
713
+ currentValue: 1,
714
+ },
715
+ ],
716
+ },
717
+ {
718
+ objective: 'Accelerate Venture Building',
719
+ owner: 'Head of Building',
720
+ period: 'Q1 2024',
721
+ keyResults: [
722
+ {
723
+ description: 'Reduce idea-to-launch to 6 months',
724
+ metric: 'Idea to Launch',
725
+ targetValue: 6,
726
+ currentValue: 8,
727
+ unit: 'months',
728
+ },
729
+ {
730
+ description: 'Ship 3 MVPs this quarter',
731
+ metric: 'MVPs Shipped',
732
+ targetValue: 3,
733
+ currentValue: 1,
734
+ },
735
+ {
736
+ description: 'Achieve 60% venture success rate',
737
+ metric: 'Success Rate',
738
+ targetValue: 60,
739
+ currentValue: 55,
740
+ unit: '%',
741
+ },
742
+ ],
743
+ },
744
+ {
745
+ objective: 'Build World-Class Venture Platform',
746
+ owner: 'Platform Lead',
747
+ period: 'Q1 2024',
748
+ keyResults: [
749
+ {
750
+ description: 'Launch AI ideation assistant',
751
+ metric: 'AI Features',
752
+ targetValue: 1,
753
+ currentValue: 0,
754
+ },
755
+ {
756
+ description: '100% portfolio on shared infrastructure',
757
+ metric: 'Platform Adoption',
758
+ targetValue: 100,
759
+ currentValue: 80,
760
+ unit: '%',
761
+ },
762
+ {
763
+ description: 'Reduce MVP build time by 30%',
764
+ metric: 'Build Time Reduction',
765
+ targetValue: 30,
766
+ currentValue: 15,
767
+ unit: '%',
768
+ },
769
+ ],
770
+ },
771
+ {
772
+ objective: 'Close Fund III',
773
+ owner: 'Head of Fundraising',
774
+ period: 'Q1 2024',
775
+ keyResults: [
776
+ {
777
+ description: 'Raise $100M for Fund III',
778
+ metric: 'Fund Size',
779
+ targetValue: 100000000,
780
+ currentValue: 60000000,
781
+ unit: 'USD',
782
+ },
783
+ {
784
+ description: 'Secure 3 anchor LPs',
785
+ metric: 'Anchor LPs',
786
+ targetValue: 3,
787
+ currentValue: 2,
788
+ },
789
+ {
790
+ description: 'Achieve 80% LP re-up rate',
791
+ metric: 'LP Re-up',
792
+ targetValue: 80,
793
+ currentValue: 75,
794
+ unit: '%',
795
+ },
796
+ ],
797
+ },
798
+ ]);
799
+ // =============================================================================
800
+ // 8. PROCESSES
801
+ // =============================================================================
802
+ export const IdeaValidationProcess = Process({
803
+ name: 'Idea Validation',
804
+ description: 'Validate new venture ideas before committing resources',
805
+ owner: 'Head of Ideation',
806
+ steps: [
807
+ {
808
+ order: 1,
809
+ name: 'Idea Submission',
810
+ description: 'EIR or partner submits idea thesis',
811
+ automationLevel: 'manual',
812
+ duration: '1 day',
813
+ },
814
+ {
815
+ order: 2,
816
+ name: 'Market Research',
817
+ description: 'Research market size, trends, competition',
818
+ automationLevel: 'semi-automated',
819
+ duration: '1 week',
820
+ owner: 'Venture Analyst',
821
+ },
822
+ {
823
+ order: 3,
824
+ name: 'Customer Discovery',
825
+ description: 'Conduct 20+ customer interviews',
826
+ automationLevel: 'manual',
827
+ duration: '2 weeks',
828
+ owner: 'EIR',
829
+ },
830
+ {
831
+ order: 4,
832
+ name: 'Problem Validation',
833
+ description: 'Validate problem-solution fit',
834
+ automationLevel: 'manual',
835
+ duration: '1 week',
836
+ owner: 'Venture Partner',
837
+ },
838
+ {
839
+ order: 5,
840
+ name: 'Business Model',
841
+ description: 'Design and validate business model',
842
+ automationLevel: 'manual',
843
+ duration: '1 week',
844
+ owner: 'EIR',
845
+ },
846
+ {
847
+ order: 6,
848
+ name: 'Investment Committee',
849
+ description: 'Present to IC for approval',
850
+ automationLevel: 'manual',
851
+ duration: '1 day',
852
+ owner: 'Venture Partner',
853
+ },
854
+ {
855
+ order: 7,
856
+ name: 'Go/No-Go Decision',
857
+ description: 'Final decision to proceed',
858
+ automationLevel: 'manual',
859
+ duration: '1 day',
860
+ owner: 'Managing Partner',
861
+ },
862
+ ],
863
+ metrics: [
864
+ { name: 'Validation Time', target: 6, unit: 'weeks' },
865
+ { name: 'Pass Rate', target: 30, unit: '%' },
866
+ { name: 'Customer Interviews', target: 20 },
867
+ ],
868
+ });
869
+ export const VentureBuildProcess = Process({
870
+ name: 'Venture Building',
871
+ description: 'Build new venture from validation to MVP',
872
+ owner: 'Head of Building',
873
+ steps: [
874
+ {
875
+ order: 1,
876
+ name: 'Team Assembly',
877
+ description: 'Assign founder and initial team',
878
+ automationLevel: 'manual',
879
+ duration: '2 weeks',
880
+ owner: 'Head of Talent',
881
+ },
882
+ {
883
+ order: 2,
884
+ name: 'Incorporation',
885
+ description: 'Legal setup and incorporation',
886
+ automationLevel: 'semi-automated',
887
+ duration: '1 week',
888
+ owner: 'Operations',
889
+ },
890
+ {
891
+ order: 3,
892
+ name: 'Product Strategy',
893
+ description: 'Define product vision and roadmap',
894
+ automationLevel: 'manual',
895
+ duration: '2 weeks',
896
+ owner: 'Venture Partner',
897
+ },
898
+ {
899
+ order: 4,
900
+ name: 'Design Sprint',
901
+ description: 'UX research and design',
902
+ automationLevel: 'manual',
903
+ duration: '2 weeks',
904
+ owner: 'Design Lead',
905
+ },
906
+ {
907
+ order: 5,
908
+ name: 'MVP Development',
909
+ description: 'Build minimum viable product',
910
+ automationLevel: 'manual',
911
+ duration: '8 weeks',
912
+ owner: 'Tech Lead',
913
+ },
914
+ {
915
+ order: 6,
916
+ name: 'Beta Launch',
917
+ description: 'Launch to beta customers',
918
+ automationLevel: 'semi-automated',
919
+ duration: '2 weeks',
920
+ },
921
+ {
922
+ order: 7,
923
+ name: 'Iterate',
924
+ description: 'Customer feedback and iteration',
925
+ automationLevel: 'manual',
926
+ duration: '4 weeks',
927
+ owner: 'Portfolio CEO',
928
+ },
929
+ {
930
+ order: 8,
931
+ name: 'GA Launch',
932
+ description: 'General availability launch',
933
+ automationLevel: 'semi-automated',
934
+ duration: '2 weeks',
935
+ },
936
+ ],
937
+ metrics: [
938
+ { name: 'Time to MVP', target: 12, unit: 'weeks' },
939
+ { name: 'Time to First Customer', target: 16, unit: 'weeks' },
940
+ { name: 'Time to $100K ARR', target: 9, unit: 'months' },
941
+ ],
942
+ });
943
+ export const PortfolioSupportProcess = Process({
944
+ name: 'Portfolio Support',
945
+ description: 'Ongoing support for portfolio companies',
946
+ owner: 'Portfolio Lead',
947
+ steps: [
948
+ {
949
+ order: 1,
950
+ name: 'Weekly Sync',
951
+ description: 'Weekly sync with portfolio CEO',
952
+ automationLevel: 'manual',
953
+ duration: '30 minutes',
954
+ owner: 'Venture Partner',
955
+ },
956
+ {
957
+ order: 2,
958
+ name: 'Metric Review',
959
+ description: 'Review weekly/monthly metrics',
960
+ automationLevel: 'semi-automated',
961
+ duration: '1 hour',
962
+ },
963
+ {
964
+ order: 3,
965
+ name: 'Board Meeting',
966
+ description: 'Quarterly board meeting',
967
+ automationLevel: 'manual',
968
+ duration: '2 hours',
969
+ owner: 'Venture Partner',
970
+ },
971
+ {
972
+ order: 4,
973
+ name: 'Fundraising Support',
974
+ description: 'Help with Series A/B fundraising',
975
+ automationLevel: 'manual',
976
+ duration: '3 months',
977
+ owner: 'Managing Partner',
978
+ },
979
+ {
980
+ order: 5,
981
+ name: 'Talent Support',
982
+ description: 'Help with key hires',
983
+ automationLevel: 'semi-automated',
984
+ duration: 'ongoing',
985
+ owner: 'Head of Talent',
986
+ },
987
+ ],
988
+ metrics: [
989
+ { name: 'NPS', target: 80 },
990
+ { name: 'Follow-on Funding Rate', target: 80, unit: '%' },
991
+ { name: 'Founder Retention', target: 90, unit: '%' },
992
+ ],
993
+ });
994
+ // =============================================================================
995
+ // 9. WORKFLOWS
996
+ // =============================================================================
997
+ export const IdeaScreeningWorkflow = Workflow({
998
+ name: 'Idea Screening',
999
+ description: 'Initial screening of new venture ideas',
1000
+ trigger: { type: 'event', event: 'idea.submitted' },
1001
+ actions: [
1002
+ {
1003
+ order: 1,
1004
+ type: 'compute',
1005
+ name: 'AI Thesis Analysis',
1006
+ config: {
1007
+ analyze: ['market_size', 'competition', 'timing', 'fit'],
1008
+ },
1009
+ },
1010
+ {
1011
+ order: 2,
1012
+ type: 'compute',
1013
+ name: 'Score Idea',
1014
+ config: {
1015
+ factors: ['market', 'team', 'timing', 'defensibility', 'studio_fit'],
1016
+ weights: [0.25, 0.25, 0.2, 0.15, 0.15],
1017
+ },
1018
+ },
1019
+ {
1020
+ order: 3,
1021
+ type: 'condition',
1022
+ name: 'Check Score',
1023
+ condition: 'score >= 70',
1024
+ },
1025
+ {
1026
+ order: 4,
1027
+ type: 'notification',
1028
+ name: 'Alert Partner',
1029
+ config: {
1030
+ channel: 'slack',
1031
+ template: 'high_potential_idea',
1032
+ },
1033
+ },
1034
+ {
1035
+ order: 5,
1036
+ type: 'task',
1037
+ name: 'Assign Research',
1038
+ config: {
1039
+ type: 'market-research',
1040
+ assignTo: 'venture-analyst',
1041
+ dueIn: '1 week',
1042
+ },
1043
+ },
1044
+ ],
1045
+ });
1046
+ export const PortfolioAlertWorkflow = Workflow({
1047
+ name: 'Portfolio Health Alert',
1048
+ description: 'Alert on portfolio company health changes',
1049
+ trigger: { type: 'schedule', cron: '0 9 * * 1' }, // Weekly Monday 9am
1050
+ actions: [
1051
+ {
1052
+ order: 1,
1053
+ type: 'compute',
1054
+ name: 'Calculate Health Scores',
1055
+ config: {
1056
+ metrics: ['revenue_growth', 'burn_rate', 'runway', 'nrr', 'team_changes'],
1057
+ },
1058
+ },
1059
+ {
1060
+ order: 2,
1061
+ type: 'condition',
1062
+ name: 'Check At Risk',
1063
+ condition: 'healthScore < 60 || runway < 6',
1064
+ },
1065
+ {
1066
+ order: 3,
1067
+ type: 'notification',
1068
+ name: 'Alert Managing Partner',
1069
+ config: {
1070
+ channel: 'email',
1071
+ template: 'portfolio_at_risk',
1072
+ priority: 'high',
1073
+ },
1074
+ },
1075
+ {
1076
+ order: 4,
1077
+ type: 'task',
1078
+ name: 'Create Intervention Task',
1079
+ config: {
1080
+ type: 'portfolio-intervention',
1081
+ assignTo: 'venture-partner',
1082
+ data: ['company', 'healthScore', 'issues'],
1083
+ },
1084
+ },
1085
+ ],
1086
+ });
1087
+ export const FundraisingWorkflow = Workflow({
1088
+ name: 'Fundraising Support',
1089
+ description: 'Coordinate fundraising support for portfolio companies',
1090
+ trigger: { type: 'event', event: 'fundraising.initiated' },
1091
+ actions: [
1092
+ {
1093
+ order: 1,
1094
+ type: 'notification',
1095
+ name: 'Notify Team',
1096
+ config: {
1097
+ channel: 'slack',
1098
+ template: 'fundraising_kick_off',
1099
+ to: ['venture-partner', 'managing-partner'],
1100
+ },
1101
+ },
1102
+ {
1103
+ order: 2,
1104
+ type: 'task',
1105
+ name: 'Update Materials',
1106
+ config: {
1107
+ type: 'deck-review',
1108
+ assignTo: 'venture-partner',
1109
+ dueIn: '1 week',
1110
+ },
1111
+ },
1112
+ {
1113
+ order: 3,
1114
+ type: 'task',
1115
+ name: 'Investor Intros',
1116
+ config: {
1117
+ type: 'investor-intros',
1118
+ assignTo: 'managing-partner',
1119
+ dueIn: '2 weeks',
1120
+ },
1121
+ },
1122
+ {
1123
+ order: 4,
1124
+ type: 'wait',
1125
+ name: 'Wait for Process',
1126
+ duration: '2 weeks',
1127
+ },
1128
+ {
1129
+ order: 5,
1130
+ type: 'notification',
1131
+ name: 'Check-in',
1132
+ config: {
1133
+ channel: 'slack',
1134
+ template: 'fundraising_checkin',
1135
+ },
1136
+ },
1137
+ ],
1138
+ });
1139
+ // =============================================================================
1140
+ // 10. FINANCIALS
1141
+ // =============================================================================
1142
+ export const VentureForgeFinancials = financials({
1143
+ revenue: 4400000, // Management fees + realized gains
1144
+ cogs: 0, // Venture building is internally resourced
1145
+ operatingExpenses: 4000000, // Team, office, operations
1146
+ depreciation: 50000,
1147
+ interestExpense: 0,
1148
+ otherIncome: 0,
1149
+ taxes: 100000,
1150
+ });
1151
+ export const StudioMetrics = {
1152
+ fund: {
1153
+ size: 80000000,
1154
+ deployed: 52000000,
1155
+ remaining: 28000000,
1156
+ managementFee: 0.02, // 2%
1157
+ carry: 0.20, // 20%
1158
+ },
1159
+ portfolio: {
1160
+ companies: 5,
1161
+ totalArr: 35750000,
1162
+ totalValuation: 308000000,
1163
+ avgEquity: 28, // %
1164
+ studioValue: 86240000, // Portfolio value * avg equity
1165
+ },
1166
+ performance: {
1167
+ tvpi: 2.4,
1168
+ dpi: 0.8, // Realized returns
1169
+ irr: 22, // %
1170
+ moic: 2.4,
1171
+ },
1172
+ operations: {
1173
+ venturesLaunched: 15, // All time
1174
+ successRate: 55, // %
1175
+ avgTimeToMvp: 8, // months
1176
+ avgTimeToMillionArr: 24, // months
1177
+ },
1178
+ lps: {
1179
+ count: 25,
1180
+ reupRate: 75, // %
1181
+ },
1182
+ };
1183
+ // =============================================================================
1184
+ // 11. UTILITY FUNCTIONS
1185
+ // =============================================================================
1186
+ export function getBusinessSummary() {
1187
+ return {
1188
+ company: VentureForgeBusiness,
1189
+ vision: VentureForgeVision,
1190
+ goals: VentureForgeGoals,
1191
+ services: StudioServices,
1192
+ products: StudioProducts,
1193
+ portfolio: Portfolio,
1194
+ kpis: VentureForgeKPIs,
1195
+ okrs: VentureForgeOKRs,
1196
+ financials: VentureForgeFinancials,
1197
+ metrics: StudioMetrics,
1198
+ };
1199
+ }
1200
+ export function getPortfolioSummary() {
1201
+ const active = Portfolio.filter(c => c.status === 'active');
1202
+ const totalArr = active.reduce((sum, c) => sum + (c.metrics.arr || 0), 0);
1203
+ const totalValuation = active.reduce((sum, c) => sum + (c.metrics.valuation || 0), 0);
1204
+ return {
1205
+ activeCompanies: active.length,
1206
+ totalArr: $.format(totalArr),
1207
+ totalValuation: $.format(totalValuation),
1208
+ avgEquity: `${StudioMetrics.portfolio.avgEquity}%`,
1209
+ studioValue: $.format(totalValuation * (StudioMetrics.portfolio.avgEquity / 100)),
1210
+ };
1211
+ }
1212
+ export function getFundMetrics() {
1213
+ return {
1214
+ fundSize: $.format(StudioMetrics.fund.size),
1215
+ deployed: $.format(StudioMetrics.fund.deployed),
1216
+ remaining: $.format(StudioMetrics.fund.remaining),
1217
+ tvpi: `${StudioMetrics.performance.tvpi}x`,
1218
+ irr: `${StudioMetrics.performance.irr}%`,
1219
+ };
1220
+ }
1221
+ export function getCompanyByStage() {
1222
+ const byStage = Portfolio.reduce((acc, c) => {
1223
+ acc[c.stage] = (acc[c.stage] || 0) + 1;
1224
+ return acc;
1225
+ }, {});
1226
+ return byStage;
1227
+ }
1228
+ export default {
1229
+ business: VentureForgeBusiness,
1230
+ vision: VentureForgeVision,
1231
+ goals: VentureForgeGoals,
1232
+ services: StudioServices,
1233
+ products: StudioProducts,
1234
+ investmentTerms: InvestmentTerms,
1235
+ organization: VentureForgeOrg,
1236
+ portfolio: Portfolio,
1237
+ kpis: VentureForgeKPIs,
1238
+ okrs: VentureForgeOKRs,
1239
+ processes: {
1240
+ ideaValidation: IdeaValidationProcess,
1241
+ ventureBuild: VentureBuildProcess,
1242
+ portfolioSupport: PortfolioSupportProcess,
1243
+ },
1244
+ workflows: {
1245
+ ideaScreening: IdeaScreeningWorkflow,
1246
+ portfolioAlert: PortfolioAlertWorkflow,
1247
+ fundraising: FundraisingWorkflow,
1248
+ },
1249
+ financials: VentureForgeFinancials,
1250
+ metrics: StudioMetrics,
1251
+ };
1252
+ //# sourceMappingURL=index.js.map