fraim-framework 2.0.36 → 2.0.38

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 (192) hide show
  1. package/bin/fraim.js +5 -52
  2. package/dist/registry/scripts/build-scripts-generator.js +205 -0
  3. package/dist/registry/scripts/fraim-config.js +61 -0
  4. package/dist/registry/scripts/generic-issues-api.js +100 -0
  5. package/dist/registry/scripts/openapi-generator.js +664 -0
  6. package/dist/registry/scripts/performance/profile-server.js +390 -0
  7. package/dist/scripts/build-stub-registry.js +108 -0
  8. package/dist/src/cli/commands/doctor.js +5 -5
  9. package/dist/src/cli/commands/init-project.js +74 -0
  10. package/dist/src/cli/commands/setup.js +176 -0
  11. package/dist/src/cli/commands/sync.js +33 -19
  12. package/dist/src/cli/commands/test-mcp.js +135 -0
  13. package/dist/src/cli/fraim.js +6 -0
  14. package/dist/src/cli/setup/auto-mcp-setup.js +367 -0
  15. package/dist/src/cli/setup/ide-detector.js +163 -0
  16. package/dist/src/cli/setup/mcp-config-generator.js +115 -0
  17. package/dist/src/cli/setup/token-validator.js +49 -0
  18. package/dist/test-utils.js +96 -0
  19. package/dist/tests/debug-tools.js +2 -2
  20. package/dist/tests/esm-compat.js +11 -0
  21. package/dist/tests/shared-server-utils.js +57 -0
  22. package/dist/tests/test-chalk-esm-issue.js +159 -0
  23. package/dist/tests/test-chalk-real-world.js +265 -0
  24. package/dist/tests/test-chalk-regression.js +2 -18
  25. package/dist/tests/test-chalk-resolution-issue.js +304 -0
  26. package/dist/tests/test-client-scripts-validation.js +27 -5
  27. package/dist/tests/test-complete-setup-flow.js +110 -0
  28. package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
  29. package/dist/tests/test-ide-detector.js +46 -0
  30. package/dist/tests/test-improved-setup.js +121 -0
  31. package/dist/tests/test-mcp-config-generator.js +70 -0
  32. package/dist/tests/test-mcp-connection.js +58 -117
  33. package/dist/tests/test-mcp-issue-integration.js +2 -2
  34. package/dist/tests/test-mcp-lifecycle-methods.js +34 -100
  35. package/dist/tests/test-mcp-shared-server.js +308 -0
  36. package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
  37. package/dist/tests/test-package-size.js +101 -0
  38. package/dist/tests/test-prep-issue.js +34 -1
  39. package/dist/tests/test-script-location-independence.js +39 -62
  40. package/dist/tests/test-server-utils.js +32 -0
  41. package/dist/tests/test-session-rehydration.js +2 -2
  42. package/dist/tests/test-setup-integration.js +98 -0
  43. package/dist/tests/test-standalone.js +2 -2
  44. package/dist/tests/test-stub-registry.js +136 -0
  45. package/dist/tests/test-sync-stubs.js +143 -0
  46. package/dist/tests/test-telemetry.js +2 -2
  47. package/dist/tests/test-token-validator.js +30 -0
  48. package/dist/tests/test-user-journey.js +2 -1
  49. package/package.json +7 -9
  50. package/registry/agent-guardrails.md +62 -62
  51. package/registry/scripts/code-quality-check.sh +559 -559
  52. package/registry/scripts/detect-tautological-tests.sh +38 -38
  53. package/registry/scripts/prep-issue.sh +61 -30
  54. package/registry/scripts/validate-openapi-limits.ts +366 -366
  55. package/registry/scripts/validate-test-coverage.ts +280 -280
  56. package/registry/scripts/verify-pr-comments.sh +70 -70
  57. package/registry/stubs/workflows/bootstrap/create-architecture.md +11 -0
  58. package/registry/stubs/workflows/bootstrap/detect-broken-windows.md +11 -0
  59. package/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +11 -0
  60. package/registry/stubs/workflows/bootstrap/verify-test-coverage.md +11 -0
  61. package/registry/stubs/workflows/business-development/create-business-plan.md +11 -0
  62. package/registry/stubs/workflows/business-development/ideate-business-opportunity.md +11 -0
  63. package/registry/stubs/workflows/business-development/price-product.md +18 -0
  64. package/registry/stubs/workflows/convert-to-pdf.md +11 -0
  65. package/registry/stubs/workflows/customer-development/insight-analysis.md +11 -0
  66. package/registry/stubs/workflows/customer-development/insight-triage.md +11 -0
  67. package/registry/stubs/workflows/customer-development/interview-preparation.md +11 -0
  68. package/registry/stubs/workflows/customer-development/linkedin-outreach.md +11 -0
  69. package/registry/stubs/workflows/customer-development/strategic-brainstorming.md +11 -0
  70. package/registry/stubs/workflows/customer-development/thank-customers.md +11 -0
  71. package/registry/stubs/workflows/customer-development/weekly-newsletter.md +11 -0
  72. package/registry/stubs/workflows/deploy/cloud-deployment.md +11 -0
  73. package/registry/stubs/workflows/improve-fraim/contribute.md +11 -0
  74. package/registry/stubs/workflows/improve-fraim/file-issue.md +11 -0
  75. package/registry/stubs/workflows/marketing/content-creation.md +11 -0
  76. package/registry/stubs/workflows/marketing/hbr-article.md +11 -0
  77. package/registry/stubs/workflows/marketing/launch-checklist.md +11 -0
  78. package/registry/stubs/workflows/marketing/marketing-strategy.md +11 -0
  79. package/registry/stubs/workflows/marketing/storytelling.md +11 -0
  80. package/registry/stubs/workflows/performance/analyze-performance.md +11 -0
  81. package/registry/stubs/workflows/product-building/design.md +11 -0
  82. package/registry/stubs/workflows/product-building/implement.md +12 -0
  83. package/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +11 -0
  84. package/registry/stubs/workflows/product-building/prep-issue.md +11 -0
  85. package/registry/stubs/workflows/product-building/prototype.md +11 -0
  86. package/registry/stubs/workflows/product-building/resolve.md +11 -0
  87. package/registry/stubs/workflows/product-building/retrospect.md +11 -0
  88. package/registry/stubs/workflows/product-building/spec.md +11 -0
  89. package/registry/stubs/workflows/product-building/test.md +11 -0
  90. package/registry/stubs/workflows/quality-assurance/browser-validation.md +11 -0
  91. package/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +11 -0
  92. package/registry/stubs/workflows/replicate/replicate-discovery.md +11 -0
  93. package/registry/stubs/workflows/replicate/replicate-to-issues.md +11 -0
  94. package/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +11 -0
  95. package/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +11 -0
  96. package/registry/stubs/workflows/startup-credits/aws-activate-application.md +11 -0
  97. package/registry/stubs/workflows/startup-credits/google-cloud-application.md +11 -0
  98. package/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +11 -0
  99. package/.github/workflows/ci.yml +0 -65
  100. package/.github/workflows/deploy-fraim.yml +0 -87
  101. package/.github/workflows/phase-change.yml +0 -251
  102. package/.github/workflows/status-change.yml +0 -68
  103. package/.github/workflows/sync-on-pr-review.yml +0 -66
  104. package/examples/simple-webapp/TESTING.md +0 -62
  105. package/examples/simple-webapp/example-test.ts +0 -186
  106. package/registry/github/workflows/ci.yml +0 -51
  107. package/registry/github/workflows/phase-change.yml +0 -251
  108. package/registry/github/workflows/status-change.yml +0 -68
  109. package/registry/github/workflows/sync-on-pr-review.yml +0 -66
  110. package/registry/mcp-template.jsonc +0 -29
  111. package/registry/rules/agent-success-criteria.md +0 -52
  112. package/registry/rules/agent-testing-guidelines.md +0 -502
  113. package/registry/rules/architecture.md +0 -52
  114. package/registry/rules/communication.md +0 -122
  115. package/registry/rules/continuous-learning.md +0 -55
  116. package/registry/rules/debugging-multitenancy-issues.md +0 -85
  117. package/registry/rules/ephemeral-execution.md +0 -57
  118. package/registry/rules/git-safe-commands.md +0 -34
  119. package/registry/rules/hitl-ppe-record-analysis.md +0 -302
  120. package/registry/rules/integrity-and-test-ethics.md +0 -275
  121. package/registry/rules/local-development.md +0 -254
  122. package/registry/rules/merge-requirements.md +0 -231
  123. package/registry/rules/simplicity.md +0 -118
  124. package/registry/rules/software-development-lifecycle.md +0 -105
  125. package/registry/rules/spike-first-development.md +0 -205
  126. package/registry/rules/successful-debugging-patterns.md +0 -491
  127. package/registry/rules/telemetry.md +0 -67
  128. package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
  129. package/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
  130. package/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
  131. package/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
  132. package/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
  133. package/registry/templates/customer-development/customer-interview-template.md +0 -99
  134. package/registry/templates/customer-development/follow-up-email-templates.md +0 -132
  135. package/registry/templates/customer-development/insight-analysis-template.md +0 -74
  136. package/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
  137. package/registry/templates/customer-development/thank-you-email-template.html +0 -124
  138. package/registry/templates/customer-development/thank-you-note-template.md +0 -16
  139. package/registry/templates/customer-development/triage-log-template.md +0 -278
  140. package/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
  141. package/registry/templates/evidence/Design-Evidence.md +0 -30
  142. package/registry/templates/evidence/Implementation-BugEvidence.md +0 -86
  143. package/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -121
  144. package/registry/templates/evidence/Spec-Evidence.md +0 -19
  145. package/registry/templates/help/HelpNeeded.md +0 -14
  146. package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
  147. package/registry/templates/replicate/implementation-checklist.md +0 -39
  148. package/registry/templates/replicate/use-cases-template.md +0 -88
  149. package/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
  150. package/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
  151. package/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -29
  152. package/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
  153. package/registry/workflows/bootstrap/create-architecture.md +0 -38
  154. package/registry/workflows/bootstrap/evaluate-code-quality.md +0 -36
  155. package/registry/workflows/bootstrap/verify-test-coverage.md +0 -37
  156. package/registry/workflows/business-development/create-business-plan.md +0 -737
  157. package/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
  158. package/registry/workflows/business-development/price-product.md +0 -325
  159. package/registry/workflows/convert-to-pdf.md +0 -235
  160. package/registry/workflows/customer-development/insight-analysis.md +0 -156
  161. package/registry/workflows/customer-development/insight-triage.md +0 -933
  162. package/registry/workflows/customer-development/interview-preparation.md +0 -421
  163. package/registry/workflows/customer-development/linkedin-outreach.md +0 -593
  164. package/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
  165. package/registry/workflows/customer-development/thank-customers.md +0 -203
  166. package/registry/workflows/customer-development/weekly-newsletter.md +0 -366
  167. package/registry/workflows/deploy/cloud-deployment.md +0 -310
  168. package/registry/workflows/improve-fraim/contribute.md +0 -32
  169. package/registry/workflows/improve-fraim/file-issue.md +0 -32
  170. package/registry/workflows/marketing/content-creation.md +0 -37
  171. package/registry/workflows/marketing/hbr-article.md +0 -73
  172. package/registry/workflows/marketing/launch-checklist.md +0 -37
  173. package/registry/workflows/marketing/marketing-strategy.md +0 -45
  174. package/registry/workflows/performance/analyze-performance.md +0 -65
  175. package/registry/workflows/product-building/design.md +0 -130
  176. package/registry/workflows/product-building/implement.md +0 -315
  177. package/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
  178. package/registry/workflows/product-building/prep-issue.md +0 -43
  179. package/registry/workflows/product-building/prototype.md +0 -60
  180. package/registry/workflows/product-building/resolve.md +0 -164
  181. package/registry/workflows/product-building/retrospect.md +0 -86
  182. package/registry/workflows/product-building/spec.md +0 -117
  183. package/registry/workflows/product-building/test.md +0 -120
  184. package/registry/workflows/quality-assurance/browser-validation.md +0 -221
  185. package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
  186. package/registry/workflows/replicate/replicate-discovery.md +0 -336
  187. package/registry/workflows/replicate/replicate-to-issues.md +0 -319
  188. package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -632
  189. package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -669
  190. package/registry/workflows/startup-credits/aws-activate-application.md +0 -535
  191. package/registry/workflows/startup-credits/google-cloud-application.md +0 -647
  192. package/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
@@ -1,55 +0,0 @@
1
- # Workflow: ideate-business-opportunity
2
-
3
- **Path:** `workflows/business-development/ideate-business-opportunity.md`
4
-
5
- ---
6
-
7
- # Ideate Business Opportunity Phase
8
-
9
- ## INTENT
10
- To help founders and product owners navigate the broad, fuzzy front-end of product development. This workflow guides the transition from a "vague space" to "concrete feature deliverables" through interactive brainstorming and research.
11
-
12
- ## PRINCIPLES
13
- - **Interactive Exploration**: This is not a one-shot process. It requires multiple cycles of feedback.
14
- - **Founder-Led**: The founder's intuition is the compass; the agent provides the map and vehicle.
15
- - **Outcome-Oriented**: The goal is NOT just a list of ideas, but a prioritized, repo-ready backlog.
16
- - **Divergent Thinking**:
17
- - **Defer Judgment**: Do not criticize or discard ideas in the early stages.
18
- - **Go for Volume**: Quantity often leads to quality. Aim for a wide range of options.
19
- - **Cross-Pollinate**: Combine unrelated concepts or industries to find unique angles.
20
- - **Challenge Constraints**: Ask "What if X wasn't a limitation?"
21
- - **Interactive Refinement**: Use feedback to branch into new directions, even if they seem tangential.
22
-
23
- ## IDEATION WORKFLOW
24
-
25
- ### Step 1: Broad Mapping (Divergent)
26
- - Ask the founder for their initial "Spark" or "Space".
27
- - **Exploration Protocol**:
28
- - When an idea is proposed, respond with 3-5 distinct "What if" scenarios or variations.
29
- - Avoid saying "That's not possible" or "That's too expensive" during this stage.
30
- - Use tools to describe or visualize the space before narrowing down.
31
- - Generate 3-5 distinct sub-spaces or "angles" within that spark.
32
- - **Exit Criteria**: Founder chooses 1-2 directions to explore further.
33
-
34
- ### Step 2: Interactive Research & Validation
35
- - For the chosen directions, research:
36
- - Existing competitors (even indirect ones).
37
- - Potential user personas.
38
- - Technical feasibility (high-level).
39
- - Present findings and ask for "Pivot or Persevere" feedback.
40
-
41
- ### Step 3: Feature Synthesis (Convergent)
42
- - Based on the validated direction, brainstorm a set of potential features.
43
- - Map features against: **Complexity** vs. **Value**.
44
- - **Exit Criteria**: Founder approves a "Hero" feature and 3-5 supporting features.
45
-
46
- ### Step 4: Repository Documentation
47
- - Formalize the findings into a report.
48
- - **ACTION**: Call `get_fraim_file({ path: "templates/business-development/IDEATION-REPORT-TEMPLATE.md" })`.
49
- - Create `docs/ideation/{YYYYMMDD}-{project-name}.md`.
50
- - **Outcome**: A file that a PM agent can use to write `specs`.
51
-
52
- ## OUTPUT
53
- - `docs/ideation/[project].md`
54
- - Prioritized Feature Backlog
55
- - High-level Vision & Persona Map
@@ -1,325 +0,0 @@
1
- ## INTENT
2
-
3
- To create a comprehensive **pricing + packaging strategy** for any product that:
4
-
5
- * clarifies who the product is for and what outcomes it delivers,
6
- * defines SKUs, tiers, add-ons, and the pricing metric,
7
- * ties pricing to unit economics and scalability,
8
- * and positions the product clearly against competitors and substitutes.
9
-
10
- ---
11
-
12
- ## PRINCIPLES
13
-
14
- * **Outcome-first**: Price and packaging must map to customer outcomes, not features
15
- * **Simple packaging**: Fewer SKUs, clearer upgrade path, lower decision friction
16
- * **Credible claims**: Use evidence, ranges, and benchmarks; avoid brittle promises
17
- * **Economic grounding**: Every SKU must connect to COGS, margin targets, and scalability limits
18
- * **Competitive honesty**: Don’t invent competitor pricing; cite sources or state “not public”
19
- * **Procurement-friendly**: Prefer predictable add-ons/tiers over opaque metered token pricing
20
- * **Reusable framework**: The same structure should work for B2B, B2C, SaaS, services, and hybrid models
21
- * **Citations required**: All competitive facts should be sourced with dates
22
-
23
- ---
24
-
25
- ## WORKFLOW OVERVIEW
26
-
27
- This workflow produces a single comprehensive document (`docs/business-development/pricing-strategy.md`) that follows the template in `templates/business-development/PRICING-STRATEGY-TEMPLATE.md`.
28
-
29
- ---
30
-
31
- ## STEP-BY-STEP WORKFLOW
32
-
33
- ### Step 1: Product Context Gathering
34
-
35
- **Objective:** Understand the product, buyer, and constraints.
36
-
37
- **Actions:**
38
-
39
- 1. Capture product one-liner and primary outcomes
40
- 2. Identify who pays vs who uses (buyer vs end user)
41
- 3. Define product type: SaaS, usage-based, services, hybrid
42
- 4. Capture current stage: MVP/beta/GA and current pricing (if any)
43
- 5. Capture business constraints:
44
-
45
- * margin targets
46
- * delivery capacity (if services/hybrid)
47
- * sales motion (self-serve vs sales-led)
48
- * contract constraints (annual, PO, procurement)
49
-
50
- **Output:** Product context section (10–20 bullets)
51
-
52
- ---
53
-
54
- ### Step 2: Customer Segmentation (ICP + willingness-to-pay)
55
-
56
- **Objective:** Identify 3–7 segments with different value and pricing sensitivity.
57
-
58
- **Process:**
59
-
60
- 1. Brainstorm segments by pain intensity and frequency
61
- 2. Score each segment:
62
-
63
- * Pain intensity
64
- * Frequency of use
65
- * Budget owner clarity
66
- * Willingness to pay
67
- * Ease of reach (distribution)
68
- * Competitive alternatives
69
- 3. Select 2–4 priority segments (tip-of-the-spear)
70
- 4. For each segment document:
71
-
72
- * Customer profile
73
- * Job-to-be-done
74
- * Core pains
75
- * Current alternatives
76
- * Buying process and budget source
77
- * Success metrics they care about
78
-
79
- **Output:** Segment cards + segment comparison table
80
-
81
- ---
82
-
83
- ### Step 3: Outcome Narrative (the “why” before pricing)
84
-
85
- **Objective:** Build an exec-readable narrative that sets up the pricing table.
86
-
87
- **Actions:**
88
-
89
- 1. Write a headline framing value (speed, cost, quality, risk reduction, revenue)
90
- 2. Explain why outcomes vary with usage maturity (if applicable)
91
- 3. Describe the customer journey in 3 “paths” or “maturity levels” (optional but powerful):
92
-
93
- * Self-serve power user
94
- * Guided/coached adopter
95
- * Managed delivery / done-for-you (if offered)
96
- 4. Add a clear CTA (“If you’re here and want to be there…”)
97
-
98
- **Output:** One-page narrative suitable for a brochure
99
-
100
- ---
101
-
102
- ### Step 4: Define Packaging (SKUs, tiers, and boundaries)
103
-
104
- **Objective:** Create a SKU/tier map that is simple and scalable.
105
-
106
- **Actions:**
107
-
108
- 1. Define 3–6 SKUs by **customer need** (e.g., role-based, module-based, team-based, use-case-based)
109
- 2. Define tiers (Good/Better/Best) or maturity tiers (Self-serve / Guided / Managed)
110
- 3. For each SKU/tier define:
111
-
112
- * Outcomes delivered
113
- * Included capabilities
114
- * Exclusions/limits (what’s not included)
115
- * Primary success metrics
116
- * Who it’s for (buyer/user)
117
- 4. Ensure upgrade path is explicit:
118
-
119
- * When to move up a tier
120
- * What triggers expansion (more users, more volume, more scope)
121
-
122
- **Output:** SKU catalog + tier comparison table
123
-
124
- ---
125
-
126
- ### Step 5: Choose a Pricing Metric (what you charge “per”)
127
-
128
- **Objective:** Pick a pricing unit that scales with value and is hard to game.
129
-
130
- **Common metrics (choose 1 primary):**
131
-
132
- * Per user / seat
133
- * Per team / workspace
134
- * Per project
135
- * Per workflow/run
136
- * Per asset (e.g., report, doc, build, analysis)
137
- * Per integration
138
- * % of spend / % of savings (rare; needs strong proof)
139
- * Tiered capacity bundles (recommended for predictability)
140
-
141
- **Selection criteria:**
142
-
143
- * Aligns with value
144
- * Understandable to buyers
145
- * Predictable billing
146
- * Resistant to abuse
147
- * Matches cost-to-serve drivers
148
-
149
- **Output:** Pricing metric decision + rationale + alternatives rejected
150
-
151
- ---
152
-
153
- ### Step 6: Build the Price List (tables first, numbers second)
154
-
155
- **Objective:** Produce clean pricing tables and packaging rules.
156
-
157
- **Actions:**
158
-
159
- 1. Start with a single “hero” table (e.g., 3 columns × 3 rows):
160
-
161
- * Columns = tiers/maturity levels
162
- * Rows = what you get (outcomes), what you save/earn, what you pay
163
- 2. Expand into:
164
-
165
- * SKU × tier grid (if needed)
166
- * Add-on list
167
- 3. Define discounting:
168
-
169
- * annual prepay discount
170
- * volume discount principles
171
- * partner/channel margins (if relevant)
172
-
173
- **Output:** Pricing tables + add-ons + discount rules
174
-
175
- ---
176
-
177
- ### Step 7: Unit Economics + Scalability Model
178
-
179
- **Objective:** Ensure pricing is profitable, defensible, and scalable.
180
-
181
- **Actions:**
182
-
183
- 1. Identify COGS drivers:
184
-
185
- * compute/infrastructure
186
- * support burden
187
- * onboarding/training
188
- * professional services / delivery labor
189
- * third-party fees
190
- 2. For each SKU/tier estimate:
191
-
192
- * expected usage / volume
193
- * expected support hours
194
- * expected compute cost
195
- * gross margin target
196
- 3. Model edge cases:
197
-
198
- * power users
199
- * low-usage churners
200
- * heavy-support customers
201
- 4. Define guardrails:
202
-
203
- * caps
204
- * fair-use limits
205
- * paid add-on packs for overflow
206
- * staffing ratios (if managed services)
207
-
208
- **Output:** Unit economics assumptions table + margin estimates by SKU/tier
209
-
210
- ---
211
-
212
- ### Step 8: Competitive Landscape & Positioning (research required)
213
-
214
- **Objective:** Build a credible pricing/positioning story vs alternatives.
215
-
216
- **Actions:**
217
-
218
- 1. Identify 10–20 competitors/substitutes across:
219
-
220
- * direct competitors
221
- * adjacent tools
222
- * “do nothing/manual”
223
- * agencies/contractors (if relevant)
224
- 2. For each competitor:
225
-
226
- * what they sell
227
- * who buys
228
- * pricing model (cite sources, include dates)
229
- * strengths/weaknesses vs your product
230
- 3. Synthesize:
231
-
232
- * differentiation pillars (3–5)
233
- * win/loss reasons
234
- * objection handling talk tracks
235
-
236
- **Output:** Competitive matrix + positioning section (with citations)
237
-
238
- ---
239
-
240
- ### Step 9: Risks, Objections, and Mitigations
241
-
242
- **Objective:** Preempt the hardest questions and reduce churn risk.
243
-
244
- **Actions:**
245
-
246
- * Identify 5–10 risks:
247
-
248
- * credibility of claims
249
- * adoption friction
250
- * pricing confusion
251
- * margin erosion
252
- * scaling services
253
- * procurement/security concerns
254
- * competitor response
255
- * For each:
256
-
257
- * impact
258
- * mitigation
259
- * owner
260
- * measurable leading indicator
261
-
262
- **Output:** Risk table
263
-
264
- ---
265
-
266
- ### Step 10: Validation Plan (pricing experiments + rollout)
267
-
268
- **Objective:** Test assumptions quickly before locking prices.
269
-
270
- **Actions:**
271
-
272
- 1. Define experiments:
273
-
274
- * price sensitivity interviews (Van Westendorp / Gabor-Granger style)
275
- * landing page A/B price anchoring
276
- * pilot offers with 2–3 packaging variants
277
- * sales-led quote testing
278
- 2. Define metrics:
279
-
280
- * conversion
281
- * activation/time-to-value
282
- * expansion
283
- * churn
284
- * support burden
285
- * gross margin
286
- 3. Create 30/60/90 day plan
287
-
288
- **Output:** Validation plan + timeline + decision points
289
-
290
- ---
291
-
292
- ## References
293
- - All citations with date + URL
294
- ```
295
-
296
- ---
297
-
298
- ## QUALITY CHECKLIST
299
-
300
- ### Content
301
-
302
- * [ ] Pricing is outcome-first, not feature-first
303
- * [ ] SKUs/tiers are simple with a clear upgrade path
304
- * [ ] Pricing metric is understandable and predictable
305
- * [ ] Add-ons reduce edge-case margin risk
306
- * [ ] Sales motion is supported (self-serve vs sales-led)
307
-
308
- ### Economics
309
-
310
- * [ ] COGS drivers identified and bounded
311
- * [ ] Gross margin targets by tier are explicit
312
- * [ ] Guardrails (caps/add-ons) prevent abuse and margin collapse
313
-
314
- ### Competitive
315
-
316
- * [ ] No invented competitor pricing
317
- * [ ] Citations + dates included for competitive facts
318
- * [ ] Win/loss reasons are honest and actionable
319
-
320
- ### Validation
321
-
322
- * [ ] At least 3 pricing experiments defined
323
- * [ ] Metrics are clear and decision points are scheduled
324
-
325
- ---
@@ -1,235 +0,0 @@
1
- # Convert to PDF Workflow
2
-
3
- ## INTENT
4
- To provide agents with a reliable workflow for converting markdown files to professional PDF documents, enabling seamless document sharing and archival while maintaining formatting integrity and visual appeal.
5
-
6
- ## PRINCIPLES
7
- - **Format Preservation**: Maintain all markdown formatting including tables, code blocks, and images
8
- - **Professional Output**: Generate clean, readable PDFs suitable for business use
9
- - **Flexible Configuration**: Support various paper formats, margins, and styling options
10
- - **Error Resilience**: Handle common conversion issues gracefully with clear error messages
11
- - **Cross-Platform Compatibility**: Work consistently across Windows, macOS, and Linux
12
-
13
- ## Overview
14
- This workflow guides agents through converting markdown files to PDF format using the markdown-to-pdf script. The conversion maintains formatting, supports code highlighting, tables, and images while producing professional-looking PDF documents.
15
-
16
- ## When to Use
17
- - User requests converting markdown documentation to PDF
18
- - Need to generate PDF reports from markdown content
19
- - Creating printable versions of specifications or documentation
20
- - Sharing formatted documents with stakeholders who prefer PDF format
21
- - Archiving documentation in a portable format
22
-
23
- ## Prerequisites
24
- Before using this workflow, ensure the following dependencies are installed:
25
-
26
- ```bash
27
- npm install puppeteer markdown-it markdown-it-highlightjs
28
- ```
29
-
30
- ## Script Location
31
- The conversion script is synced to: `~/.fraim/scripts/markdown-to-pdf.js`
32
-
33
- ## Workflow Steps
34
-
35
- ### Phase 1: Validate Environment
36
-
37
- 1. **Check Dependencies**
38
- ```bash
39
- node -e "console.log('puppeteer:', require.resolve('puppeteer')); console.log('markdown-it:', require.resolve('markdown-it')); console.log('markdown-it-highlightjs:', require.resolve('markdown-it-highlightjs'));"
40
- ```
41
-
42
- 2. **Verify Script Availability**
43
- - Confirm `~/.fraim/scripts/markdown-to-pdf.js` exists
44
- - Check script permissions (executable on Unix systems)
45
-
46
- 3. **Test Basic Functionality**
47
- ```bash
48
- node ~/.fraim/scripts/markdown-to-pdf.js --help
49
- ```
50
-
51
- ### Phase 2: Prepare Input
52
-
53
- 1. **Validate Input File**
54
- - Confirm markdown file exists and is readable
55
- - Check for any syntax issues in markdown
56
- - Verify image paths are correct and accessible
57
-
58
- 2. **Determine Output Requirements**
59
- - Ask user about desired output location
60
- - Confirm paper format preferences (A4, Letter, etc.)
61
- - Check if custom styling is needed
62
- - Determine header/footer requirements
63
-
64
- 3. **Prepare Output Directory**
65
- - Ensure output directory exists
66
- - Verify write permissions
67
-
68
- ### Phase 3: Execute Conversion
69
-
70
- 1. **Basic Conversion**
71
- ```bash
72
- node ~/.fraim/scripts/markdown-to-pdf.js <input.md>
73
- ```
74
-
75
- 2. **Advanced Conversion with Options**
76
- ```bash
77
- node ~/.fraim/scripts/markdown-to-pdf.js <input.md> [output.pdf] [options]
78
- ```
79
-
80
- 3. **Monitor Progress**
81
- - Watch for error messages
82
- - Verify successful completion
83
- - Check output file size and accessibility
84
-
85
- ### Phase 4: Validate Output
86
-
87
- 1. **Verify PDF Generation**
88
- - Confirm PDF file was created
89
- - Check file size is reasonable
90
- - Verify file is not corrupted
91
-
92
- 2. **Quality Check**
93
- - Review formatting preservation
94
- - Check image rendering
95
- - Verify code block highlighting
96
- - Confirm table alignment
97
-
98
- 3. **User Acceptance**
99
- - Share output location with user
100
- - Confirm output meets requirements
101
- - Offer to regenerate with different options if needed
102
-
103
- ### Available Options
104
-
105
- | Option | Description | Example |
106
- |--------|-------------|---------|
107
- | `--format <format>` | Paper format (A4, Letter, Legal, etc.) | `--format Letter` |
108
- | `--margin <margin>` | Page margins in inches | `--margin 1` |
109
- | `--css <file>` | Custom CSS file for styling | `--css custom.css` |
110
- | `--header <text>` | Header text | `--header "Company Report"` |
111
- | `--footer <text>` | Footer text | `--footer "Page <span class='pageNumber'></span>"` |
112
- | `--landscape` | Use landscape orientation | `--landscape` |
113
- | `--no-background` | Disable background graphics | `--no-background` |
114
-
115
- ### Common Examples
116
-
117
- 1. **Basic conversion:**
118
- ```bash
119
- node ~/.fraim/scripts/markdown-to-pdf.js README.md
120
- ```
121
-
122
- 2. **Specify output location:**
123
- ```bash
124
- node ~/.fraim/scripts/markdown-to-pdf.js docs/spec.md output/specification.pdf
125
- ```
126
-
127
- 3. **Letter format with custom margins:**
128
- ```bash
129
- node ~/.fraim/scripts/markdown-to-pdf.js report.md --format Letter --margin 0.75
130
- ```
131
-
132
- 4. **With custom styling:**
133
- ```bash
134
- node ~/.fraim/scripts/markdown-to-pdf.js document.md --css styles/custom.css --header "Project Documentation"
135
- ```
136
-
137
- 5. **Landscape orientation:**
138
- ```bash
139
- node ~/.fraim/scripts/markdown-to-pdf.js wide-table.md --landscape --format A3
140
- ```
141
-
142
- ## Agent Instructions
143
-
144
- When a user requests markdown to PDF conversion:
145
-
146
- 1. **Identify the source file(s)**: Confirm which markdown file(s) need to be converted
147
- 2. **Check dependencies**: Verify that required npm packages are installed
148
- 3. **Determine output requirements**: Ask about:
149
- - Desired output location
150
- - Paper format preferences
151
- - Custom styling needs
152
- - Header/footer requirements
153
- 4. **Execute conversion**: Run the appropriate command with the specified options
154
- 5. **Verify output**: Confirm the PDF was generated successfully and meets requirements
155
-
156
- ### Error Handling
157
-
158
- If the script fails:
159
- - Check that all dependencies are installed
160
- - Verify the input file exists and is readable
161
- - Ensure the output directory is writable
162
- - Check for any syntax errors in the markdown file
163
-
164
- ### Troubleshooting Common Issues
165
-
166
- 1. **Missing dependencies**: Install required packages with npm
167
- 2. **Permission errors**: Ensure write permissions for output directory
168
- 3. **Large files**: Consider breaking large markdown files into smaller sections
169
- 4. **Image issues**: Verify image paths are correct and accessible
170
- 5. **Font rendering**: Use web-safe fonts or include custom font CSS
171
-
172
- ## Customization
173
-
174
- ### Custom CSS Styling
175
- Create a CSS file to customize the PDF appearance:
176
-
177
- ```css
178
- /* custom-style.css */
179
- body {
180
- font-family: 'Times New Roman', serif;
181
- font-size: 12pt;
182
- }
183
-
184
- h1 {
185
- color: #2c3e50;
186
- border-bottom: 3px solid #3498db;
187
- }
188
-
189
- code {
190
- background-color: #f0f0f0;
191
- border: 1px solid #ccc;
192
- }
193
-
194
- @page {
195
- margin: 1in;
196
- @top-center {
197
- content: "Confidential Document";
198
- }
199
- }
200
- ```
201
-
202
- ### Batch Processing
203
- For converting multiple files, create a simple loop:
204
-
205
- ```bash
206
- for file in docs/*.md; do
207
- node ~/.fraim/scripts/markdown-to-pdf.js "$file" "output/$(basename "$file" .md).pdf"
208
- done
209
- ```
210
-
211
- ## Quality Assurance
212
-
213
- After conversion, verify:
214
- - All content is present and properly formatted
215
- - Images are displayed correctly
216
- - Code blocks maintain syntax highlighting
217
- - Tables are properly aligned
218
- - Page breaks occur at appropriate locations
219
- - Headers and footers appear as expected
220
-
221
- ## Best Practices
222
-
223
- 1. **Test with sample content** before processing important documents
224
- 2. **Use consistent styling** across related documents
225
- 3. **Optimize images** for better PDF file size
226
- 4. **Consider accessibility** when choosing fonts and colors
227
- 5. **Version control** both source markdown and generated PDFs when appropriate
228
-
229
- ## Integration with Other Workflows
230
-
231
- This workflow can be combined with:
232
- - Documentation generation workflows
233
- - Report automation processes
234
- - CI/CD pipelines for document publishing
235
- - Content review and approval workflows