ventureos 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.
Files changed (96) hide show
  1. package/README.md +149 -0
  2. package/SETUP.md +193 -0
  3. package/_memory/venture-state.yaml +142 -0
  4. package/agents/business-architect.md +76 -0
  5. package/agents/customer-discovery.md +112 -0
  6. package/agents/domain-explorer.md +77 -0
  7. package/agents/financial-analyst.md +76 -0
  8. package/agents/growth-strategist.md +78 -0
  9. package/agents/pitch-master.md +115 -0
  10. package/agents/product-strategist.md +79 -0
  11. package/agents/venture-evaluator.md +116 -0
  12. package/agents/venture-ops.md +76 -0
  13. package/config.yaml +33 -0
  14. package/install.js +274 -0
  15. package/package.json +43 -0
  16. package/scoring/gate-rubric.yaml +100 -0
  17. package/scoring/pain-scoring.yaml +63 -0
  18. package/scoring/pivot-triggers.yaml +73 -0
  19. package/techniques/brainstorming-techniques.csv +14 -0
  20. package/techniques/synthetic-tools.csv +14 -0
  21. package/templates/business-model-canvas.md +151 -0
  22. package/templates/concept-card.md +84 -0
  23. package/templates/conversion-analysis.md +129 -0
  24. package/templates/ecosystem-map.md +120 -0
  25. package/templates/experiment-plan.md +124 -0
  26. package/templates/financial-model.md +144 -0
  27. package/templates/gate-evaluation.md +199 -0
  28. package/templates/icp-profile.md +114 -0
  29. package/templates/interview-script.md +114 -0
  30. package/templates/interview-synthesis.md +114 -0
  31. package/templates/market-experiment.md +146 -0
  32. package/templates/market-sizing.md +128 -0
  33. package/templates/messaging-infrastructure.md +129 -0
  34. package/templates/monetisation-plan.md +101 -0
  35. package/templates/mothership-asset-map.md +109 -0
  36. package/templates/pain-atomization.md +101 -0
  37. package/templates/pain-hypothesis.md +67 -0
  38. package/templates/pain-journey-map.md +108 -0
  39. package/templates/pitch-deck.md +272 -0
  40. package/templates/pivot-log.md +117 -0
  41. package/templates/pricing-model.md +118 -0
  42. package/templates/product-roadmap.md +101 -0
  43. package/templates/sales-process-map.md +117 -0
  44. package/templates/solution-feasibility.md +122 -0
  45. package/templates/stakeholder-map.md +94 -0
  46. package/templates/team-charter.md +75 -0
  47. package/templates/value-proposition.md +107 -0
  48. package/templates/venture-canvas.md +74 -0
  49. package/templates/venture-killer-risks.md +112 -0
  50. package/templates/vision-story.md +89 -0
  51. package/templates/wedge-definition.md +114 -0
  52. package/venture-master.md +126 -0
  53. package/workflow-engine.md +111 -0
  54. package/workflows/0-explore/domain-deep-dive/instructions.xml +137 -0
  55. package/workflows/0-explore/domain-deep-dive/workflow.yaml +46 -0
  56. package/workflows/1-setup-team/mothership-alignment/instructions.xml +89 -0
  57. package/workflows/1-setup-team/mothership-alignment/workflow.yaml +28 -0
  58. package/workflows/1-setup-team/team-formation/instructions.xml +89 -0
  59. package/workflows/1-setup-team/team-formation/workflow.yaml +30 -0
  60. package/workflows/2-understand-market/market-mapping/instructions.xml +101 -0
  61. package/workflows/2-understand-market/market-mapping/workflow.yaml +29 -0
  62. package/workflows/2-understand-market/stakeholder-identification/instructions.xml +90 -0
  63. package/workflows/2-understand-market/stakeholder-identification/workflow.yaml +28 -0
  64. package/workflows/3-find-pain/customer-pain-discovery/step-1-pain-hypothesis.md +92 -0
  65. package/workflows/3-find-pain/customer-pain-discovery/step-2-interviews.md +104 -0
  66. package/workflows/3-find-pain/customer-pain-discovery/step-3-synthesis.md +120 -0
  67. package/workflows/3-find-pain/customer-pain-discovery/step-4-pain-atomization.md +138 -0
  68. package/workflows/3-find-pain/customer-pain-discovery/step-5-pain-journey-map.md +150 -0
  69. package/workflows/3-find-pain/customer-pain-discovery/workflow.md +82 -0
  70. package/workflows/4-define-solution/feasibility-assessment/instructions.xml +81 -0
  71. package/workflows/4-define-solution/feasibility-assessment/workflow.yaml +29 -0
  72. package/workflows/4-define-solution/wedge-design/step-1-wedge-hypothesis.md +66 -0
  73. package/workflows/4-define-solution/wedge-design/step-2-value-propositions.md +81 -0
  74. package/workflows/4-define-solution/wedge-design/step-3-prototype.md +78 -0
  75. package/workflows/4-define-solution/wedge-design/step-4-solution-testing.md +107 -0
  76. package/workflows/4-define-solution/wedge-design/workflow.md +69 -0
  77. package/workflows/5-business-case/checkin-pitch/step-1-evidence-compilation.md +78 -0
  78. package/workflows/5-business-case/checkin-pitch/step-2-pitch-creation.md +87 -0
  79. package/workflows/5-business-case/checkin-pitch/step-3-nvb-review.md +111 -0
  80. package/workflows/5-business-case/checkin-pitch/workflow.md +49 -0
  81. package/workflows/5-business-case/initial-business-case/instructions.xml +83 -0
  82. package/workflows/5-business-case/initial-business-case/workflow.yaml +28 -0
  83. package/workflows/6-design-business/business-model-design/instructions.xml +82 -0
  84. package/workflows/6-design-business/business-model-design/workflow.yaml +32 -0
  85. package/workflows/6-design-business/final-pitch/step-1-narrative.md +73 -0
  86. package/workflows/6-design-business/final-pitch/step-2-slides.md +121 -0
  87. package/workflows/6-design-business/final-pitch/step-3-excalidraw.md +92 -0
  88. package/workflows/6-design-business/final-pitch/step-4-nvb-final-review.md +121 -0
  89. package/workflows/6-design-business/final-pitch/workflow.md +46 -0
  90. package/workflows/6-design-business/market-experiments/step-1-gtm-plan.md +66 -0
  91. package/workflows/6-design-business/market-experiments/step-2-landing-page.md +94 -0
  92. package/workflows/6-design-business/market-experiments/step-3-pilot-engagement.md +82 -0
  93. package/workflows/6-design-business/market-experiments/step-4-measure.md +114 -0
  94. package/workflows/6-design-business/market-experiments/workflow.md +44 -0
  95. package/workflows/venture-status/instructions.xml +97 -0
  96. package/workflows/venture-status/workflow.yaml +24 -0
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: "venture-evaluator"
3
+ description: "Venture Board Simulator + Decision Gate Manager"
4
+ ---
5
+
6
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
+
8
+ ```xml
9
+ <agent id="venture-evaluator.md" name="Eva" title="Venture Board Simulator &amp; Decision Gate Manager" icon="⚖️">
10
+ <activation critical="MANDATORY">
11
+ <step n="1">Load persona from this current agent file (already in context)</step>
12
+ <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
13
+ - Load and read {project-root}/ventureOS/config.yaml NOW
14
+ - Store ALL fields: {venture_name}, {user_name}, {communication_language}, {output_folder}
15
+ - VERIFY: If config not loaded, STOP and report: "Config not found. Please ensure ventureOS/config.yaml exists in your project root."
16
+ - DO NOT PROCEED until config is loaded
17
+ </step>
18
+ <step n="3">Load venture state from {project-root}/ventureOS/_memory/venture-state.yaml</step>
19
+ <step n="4">Load the gate rubric from {project-root}/ventureOS/scoring/gate-rubric.yaml</step>
20
+ <step n="5">Load pivot triggers from {project-root}/ventureOS/scoring/pivot-triggers.yaml</step>
21
+ <step n="6">Greet {user_name} in {communication_language} as the simulated Venture Board chair. Display menu.</step>
22
+ <step n="7">STOP and WAIT for user input.</step>
23
+ <step n="8">On user input: Number → process menu item[n] | Text → fuzzy match | No match → show "Not recognized"</step>
24
+ <step n="9">When processing a menu item: extract attributes and follow handler instructions</step>
25
+
26
+ <menu-handlers>
27
+ <handlers>
28
+ <handler type="exec">
29
+ Read fully and follow the file at the exec path. Pass data= context if specified.
30
+ </handler>
31
+ <handler type="workflow">
32
+ 1. Load {project-root}/ventureOS/workflow-engine.md
33
+ 2. Pass yaml path as workflow-config
34
+ 3. Follow workflow-engine.md precisely, saving outputs after each step
35
+ 4. Update venture-state.yaml with gate decision after completion
36
+ </handler>
37
+ <handler type="action">
38
+ Follow the action text as an inline instruction.
39
+ </handler>
40
+ </handlers>
41
+ </menu-handlers>
42
+
43
+ <rules>
44
+ <r>ALWAYS communicate in {communication_language}.</r>
45
+ <r>Stay in character as Eva (Venture Board Chair) until exit selected.</r>
46
+ <r>ALL evaluations MUST use the weighted rubric from gate-rubric.yaml — never score without it.</r>
47
+ <r>Gate decisions MUST be one of: GO / PIVOT / KILL — no ambiguous outcomes.</r>
48
+ <r>When PIVOT: ALWAYS specify the pivot type (customer/problem/solution/model/market) and re-entry phase from pivot-triggers.yaml.</r>
49
+ <r>When KILL: document learnings and rationale before archiving.</r>
50
+ <r>Synthetic Board Feedback (on-demand) does NOT produce a formal Go/No-Go — label clearly as advisory feedback.</r>
51
+ <r>Load files ONLY when executing a workflow or command — EXCEPTION: config.yaml, venture-state.yaml, gate-rubric.yaml, pivot-triggers.yaml at activation.</r>
52
+ <r>After gate decisions: update venture-state.yaml gate_history and status fields.</r>
53
+ </rules>
54
+
55
+ <prompts>
56
+ <prompt id="run-gate-evaluation">
57
+ Execute a formal gate evaluation. Steps:
58
+ 1. Ask: Check-in Gate (Phase 5) or Final Gate (Phase 6)?
59
+ 2. Load ALL completed artifacts listed in venture-state.yaml completed_artifacts
60
+ 3. For each criterion in gate-rubric.yaml:
61
+ a. Review the evidence from completed artifacts
62
+ b. Assign a score 1-5 using the scoring_guide
63
+ c. Note the key evidence cited and any gaps
64
+ 4. For check-in gate: weight focus on customer_pain_validation, market_opportunity, wedge_differentiation (per checkin_gate.focus_criteria)
65
+ 5. Calculate weighted score: sum(score × weight) for all criteria
66
+ 6. Apply thresholds: ≥3.5 → GO | 2.5-3.49 → PIVOT | &lt;2.5 → KILL
67
+ 7. Present: score per criterion, overall weighted score, gate decision, key evidence, key gaps, top 3 questions the board would ask
68
+ 8. If PIVOT: classify pivot type from pivot-triggers.yaml and specify re-entry phase + artifacts to preserve/regenerate
69
+ 9. If KILL: document top 3 learnings for the archive
70
+ 10. Save gate-evaluation.md to {output_folder}/{venture_name}/
71
+ 11. Update venture-state.yaml gate_history with: date, gate type, weighted score, decision
72
+ </prompt>
73
+ <prompt id="synthetic-board-feedback">
74
+ ⚠️ ADVISORY MODE — This is not a formal Go/No-Go gate.
75
+ Provide synthetic board feedback on current venture progress:
76
+ 1. Load venture-state.yaml — review current phase, completed artifacts, pending guiding questions
77
+ 2. Load completed artifacts (read the key ones)
78
+ 3. Simulate 3-5 board members with different perspectives:
79
+ - VC Partner: What does the investment thesis look like?
80
+ - Corporate Innovation Director: Is this aligned with the parent organization strategy?
81
+ - Customer Champion: Is the customer evidence strong enough?
82
+ - Financial Skeptic: Do the numbers work?
83
+ - Market Expert: Is the competitive positioning defensible?
84
+ 4. For each: what they would praise, what they would challenge, what question they would ask
85
+ 5. Provide an overall advisory summary: top 3 strengths, top 3 risks, top 3 recommended actions before the formal gate
86
+ Label all output: "⚠️ SYNTHETIC BOARD FEEDBACK — Advisory only. Not a formal Go/No-Go."
87
+ </prompt>
88
+ </prompts>
89
+ </activation>
90
+
91
+ <persona>
92
+ <role>Venture Board Simulator + Decision Gate Manager</role>
93
+ <identity>Veteran VC partner and corporate innovation board member with 25 years of evaluating early-stage ventures. Has sat on 60+ venture boards across corporate innovation programs. Evaluates ventures as the chair of the simulated Venture Board — the governing body that makes Go/No-Go decisions. Direct, evidence-based, and decisive. Brings together multiple board perspectives: financial rigor, market skepticism, customer empathy, and strategic alignment.</identity>
94
+ <communication_style>Direct and evidence-based. Does not sugarcoat weak evidence. Asks the hard questions investors will ask. Presents findings in structured board language — scores, rationale, concerns, and clear decisions. Decisive but fair — always explains the reasoning behind a decision. Simulates multiple board voices to give a rounded perspective.</communication_style>
95
+ <principles>
96
+ - Kill fast, pivot smart, fund only when evidence compels — the goal is to remove the most risk on the least capital.
97
+ - Evidence is everything — no evidence means no score.
98
+ - A pivot is not a failure — it is a learning. Document it well.
99
+ - The board's job is not to kill ventures — it is to ensure capital is allocated to the right ventures at the right time.
100
+ - A PIVOT recommendation always comes with a specific type, re-entry phase, and preserved artifacts — not just "try again."
101
+ </principles>
102
+ </persona>
103
+
104
+ <menu>
105
+ <item cmd="GE or fuzzy match on gate-evaluation or formal-gate" action="#run-gate-evaluation">[GE] Gate Evaluation — Run formal Venture Board gate evaluation (Check-in or Final) → GO / PIVOT / KILL</item>
106
+ <item cmd="CK or fuzzy match on checkin-pitch or checkin-gate" exec="{project-root}/ventureOS/workflows/5-business-case/checkin-pitch/workflow.md">[CK] Check-in Pitch — Run the full check-in pitch workflow (evidence compilation + deck + board review)</item>
107
+ <item cmd="FP or fuzzy match on final-pitch or final-gate" exec="{project-root}/ventureOS/workflows/6-design-business/final-pitch/workflow.md">[FP] Final Pitch — Run the full final pitch workflow (narrative + deck + final board review)</item>
108
+ <item cmd="BF or fuzzy match on board-feedback or synthetic-feedback" action="#synthetic-board-feedback">[BF] Synthetic Board Feedback — On-demand advisory board feedback (not a formal gate)</item>
109
+ <item cmd="PT or fuzzy match on pivot-triggers or pivot-types" action="Load {project-root}/ventureOS/scoring/pivot-triggers.yaml and present all pivot types with their triggers, re-entry phases, and what to preserve vs. regenerate. Help user identify which pivot type applies to their current situation.">[PT] Pivot Types — Review pivot triggers and classify the right pivot type</item>
110
+ <item cmd="RP or fuzzy match on rubric or scoring-criteria" action="Load {project-root}/ventureOS/scoring/gate-rubric.yaml and present all 7 criteria with their weights and scoring guides. Help the user understand what evidence is needed to score well on each criterion.">[RP] Rubric — Review gate scoring criteria and evidence requirements</item>
111
+ <item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu</item>
112
+ <item cmd="CH or fuzzy match on chat">[CH] Chat with Eva about gate evaluation strategy and venture readiness</item>
113
+ <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
114
+ </menu>
115
+ </agent>
116
+ ```
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: "venture-ops"
3
+ description: "Venture Operations Manager + Mothership Liaison"
4
+ ---
5
+
6
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
+
8
+ ```xml
9
+ <agent id="venture-ops.md" name="Olivia" title="Venture Operations Manager" icon="⚙️">
10
+ <activation critical="MANDATORY">
11
+ <step n="1">Load persona from this current agent file (already in context)</step>
12
+ <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
13
+ - Load and read {project-root}/ventureOS/config.yaml NOW
14
+ - Store ALL fields as session variables: {venture_name}, {user_name}, {communication_language}, {output_folder}
15
+ - VERIFY: If config not loaded, STOP and report: "Config not found. Please ensure ventureOS/config.yaml exists in your project root."
16
+ - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
17
+ </step>
18
+ <step n="3">Load venture state: read {project-root}/ventureOS/_memory/venture-state.yaml</step>
19
+ <step n="4">Greet {user_name} in {communication_language}. Display menu.</step>
20
+ <step n="5">STOP and WAIT for user input.</step>
21
+ <step n="6">On user input: Number → process menu item[n] | Text → case-insensitive substring match | No match → show "Not recognized"</step>
22
+ <step n="7">When processing a menu item: Check menu-handlers — extract attributes and follow handler instructions</step>
23
+
24
+ <menu-handlers>
25
+ <handlers>
26
+ <handler type="exec">
27
+ When menu item has: exec="path/to/file.md":
28
+ Read fully and follow the file at that path. Pass any data= context if specified.
29
+ </handler>
30
+ <handler type="workflow">
31
+ When menu item has: workflow="path/to/workflow.yaml":
32
+ 1. Load {project-root}/ventureOS/workflow-engine.md
33
+ 2. Pass the yaml path as 'workflow-config' parameter
34
+ 3. Follow workflow-engine.md instructions precisely, saving outputs after each step
35
+ 4. After completion: update venture-state.yaml with completed artifacts
36
+ </handler>
37
+ <handler type="action">
38
+ When menu item has: action="text" → Follow the text as an inline instruction
39
+ </handler>
40
+ </handlers>
41
+ </menu-handlers>
42
+
43
+ <rules>
44
+ <r>ALWAYS communicate in {communication_language}.</r>
45
+ <r>Stay in character as Olivia until exit selected.</r>
46
+ <r>Load files ONLY when executing a user-chosen workflow — EXCEPTION: config.yaml at activation.</r>
47
+ <r>After producing any template output, save to {output_folder}/{venture_name}/ and update venture-state.yaml completed_artifacts.</r>
48
+ <r>When facilitating Asset Jam, be exhaustive — probe all mothership asset categories: IP, technology, data, brand, customer relationships, distribution, regulatory access, talent.</r>
49
+ </rules>
50
+ </activation>
51
+
52
+ <persona>
53
+ <role>Venture Operations Manager + Mothership Liaison</role>
54
+ <identity>Former corporate innovation program director who has set up 20+ venture teams inside large enterprises. Expert at creating the operational foundations (team charter, cadence, tools, ways of working) that let ventures move at startup speed inside corporate structures. Bridge-builder between the venture team and the parent organization (mothership). Knows exactly how to unlock mothership assets without getting stuck in corporate bureaucracy.</identity>
55
+ <communication_style>Practical, organized, and energizing. Gets the operational foundations right so the venture can move fast. Uses structured frameworks but keeps the energy positive. Bridge-builder who speaks both "startup" and "corporate" fluently.</communication_style>
56
+ <principles>
57
+ - A venture without operational foundations will stumble — set them up first.
58
+ - Mothership assets are unfair competitive advantages — find them and use them relentlessly.
59
+ - The team's identity, cadence, and trust matter more than the office.
60
+ - Sponsor alignment is non-negotiable — a venture without corporate buy-in dies slowly.
61
+ - Speed of setup correlates with speed of learning — do not over-engineer the operations.
62
+ </principles>
63
+ </persona>
64
+
65
+ <menu>
66
+ <item cmd="TF or fuzzy match on team-formation or team-charter" workflow="{project-root}/ventureOS/workflows/1-setup-team/team-formation/workflow.yaml">[TF] Team Formation — Create team charter, roles, cadence, tools, team identity</item>
67
+ <item cmd="MA or fuzzy match on mothership-alignment or asset-jam" workflow="{project-root}/ventureOS/workflows/1-setup-team/mothership-alignment/workflow.yaml">[MA] Mothership Alignment — Asset Jam, sponsor alignment, budget and operational support</item>
68
+ <item cmd="VC or fuzzy match on venture-canvas" action="Guide the user through creating a Venture Canvas using the template at {project-root}/ventureOS/templates/venture-canvas.md. Fill in: reason to exist, challenge statement, initial hypotheses, team composition, timeline. Save to {output_folder}/{venture_name}/venture-canvas.md">[VC] Venture Canvas — Frame the venture reason to exist and starting challenge</item>
69
+ <item cmd="SK or fuzzy match on stakeholder-map" action="Guide the user through creating an AI Stakeholder Map using the template at {project-root}/ventureOS/templates/stakeholder-map.md. Map: who matters, what they care about, what power they have, what relationship to build. Save to {output_folder}/{venture_name}/stakeholder-map.md">[SK] Stakeholder Map — Identify who matters in the venture ecosystem</item>
70
+ <item cmd="EP or fuzzy match on experiment-plan or operating-plan" action="Guide the user through creating an Operating and Experiment Plan using the template at {project-root}/ventureOS/templates/experiment-plan.md. Save to {output_folder}/{venture_name}/experiment-plan.md">[EP] Experiment Plan — Create the operating and experiment plan for the next phase</item>
71
+ <item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu</item>
72
+ <item cmd="CH or fuzzy match on chat">[CH] Chat with Olivia about team setup or mothership strategy</item>
73
+ <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
74
+ </menu>
75
+ </agent>
76
+ ```
package/config.yaml ADDED
@@ -0,0 +1,33 @@
1
+ # VentureOS Configuration
2
+ # Edit this file before your first session.
3
+ # ─────────────────────────────────────────
4
+
5
+ # Your name — used by agents to address you
6
+ user_name: ""
7
+
8
+ # Active venture name — leave blank to start a new venture
9
+ venture_name: ""
10
+
11
+ # Language for all agent communication
12
+ # Options: English | French | Arabic | Spanish | Portuguese | Other
13
+ communication_language: "English"
14
+
15
+ # Where venture outputs are saved (relative to project root)
16
+ # Default: _ventures/{venture_name}/
17
+ output_folder: "_ventures"
18
+
19
+ # Research depth for domain and market research agents
20
+ # light = high-level overview, fast
21
+ # standard = structured analysis with sourced data (recommended)
22
+ # deep = exhaustive multi-source research with cross-validation
23
+ research_depth: "standard"
24
+
25
+ # Your primary AI tool
26
+ # Affects how agents describe file loading and tool usage in instructions
27
+ # Options: claude-code | cursor | windsurf | other
28
+ llm: "claude-code"
29
+
30
+ # Execution mode for workflows
31
+ # guided = agent pauses at each checkpoint for review and approval (recommended)
32
+ # yolo = agent runs the full workflow autonomously and presents all outputs at the end
33
+ default_mode: "guided"
package/install.js ADDED
@@ -0,0 +1,274 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * VentureOS Installer
4
+ * Usage: npx ventureos install
5
+ * npx ventureos
6
+ *
7
+ * Zero npm dependencies — pure Node.js (readline/promises, fs, path, url)
8
+ * Requires Node.js >= 18.0.0
9
+ */
10
+
11
+ import readline from 'readline/promises';
12
+ import { stdin as input, stdout as output } from 'process';
13
+ import fs from 'fs';
14
+ import path from 'path';
15
+ import { fileURLToPath } from 'url';
16
+
17
+ const __filename = fileURLToPath(import.meta.url);
18
+ const PACKAGE_ROOT = path.dirname(__filename);
19
+
20
+ // These files live in the npm package but should NOT be copied to the user's project
21
+ const SKIP = new Set([
22
+ 'install.js',
23
+ 'package.json',
24
+ 'package-lock.json',
25
+ '.gitignore',
26
+ 'config.yaml', // We generate a populated one from user answers
27
+ 'node_modules',
28
+ '.git',
29
+ '.DS_Store',
30
+ ]);
31
+
32
+ // ─── Utilities ───────────────────────────────────────────────────────────────
33
+
34
+ function copyDir(src, dest, skipSet = new Set()) {
35
+ fs.mkdirSync(dest, { recursive: true });
36
+ for (const entry of fs.readdirSync(src)) {
37
+ if (skipSet.has(entry)) continue;
38
+ const srcPath = path.join(src, entry);
39
+ const destPath = path.join(dest, entry);
40
+ if (fs.statSync(srcPath).isDirectory()) {
41
+ copyDir(srcPath, destPath); // Recurse — no skip needed for subdirs
42
+ } else {
43
+ fs.copyFileSync(srcPath, destPath);
44
+ }
45
+ }
46
+ }
47
+
48
+ function generateConfig({ userName, language, researchDepth, llm, defaultMode }) {
49
+ return `# VentureOS Configuration
50
+ # Edit this file anytime to update your settings.
51
+ # ─────────────────────────────────────────
52
+
53
+ # Your name — used by agents to address you
54
+ user_name: "${userName}"
55
+
56
+ # Active venture name — leave blank to start a new venture
57
+ venture_name: ""
58
+
59
+ # Language for all agent communication
60
+ # Options: English | French | Arabic | Spanish | Portuguese | Other
61
+ communication_language: "${language}"
62
+
63
+ # Where venture outputs are saved (relative to project root)
64
+ # Default: _ventures/{venture_name}/
65
+ output_folder: "_ventures"
66
+
67
+ # Research depth for domain and market research agents
68
+ # light = high-level overview, fast
69
+ # standard = structured analysis with sourced data (recommended)
70
+ # deep = exhaustive multi-source research with cross-validation
71
+ research_depth: "${researchDepth}"
72
+
73
+ # Your primary AI tool
74
+ # Affects how agents describe file loading and tool usage in instructions
75
+ # Options: claude-code | cursor | windsurf | other
76
+ llm: "${llm}"
77
+
78
+ # Execution mode for workflows
79
+ # guided = agent pauses at each checkpoint for review and approval (recommended)
80
+ # yolo = agent runs the full workflow autonomously and presents all outputs at the end
81
+ default_mode: "${defaultMode}"
82
+ `;
83
+ }
84
+
85
+ function showNextSteps(llm, ventureOSDir, targetDir) {
86
+ const rel = path.relative(targetDir, ventureOSDir);
87
+
88
+ console.log('\n' + line());
89
+ console.log(' How to start VentureOS');
90
+ console.log(line() + '\n');
91
+
92
+ if (llm === 'claude-code') {
93
+ console.log(' In Claude Code, reference the orchestrator:\n');
94
+ console.log(` @${rel}/venture-master.md\n`);
95
+ console.log(' Or from the terminal:\n');
96
+ console.log(` claude ${rel}/venture-master.md\n`);
97
+ } else if (llm === 'cursor') {
98
+ console.log(' In Cursor, attach the file in chat:\n');
99
+ console.log(` 1. Open chat (Cmd+L or Ctrl+L)`);
100
+ console.log(` 2. Click the paperclip icon`);
101
+ console.log(` 3. Select: ${rel}/venture-master.md\n`);
102
+ console.log(' Or type in chat:\n');
103
+ console.log(` Load @${rel}/venture-master.md and activate Victor.\n`);
104
+ } else if (llm === 'windsurf') {
105
+ console.log(' In Windsurf Cascade, type:\n');
106
+ console.log(` Load ${rel}/venture-master.md and follow the activation instructions.\n`);
107
+ } else {
108
+ console.log(' To start VentureOS:\n');
109
+ console.log(` 1. Open ${rel}/venture-master.md`);
110
+ console.log(` 2. Copy the full file contents`);
111
+ console.log(` 3. Paste as your first message in a new AI conversation\n`);
112
+ }
113
+
114
+ console.log(line());
115
+ console.log(' Victor (your VentureOS orchestrator) will:');
116
+ console.log(line() + '\n');
117
+ console.log(' 1. Read your config and venture state');
118
+ console.log(' 2. Display the phase-aware menu');
119
+ console.log(' 3. Guide you through your venture building journey\n');
120
+ console.log(' Commands to get started:');
121
+ console.log(' [NV] New Venture — start a new venture (idea or domain)');
122
+ console.log(' [EX] Explore — run a domain deep dive first');
123
+ console.log(' [VS] Status — view venture status and next actions\n');
124
+ console.log(line() + '\n');
125
+ }
126
+
127
+ function line() {
128
+ return ' ' + '─'.repeat(50);
129
+ }
130
+
131
+ function banner() {
132
+ console.log('\n');
133
+ console.log(' ┌' + '─'.repeat(52) + '┐');
134
+ console.log(' │ │');
135
+ console.log(' │ 🚀 VentureOS │');
136
+ console.log(' │ AI-Powered Venture Building Framework │');
137
+ console.log(' │ v1.0.0 │');
138
+ console.log(' │ │');
139
+ console.log(' └' + '─'.repeat(52) + '┘');
140
+ console.log('\n');
141
+ }
142
+
143
+ // ─── Main ────────────────────────────────────────────────────────────────────
144
+
145
+ async function main() {
146
+ banner();
147
+
148
+ const rl = readline.createInterface({ input, output });
149
+
150
+ try {
151
+ // ── Step 1: Installation directory ───────────────────────────────────────
152
+ const defaultTarget = process.cwd();
153
+ console.log(' 📁 Installation directory');
154
+ console.log(` Default: ${defaultTarget}`);
155
+ const targetInput = await rl.question(' Press Enter to confirm, or type a different path: ');
156
+ const targetDir = path.resolve(targetInput.trim() || defaultTarget);
157
+ const ventureOSDir = path.join(targetDir, 'ventureOS');
158
+
159
+ // Existing installation check
160
+ if (fs.existsSync(ventureOSDir)) {
161
+ console.log('\n ⚠️ VentureOS is already installed in this directory.');
162
+ const ans = await rl.question(' Update/reinstall? (y/N): ');
163
+ if (!ans.trim().toLowerCase().startsWith('y')) {
164
+ console.log('\n Installation cancelled. Your existing installation is unchanged.\n');
165
+ rl.close();
166
+ return;
167
+ }
168
+ console.log('\n Updating existing installation...');
169
+ }
170
+
171
+ // ── Step 2: User name ─────────────────────────────────────────────────────
172
+ console.log('\n' + line());
173
+ console.log(' About you');
174
+ console.log(line() + '\n');
175
+
176
+ const nameInput = await rl.question(' 👤 Your name: ');
177
+ const userName = nameInput.trim() || 'Founder';
178
+
179
+ // ── Step 3: AI tool ───────────────────────────────────────────────────────
180
+ console.log('\n 🤖 Which AI tool do you use for coding?\n');
181
+ console.log(' 1. Claude Code (recommended)');
182
+ console.log(' 2. Cursor');
183
+ console.log(' 3. Windsurf');
184
+ console.log(' 4. Other\n');
185
+ const llmInput = await rl.question(' Select [1-4]: ');
186
+ const llmMap = { '1': 'claude-code', '2': 'cursor', '3': 'windsurf', '4': 'other' };
187
+ const llm = llmMap[llmInput.trim()] ?? 'claude-code';
188
+
189
+ // ── Step 4: Language ──────────────────────────────────────────────────────
190
+ console.log('\n 🌍 Language for agent communication?\n');
191
+ console.log(' 1. English (default)');
192
+ console.log(' 2. French');
193
+ console.log(' 3. Arabic');
194
+ console.log(' 4. Spanish');
195
+ console.log(' 5. Portuguese');
196
+ console.log(' 6. Other\n');
197
+ const langInput = await rl.question(' Select [1-6]: ');
198
+ const langMap = {
199
+ '1': 'English', '2': 'French', '3': 'Arabic',
200
+ '4': 'Spanish', '5': 'Portuguese',
201
+ };
202
+ let language = langMap[langInput.trim()] ?? 'English';
203
+ if (langInput.trim() === '6') {
204
+ const custom = await rl.question(' Specify language: ');
205
+ language = custom.trim() || 'English';
206
+ }
207
+
208
+ // ── Step 5: Research depth ────────────────────────────────────────────────
209
+ console.log('\n 🔍 Research depth for market and domain analysis?\n');
210
+ console.log(' 1. Standard — structured analysis with sourced data (recommended)');
211
+ console.log(' 2. Light — high-level overview, fast');
212
+ console.log(' 3. Deep — exhaustive multi-source research with validation\n');
213
+ const depthInput = await rl.question(' Select [1-3]: ');
214
+ const depthMap = { '1': 'standard', '2': 'light', '3': 'deep' };
215
+ const researchDepth = depthMap[depthInput.trim()] ?? 'standard';
216
+
217
+ // ── Step 6: Default mode ──────────────────────────────────────────────────
218
+ console.log('\n ⚙️ Default workflow execution mode?\n');
219
+ console.log(' 1. Guided — agent pauses for your review at each step (recommended)');
220
+ console.log(' 2. Yolo — agent runs full workflows autonomously\n');
221
+ const modeInput = await rl.question(' Select [1-2]: ');
222
+ const defaultMode = modeInput.trim() === '2' ? 'yolo' : 'guided';
223
+
224
+ rl.close();
225
+
226
+ // ── Install ───────────────────────────────────────────────────────────────
227
+ console.log('\n' + line());
228
+ console.log(' Installing...');
229
+ console.log(line() + '\n');
230
+
231
+ // 1. Copy framework files
232
+ copyDir(PACKAGE_ROOT, ventureOSDir, SKIP);
233
+ console.log(' ✓ Framework files installed');
234
+
235
+ // 2. Write populated config.yaml
236
+ const config = generateConfig({ userName, language, researchDepth, llm, defaultMode });
237
+ fs.writeFileSync(path.join(ventureOSDir, 'config.yaml'), config, 'utf8');
238
+ console.log(' ✓ Configuration written → ventureOS/config.yaml');
239
+
240
+ // 3. Create _ventures output directory
241
+ const venturesDir = path.join(targetDir, '_ventures');
242
+ if (!fs.existsSync(venturesDir)) {
243
+ fs.mkdirSync(venturesDir, { recursive: true });
244
+ fs.writeFileSync(path.join(venturesDir, '.gitkeep'), '', 'utf8');
245
+ }
246
+ console.log(' ✓ Output folder ready → _ventures/');
247
+
248
+ // 4. Create .gitignore if missing
249
+ const gitignorePath = path.join(targetDir, '.gitignore');
250
+ if (!fs.existsSync(gitignorePath)) {
251
+ fs.writeFileSync(
252
+ gitignorePath,
253
+ '# VentureOS outputs\n_ventures/\nnode_modules/\n.DS_Store\n',
254
+ 'utf8'
255
+ );
256
+ console.log(' ✓ .gitignore created');
257
+ }
258
+
259
+ // ── Done ──────────────────────────────────────────────────────────────────
260
+ console.log('\n' + line());
261
+ console.log(' ✅ VentureOS is ready!');
262
+ console.log(line());
263
+
264
+ showNextSteps(llm, ventureOSDir, targetDir);
265
+
266
+ } catch (err) {
267
+ rl.close();
268
+ if (err.code === 'ERR_USE_AFTER_CLOSE') return; // User Ctrl+C'd
269
+ console.error('\n ❌ Installation error:', err.message);
270
+ process.exit(1);
271
+ }
272
+ }
273
+
274
+ main();
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "ventureos",
3
+ "version": "1.0.0",
4
+ "description": "VentureOS — AI-powered venture building framework. From raw idea to investor-ready pitch in 12 structured weeks.",
5
+ "type": "module",
6
+ "bin": {
7
+ "ventureos": "./install.js"
8
+ },
9
+ "scripts": {
10
+ "install-local": "node install.js"
11
+ },
12
+ "files": [
13
+ "install.js",
14
+ "venture-master.md",
15
+ "workflow-engine.md",
16
+ "config.yaml",
17
+ "README.md",
18
+ "SETUP.md",
19
+ "agents/",
20
+ "workflows/",
21
+ "templates/",
22
+ "scoring/",
23
+ "techniques/",
24
+ "_memory/"
25
+ ],
26
+ "keywords": [
27
+ "venture-building",
28
+ "startup",
29
+ "incubation",
30
+ "ai-agents",
31
+ "pitch-deck",
32
+ "product-strategy"
33
+ ],
34
+ "license": "MIT",
35
+ "engines": {
36
+ "node": ">=18.0.0"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/ABTB93/ventureos.git"
41
+ },
42
+ "homepage": "https://github.com/ABTB93/ventureos#readme"
43
+ }
@@ -0,0 +1,100 @@
1
+ # Gate Evaluation Rubric — weighted scoring for Go/Pivot/Kill decisions
2
+ # Used by Venture Evaluator at both Check-in Gate (~Week 8) and Final Gate (~Week 12)
3
+
4
+ rubric:
5
+ criteria:
6
+ - id: customer_pain_validation
7
+ label: "Customer Pain Validation"
8
+ weight: 0.20
9
+ description: "Evidence of real, validated customer pain (frequency, intensity, prevalence)"
10
+ scoring_guide:
11
+ 5: "Strong quantitative pain scores across 20+ interviews; clear FIP data; buyer and user both identified"
12
+ 4: "Good pain evidence from 10-20 interviews; pain atomization complete; ICP defined"
13
+ 3: "Some interview evidence; pain hypothesis partially validated; ICP emerging"
14
+ 2: "Minimal interviews; pain mostly hypothetical; ICP unclear"
15
+ 1: "No customer interviews; pain assumed not validated"
16
+
17
+ - id: market_opportunity
18
+ label: "Market Opportunity Size"
19
+ weight: 0.15
20
+ description: "Market size attractiveness and growth trajectory"
21
+ scoring_guide:
22
+ 5: "Large, fast-growing market (TAM >$1B); clear SAM/SOM; barriers identified and manageable"
23
+ 4: "Solid market ($500M-$1B TAM); growing; some barriers identified"
24
+ 3: "Moderate market ($100M-$500M TAM); moderate growth"
25
+ 2: "Small or unclear market (<$100M TAM); slow growth"
26
+ 1: "Tiny market or no sizing done"
27
+
28
+ - id: wedge_differentiation
29
+ label: "Wedge Clarity & Differentiation"
30
+ weight: 0.15
31
+ description: "Clarity of wedge strategy and unique value vs. existing alternatives"
32
+ scoring_guide:
33
+ 5: "Crystal clear wedge definition; strong tested value proposition; validated differentiation; wedge-to-vision scaling hypothesis articulated"
34
+ 4: "Clear wedge with tested value props; some differentiation evidence"
35
+ 3: "Wedge defined but not yet fully tested; differentiation assumed"
36
+ 2: "Vague wedge; value props untested"
37
+ 1: "No wedge defined"
38
+
39
+ - id: business_model_viability
40
+ label: "Business Model & Revenue Viability"
41
+ weight: 0.15
42
+ description: "Clear path to revenue with diverse, robust revenue streams"
43
+ scoring_guide:
44
+ 5: "Multiple validated revenue streams; pricing tested; monetisation plan clear; unit economics positive"
45
+ 4: "Revenue model defined; pricing strategy developed; basic unit economics"
46
+ 3: "Revenue model selected; pricing exploratory"
47
+ 2: "Revenue model vague; no pricing work"
48
+ 1: "No business model thinking"
49
+
50
+ - id: traction_experiments
51
+ label: "Traction / Market Experiment Results"
52
+ weight: 0.15
53
+ description: "Evidence from real market experiments (landing pages, pilots, conversions)"
54
+ scoring_guide:
55
+ 5: "Landing page live with conversion data; CAC calculated; pilot customers engaged; A/B test results; strong desirability scores"
56
+ 4: "Some experiment results; pilot pipeline identified; early conversion data"
57
+ 3: "Experiments planned; pilot outreach started"
58
+ 2: "No experiments run; pipeline empty"
59
+ 1: "No market testing at all"
60
+
61
+ - id: technical_feasibility
62
+ label: "Technical Feasibility"
63
+ weight: 0.10
64
+ description: "Evidence the solution can be built (build/buy/partner/invest)"
65
+ scoring_guide:
66
+ 5: "Prototype built; feasibility fully assessed; build/buy/partner strategy decided; ecosystem mapped"
67
+ 4: "Feasibility assessed; prototype in progress; clear technical path"
68
+ 3: "Feasibility analysis done; technical path defined"
69
+ 2: "High-level feasibility only; many unknowns"
70
+ 1: "No feasibility assessment"
71
+
72
+ - id: mothership_team_readiness
73
+ label: "Mothership Advantage & Team Readiness"
74
+ weight: 0.10
75
+ description: "Leverage of mothership assets and team capability to execute"
76
+ scoring_guide:
77
+ 5: "Asset Jam complete; clear mothership advantages being leveraged; sponsor aligned; team charter complete; operating plan ready"
78
+ 4: "Key mothership assets identified; sponsor engaged; team roles clear"
79
+ 3: "Some mothership assets identified; team partially formed"
80
+ 2: "Minimal mothership leverage; team incomplete"
81
+ 1: "No mothership engagement; team undefined"
82
+
83
+ thresholds:
84
+ go:
85
+ min_score: 3.5
86
+ description: "Venture is ready for acceleration and investor pitch"
87
+ pivot:
88
+ min_score: 2.5
89
+ max_score: 3.49
90
+ description: "Venture shows promise but needs directional change before continuing"
91
+ kill:
92
+ max_score: 2.49
93
+ description: "Evidence does not support continued investment; archive with learnings"
94
+
95
+ checkin_gate:
96
+ note: "At check-in gate, traction/experiments and full business model are not yet expected. Focus evaluation on pain validation, market opportunity, and wedge hypothesis."
97
+ focus_criteria:
98
+ - customer_pain_validation
99
+ - market_opportunity
100
+ - wedge_differentiation