scm-method 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 (324) hide show
  1. package/.claude-plugin/marketplace.json +77 -0
  2. package/AGENTS.md +12 -0
  3. package/LICENSE +30 -0
  4. package/README.md +109 -0
  5. package/README_CN.md +108 -0
  6. package/package.json +110 -0
  7. package/src/bmm-skills/1-analysis/research/scm-domain-research/SKILL.md +6 -0
  8. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-01-init.md +137 -0
  9. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  10. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  11. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  12. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  13. package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  14. package/src/bmm-skills/1-analysis/research/scm-domain-research/research.template.md +29 -0
  15. package/src/bmm-skills/1-analysis/research/scm-domain-research/workflow.md +51 -0
  16. package/src/bmm-skills/1-analysis/research/scm-market-research/SKILL.md +6 -0
  17. package/src/bmm-skills/1-analysis/research/scm-market-research/research.template.md +29 -0
  18. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-01-init.md +184 -0
  19. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-02-customer-behavior.md +239 -0
  20. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-03-customer-pain-points.md +251 -0
  21. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-04-customer-decisions.md +261 -0
  22. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-05-competitive-analysis.md +173 -0
  23. package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-06-research-completion.md +478 -0
  24. package/src/bmm-skills/1-analysis/research/scm-market-research/workflow.md +51 -0
  25. package/src/bmm-skills/1-analysis/research/scm-technical-research/SKILL.md +6 -0
  26. package/src/bmm-skills/1-analysis/research/scm-technical-research/research.template.md +29 -0
  27. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-01-init.md +137 -0
  28. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  29. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  30. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  31. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  32. package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  33. package/src/bmm-skills/1-analysis/research/scm-technical-research/workflow.md +52 -0
  34. package/src/bmm-skills/1-analysis/scm-agent-analyst/SKILL.md +59 -0
  35. package/src/bmm-skills/1-analysis/scm-agent-analyst/scm-skill-manifest.yaml +11 -0
  36. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/SKILL.md +57 -0
  37. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/explain-concept.md +20 -0
  38. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/mermaid-gen.md +20 -0
  39. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/scm-skill-manifest.yaml +11 -0
  40. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/validate-doc.md +19 -0
  41. package/src/bmm-skills/1-analysis/scm-agent-tech-writer/write-document.md +20 -0
  42. package/src/bmm-skills/1-analysis/scm-document-project/SKILL.md +6 -0
  43. package/src/bmm-skills/1-analysis/scm-document-project/checklist.md +245 -0
  44. package/src/bmm-skills/1-analysis/scm-document-project/documentation-requirements.csv +12 -0
  45. package/src/bmm-skills/1-analysis/scm-document-project/instructions.md +128 -0
  46. package/src/bmm-skills/1-analysis/scm-document-project/templates/deep-dive-template.md +345 -0
  47. package/src/bmm-skills/1-analysis/scm-document-project/templates/index-template.md +169 -0
  48. package/src/bmm-skills/1-analysis/scm-document-project/templates/project-overview-template.md +103 -0
  49. package/src/bmm-skills/1-analysis/scm-document-project/templates/project-scan-report-schema.json +160 -0
  50. package/src/bmm-skills/1-analysis/scm-document-project/templates/source-tree-template.md +135 -0
  51. package/src/bmm-skills/1-analysis/scm-document-project/workflow.md +25 -0
  52. package/src/bmm-skills/1-analysis/scm-document-project/workflows/deep-dive-instructions.md +299 -0
  53. package/src/bmm-skills/1-analysis/scm-document-project/workflows/deep-dive-workflow.md +34 -0
  54. package/src/bmm-skills/1-analysis/scm-document-project/workflows/full-scan-instructions.md +1107 -0
  55. package/src/bmm-skills/1-analysis/scm-document-project/workflows/full-scan-workflow.md +34 -0
  56. package/src/bmm-skills/1-analysis/scm-prfaq/SKILL.md +96 -0
  57. package/src/bmm-skills/1-analysis/scm-prfaq/agents/artifact-analyzer.md +60 -0
  58. package/src/bmm-skills/1-analysis/scm-prfaq/agents/web-researcher.md +49 -0
  59. package/src/bmm-skills/1-analysis/scm-prfaq/assets/prfaq-template.md +62 -0
  60. package/src/bmm-skills/1-analysis/scm-prfaq/references/customer-faq.md +55 -0
  61. package/src/bmm-skills/1-analysis/scm-prfaq/references/internal-faq.md +51 -0
  62. package/src/bmm-skills/1-analysis/scm-prfaq/references/press-release.md +60 -0
  63. package/src/bmm-skills/1-analysis/scm-prfaq/references/verdict.md +79 -0
  64. package/src/bmm-skills/1-analysis/scm-prfaq/scm-manifest.json +16 -0
  65. package/src/bmm-skills/1-analysis/scm-product-brief/SKILL.md +82 -0
  66. package/src/bmm-skills/1-analysis/scm-product-brief/agents/artifact-analyzer.md +60 -0
  67. package/src/bmm-skills/1-analysis/scm-product-brief/agents/opportunity-reviewer.md +44 -0
  68. package/src/bmm-skills/1-analysis/scm-product-brief/agents/skeptic-reviewer.md +44 -0
  69. package/src/bmm-skills/1-analysis/scm-product-brief/agents/web-researcher.md +49 -0
  70. package/src/bmm-skills/1-analysis/scm-product-brief/prompts/contextual-discovery.md +57 -0
  71. package/src/bmm-skills/1-analysis/scm-product-brief/prompts/draft-and-review.md +86 -0
  72. package/src/bmm-skills/1-analysis/scm-product-brief/prompts/finalize.md +75 -0
  73. package/src/bmm-skills/1-analysis/scm-product-brief/prompts/guided-elicitation.md +70 -0
  74. package/src/bmm-skills/1-analysis/scm-product-brief/resources/brief-template.md +60 -0
  75. package/src/bmm-skills/1-analysis/scm-product-brief/scm-manifest.json +17 -0
  76. package/src/bmm-skills/2-plan-workflows/scm-agent-pm/SKILL.md +59 -0
  77. package/src/bmm-skills/2-plan-workflows/scm-agent-pm/scm-skill-manifest.yaml +11 -0
  78. package/src/bmm-skills/2-plan-workflows/scm-agent-ux-designer/SKILL.md +55 -0
  79. package/src/bmm-skills/2-plan-workflows/scm-agent-ux-designer/scm-skill-manifest.yaml +11 -0
  80. package/src/bmm-skills/2-plan-workflows/scm-create-prd/SKILL.md +6 -0
  81. package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/domain-complexity.csv +15 -0
  82. package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/prd-purpose.md +197 -0
  83. package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/project-types.csv +11 -0
  84. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-01-init.md +178 -0
  85. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-01b-continue.md +161 -0
  86. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02-discovery.md +208 -0
  87. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02b-vision.md +142 -0
  88. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  89. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-03-success.md +214 -0
  90. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-04-journeys.md +201 -0
  91. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-05-domain.md +194 -0
  92. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-06-innovation.md +211 -0
  93. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-07-project-type.md +222 -0
  94. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-08-scoping.md +216 -0
  95. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-09-functional.md +219 -0
  96. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  97. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-11-polish.md +221 -0
  98. package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-12-complete.md +115 -0
  99. package/src/bmm-skills/2-plan-workflows/scm-create-prd/templates/prd-template.md +10 -0
  100. package/src/bmm-skills/2-plan-workflows/scm-create-prd/workflow.md +61 -0
  101. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/SKILL.md +6 -0
  102. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-01-init.md +135 -0
  103. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-01b-continue.md +127 -0
  104. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-02-discovery.md +190 -0
  105. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-03-core-experience.md +217 -0
  106. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-04-emotional-response.md +220 -0
  107. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-05-inspiration.md +235 -0
  108. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-06-design-system.md +253 -0
  109. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-07-defining-experience.md +255 -0
  110. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  111. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-09-design-directions.md +225 -0
  112. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-10-user-journeys.md +242 -0
  113. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-11-component-strategy.md +249 -0
  114. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  115. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  116. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-14-complete.md +171 -0
  117. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/ux-design-template.md +13 -0
  118. package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/workflow.md +35 -0
  119. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/SKILL.md +6 -0
  120. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  121. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  122. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-02-review.md +245 -0
  123. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-03-edit.md +250 -0
  124. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-04-complete.md +165 -0
  125. package/src/bmm-skills/2-plan-workflows/scm-edit-prd/workflow.md +62 -0
  126. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/SKILL.md +6 -0
  127. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/domain-complexity.csv +15 -0
  128. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/prd-purpose.md +197 -0
  129. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/project-types.csv +11 -0
  130. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  131. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  132. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  133. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  134. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  135. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  136. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  137. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  138. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  139. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  140. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  141. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  142. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  143. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  144. package/src/bmm-skills/2-plan-workflows/scm-validate-prd/workflow.md +61 -0
  145. package/src/bmm-skills/3-solutioning/scm-agent-architect/SKILL.md +54 -0
  146. package/src/bmm-skills/3-solutioning/scm-agent-architect/scm-skill-manifest.yaml +11 -0
  147. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/SKILL.md +6 -0
  148. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  149. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  150. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  151. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  152. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  153. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  154. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  155. package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/workflow.md +47 -0
  156. package/src/bmm-skills/3-solutioning/scm-create-architecture/SKILL.md +6 -0
  157. package/src/bmm-skills/3-solutioning/scm-create-architecture/architecture-decision-template.md +12 -0
  158. package/src/bmm-skills/3-solutioning/scm-create-architecture/data/domain-complexity.csv +13 -0
  159. package/src/bmm-skills/3-solutioning/scm-create-architecture/data/project-types.csv +7 -0
  160. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-01-init.md +153 -0
  161. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-01b-continue.md +173 -0
  162. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-02-context.md +224 -0
  163. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-03-starter.md +329 -0
  164. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-04-decisions.md +318 -0
  165. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-05-patterns.md +359 -0
  166. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-06-structure.md +379 -0
  167. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-07-validation.md +359 -0
  168. package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-08-complete.md +76 -0
  169. package/src/bmm-skills/3-solutioning/scm-create-architecture/workflow.md +32 -0
  170. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/SKILL.md +6 -0
  171. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  172. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  173. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  174. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  175. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/templates/epics-template.md +61 -0
  176. package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/workflow.md +51 -0
  177. package/src/bmm-skills/3-solutioning/scm-generate-project-context/SKILL.md +6 -0
  178. package/src/bmm-skills/3-solutioning/scm-generate-project-context/project-context-template.md +21 -0
  179. package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-01-discover.md +186 -0
  180. package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-02-generate.md +321 -0
  181. package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-03-complete.md +278 -0
  182. package/src/bmm-skills/3-solutioning/scm-generate-project-context/workflow.md +39 -0
  183. package/src/bmm-skills/4-implementation/scm-agent-dev/SKILL.md +64 -0
  184. package/src/bmm-skills/4-implementation/scm-agent-dev/scm-skill-manifest.yaml +11 -0
  185. package/src/bmm-skills/4-implementation/scm-agent-qa/SKILL.md +61 -0
  186. package/src/bmm-skills/4-implementation/scm-agent-qa/scm-skill-manifest.yaml +11 -0
  187. package/src/bmm-skills/4-implementation/scm-agent-quick-flow-solo-dev/SKILL.md +53 -0
  188. package/src/bmm-skills/4-implementation/scm-agent-quick-flow-solo-dev/scm-skill-manifest.yaml +11 -0
  189. package/src/bmm-skills/4-implementation/scm-agent-sm/SKILL.md +55 -0
  190. package/src/bmm-skills/4-implementation/scm-agent-sm/scm-skill-manifest.yaml +11 -0
  191. package/src/bmm-skills/4-implementation/scm-code-review/SKILL.md +6 -0
  192. package/src/bmm-skills/4-implementation/scm-code-review/steps/step-01-gather-context.md +62 -0
  193. package/src/bmm-skills/4-implementation/scm-code-review/steps/step-02-review.md +34 -0
  194. package/src/bmm-skills/4-implementation/scm-code-review/steps/step-03-triage.md +49 -0
  195. package/src/bmm-skills/4-implementation/scm-code-review/steps/step-04-present.md +129 -0
  196. package/src/bmm-skills/4-implementation/scm-code-review/workflow.md +55 -0
  197. package/src/bmm-skills/4-implementation/scm-correct-course/SKILL.md +6 -0
  198. package/src/bmm-skills/4-implementation/scm-correct-course/checklist.md +288 -0
  199. package/src/bmm-skills/4-implementation/scm-correct-course/workflow.md +267 -0
  200. package/src/bmm-skills/4-implementation/scm-create-story/SKILL.md +6 -0
  201. package/src/bmm-skills/4-implementation/scm-create-story/checklist.md +357 -0
  202. package/src/bmm-skills/4-implementation/scm-create-story/discover-inputs.md +88 -0
  203. package/src/bmm-skills/4-implementation/scm-create-story/template.md +49 -0
  204. package/src/bmm-skills/4-implementation/scm-create-story/workflow.md +380 -0
  205. package/src/bmm-skills/4-implementation/scm-dev-story/SKILL.md +6 -0
  206. package/src/bmm-skills/4-implementation/scm-dev-story/checklist.md +80 -0
  207. package/src/bmm-skills/4-implementation/scm-dev-story/workflow.md +450 -0
  208. package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/SKILL.md +6 -0
  209. package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/checklist.md +33 -0
  210. package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/workflow.md +136 -0
  211. package/src/bmm-skills/4-implementation/scm-quick-dev/SKILL.md +6 -0
  212. package/src/bmm-skills/4-implementation/scm-quick-dev/spec-template.md +88 -0
  213. package/src/bmm-skills/4-implementation/scm-quick-dev/step-01-clarify-and-route.md +66 -0
  214. package/src/bmm-skills/4-implementation/scm-quick-dev/step-02-plan.md +35 -0
  215. package/src/bmm-skills/4-implementation/scm-quick-dev/step-03-implement.md +37 -0
  216. package/src/bmm-skills/4-implementation/scm-quick-dev/step-04-review.md +49 -0
  217. package/src/bmm-skills/4-implementation/scm-quick-dev/step-05-present.md +63 -0
  218. package/src/bmm-skills/4-implementation/scm-quick-dev/step-oneshot.md +62 -0
  219. package/src/bmm-skills/4-implementation/scm-quick-dev/workflow.md +79 -0
  220. package/src/bmm-skills/4-implementation/scm-retrospective/SKILL.md +6 -0
  221. package/src/bmm-skills/4-implementation/scm-retrospective/workflow.md +1479 -0
  222. package/src/bmm-skills/4-implementation/scm-sprint-planning/SKILL.md +6 -0
  223. package/src/bmm-skills/4-implementation/scm-sprint-planning/checklist.md +33 -0
  224. package/src/bmm-skills/4-implementation/scm-sprint-planning/sprint-status-template.yaml +56 -0
  225. package/src/bmm-skills/4-implementation/scm-sprint-planning/workflow.md +263 -0
  226. package/src/bmm-skills/4-implementation/scm-sprint-status/SKILL.md +6 -0
  227. package/src/bmm-skills/4-implementation/scm-sprint-status/workflow.md +261 -0
  228. package/src/bmm-skills/module-help.csv +31 -0
  229. package/src/bmm-skills/module.yaml +50 -0
  230. package/src/core-skills/module-help.csv +11 -0
  231. package/src/core-skills/module.yaml +25 -0
  232. package/src/core-skills/scm-advanced-elicitation/SKILL.md +136 -0
  233. package/src/core-skills/scm-advanced-elicitation/methods.csv +51 -0
  234. package/src/core-skills/scm-brainstorming/SKILL.md +6 -0
  235. package/src/core-skills/scm-brainstorming/brain-methods.csv +62 -0
  236. package/src/core-skills/scm-brainstorming/steps/step-01-session-setup.md +214 -0
  237. package/src/core-skills/scm-brainstorming/steps/step-01b-continue.md +124 -0
  238. package/src/core-skills/scm-brainstorming/steps/step-02a-user-selected.md +229 -0
  239. package/src/core-skills/scm-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  240. package/src/core-skills/scm-brainstorming/steps/step-02c-random-selection.md +211 -0
  241. package/src/core-skills/scm-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  242. package/src/core-skills/scm-brainstorming/steps/step-03-technique-execution.md +401 -0
  243. package/src/core-skills/scm-brainstorming/steps/step-04-idea-organization.md +305 -0
  244. package/src/core-skills/scm-brainstorming/template.md +15 -0
  245. package/src/core-skills/scm-brainstorming/workflow.md +53 -0
  246. package/src/core-skills/scm-distillator/SKILL.md +177 -0
  247. package/src/core-skills/scm-distillator/agents/distillate-compressor.md +116 -0
  248. package/src/core-skills/scm-distillator/agents/round-trip-reconstructor.md +68 -0
  249. package/src/core-skills/scm-distillator/resources/compression-rules.md +51 -0
  250. package/src/core-skills/scm-distillator/resources/distillate-format-reference.md +227 -0
  251. package/src/core-skills/scm-distillator/resources/splitting-strategy.md +78 -0
  252. package/src/core-skills/scm-distillator/scripts/analyze_sources.py +300 -0
  253. package/src/core-skills/scm-distillator/scripts/tests/test_analyze_sources.py +204 -0
  254. package/src/core-skills/scm-editorial-review-prose/SKILL.md +86 -0
  255. package/src/core-skills/scm-editorial-review-structure/SKILL.md +179 -0
  256. package/src/core-skills/scm-help/SKILL.md +73 -0
  257. package/src/core-skills/scm-index-docs/SKILL.md +66 -0
  258. package/src/core-skills/scm-party-mode/SKILL.md +125 -0
  259. package/src/core-skills/scm-review-adversarial-general/SKILL.md +37 -0
  260. package/src/core-skills/scm-review-edge-case-hunter/SKILL.md +67 -0
  261. package/src/core-skills/scm-shard-doc/SKILL.md +105 -0
  262. package/tools/format-workflow-md.js +263 -0
  263. package/tools/installer/README.md +60 -0
  264. package/tools/installer/cli-utils.js +181 -0
  265. package/tools/installer/commands/install.js +80 -0
  266. package/tools/installer/commands/status.js +65 -0
  267. package/tools/installer/commands/uninstall.js +167 -0
  268. package/tools/installer/core/config.js +52 -0
  269. package/tools/installer/core/custom-module-cache.js +260 -0
  270. package/tools/installer/core/existing-install.js +127 -0
  271. package/tools/installer/core/install-paths.js +129 -0
  272. package/tools/installer/core/installer.js +1790 -0
  273. package/tools/installer/core/manifest-generator.js +701 -0
  274. package/tools/installer/core/manifest.js +1040 -0
  275. package/tools/installer/custom-handler.js +112 -0
  276. package/tools/installer/external-official-modules.yaml +63 -0
  277. package/tools/installer/file-ops.js +204 -0
  278. package/tools/installer/ide/_config-driven.js +536 -0
  279. package/tools/installer/ide/manager.js +247 -0
  280. package/tools/installer/ide/platform-codes.js +37 -0
  281. package/tools/installer/ide/platform-codes.yaml +192 -0
  282. package/tools/installer/ide/shared/agent-command-generator.js +180 -0
  283. package/tools/installer/ide/shared/module-injections.js +136 -0
  284. package/tools/installer/ide/shared/path-utils.js +364 -0
  285. package/tools/installer/ide/shared/scm-artifacts.js +208 -0
  286. package/tools/installer/ide/shared/skill-manifest.js +72 -0
  287. package/tools/installer/ide/templates/agent-command-template.md +14 -0
  288. package/tools/installer/ide/templates/combined/antigravity.md +8 -0
  289. package/tools/installer/ide/templates/combined/default-agent.md +15 -0
  290. package/tools/installer/ide/templates/combined/default-task.md +10 -0
  291. package/tools/installer/ide/templates/combined/default-tool.md +10 -0
  292. package/tools/installer/ide/templates/combined/default-workflow.md +6 -0
  293. package/tools/installer/ide/templates/combined/gemini-agent.toml +14 -0
  294. package/tools/installer/ide/templates/combined/gemini-task.toml +11 -0
  295. package/tools/installer/ide/templates/combined/gemini-tool.toml +11 -0
  296. package/tools/installer/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  297. package/tools/installer/ide/templates/combined/gemini-workflow.toml +14 -0
  298. package/tools/installer/ide/templates/combined/kiro-agent.md +16 -0
  299. package/tools/installer/ide/templates/combined/kiro-task.md +9 -0
  300. package/tools/installer/ide/templates/combined/kiro-tool.md +9 -0
  301. package/tools/installer/ide/templates/combined/kiro-workflow.md +7 -0
  302. package/tools/installer/ide/templates/combined/opencode-agent.md +15 -0
  303. package/tools/installer/ide/templates/combined/opencode-task.md +13 -0
  304. package/tools/installer/ide/templates/combined/opencode-tool.md +13 -0
  305. package/tools/installer/ide/templates/combined/opencode-workflow-yaml.md +16 -0
  306. package/tools/installer/ide/templates/combined/opencode-workflow.md +16 -0
  307. package/tools/installer/ide/templates/combined/rovodev.md +9 -0
  308. package/tools/installer/ide/templates/combined/trae.md +9 -0
  309. package/tools/installer/ide/templates/combined/windsurf-workflow.md +10 -0
  310. package/tools/installer/ide/templates/split/.gitkeep +0 -0
  311. package/tools/installer/install-messages.yaml +35 -0
  312. package/tools/installer/message-loader.js +83 -0
  313. package/tools/installer/modules/custom-modules.js +197 -0
  314. package/tools/installer/modules/external-manager.js +354 -0
  315. package/tools/installer/modules/official-modules.js +2043 -0
  316. package/tools/installer/project-root.js +77 -0
  317. package/tools/installer/prompts.js +809 -0
  318. package/tools/installer/scm-cli.js +108 -0
  319. package/tools/installer/ui.js +1683 -0
  320. package/tools/installer/yaml-format.js +245 -0
  321. package/tools/javascript-conventions.md +5 -0
  322. package/tools/migrate-custom-module-paths.js +124 -0
  323. package/tools/platform-codes.yaml +169 -0
  324. package/tools/validate-skills.js +736 -0
@@ -0,0 +1,72 @@
1
+ const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+ const yaml = require('yaml');
4
+
5
+ /**
6
+ * Load scm-skill-manifest.yaml from a directory.
7
+ * Single-entry manifests (canonicalId at top level) apply to all files in the directory.
8
+ * Multi-entry manifests are keyed by source filename.
9
+ * @param {string} dirPath - Directory to check for scm-skill-manifest.yaml
10
+ * @returns {Object|null} Parsed manifest or null
11
+ */
12
+ async function loadSkillManifest(dirPath) {
13
+ const manifestPath = path.join(dirPath, 'scm-skill-manifest.yaml');
14
+ try {
15
+ if (!(await fs.pathExists(manifestPath))) return null;
16
+ const content = await fs.readFile(manifestPath, 'utf8');
17
+ const parsed = yaml.parse(content);
18
+ if (!parsed || typeof parsed !== 'object') return null;
19
+ if (parsed.canonicalId || parsed.type) return { __single: parsed };
20
+ return parsed;
21
+ } catch (error) {
22
+ console.warn(`Warning: Failed to parse scm-skill-manifest.yaml in ${dirPath}: ${error.message}`);
23
+ return null;
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Get the canonicalId for a specific file from a loaded skill manifest.
29
+ * @param {Object|null} manifest - Loaded manifest (from loadSkillManifest)
30
+ * @param {string} filename - Source filename to look up (e.g., 'pm.md', 'help.md')
31
+ * @returns {string} canonicalId or empty string
32
+ */
33
+ function getCanonicalId(manifest, filename) {
34
+ if (!manifest) return '';
35
+ // Single-entry manifest applies to all files in the directory
36
+ if (manifest.__single) return manifest.__single.canonicalId || '';
37
+ // Multi-entry: look up by filename directly
38
+ if (manifest[filename]) return manifest[filename].canonicalId || '';
39
+ return '';
40
+ }
41
+
42
+ /**
43
+ * Get the artifact type for a specific file from a loaded skill manifest.
44
+ * @param {Object|null} manifest - Loaded manifest (from loadSkillManifest)
45
+ * @param {string} filename - Source filename to look up
46
+ * @returns {string|null} type or null
47
+ */
48
+ function getArtifactType(manifest, filename) {
49
+ if (!manifest) return null;
50
+ // Single-entry manifest applies to all files in the directory
51
+ if (manifest.__single) return manifest.__single.type || null;
52
+ // Multi-entry: look up by filename directly
53
+ if (manifest[filename]) return manifest[filename].type || null;
54
+ return null;
55
+ }
56
+
57
+ /**
58
+ * Get the install_to_scm flag for a specific file from a loaded skill manifest.
59
+ * @param {Object|null} manifest - Loaded manifest (from loadSkillManifest)
60
+ * @param {string} filename - Source filename to look up
61
+ * @returns {boolean} install_to_scm value (defaults to true)
62
+ */
63
+ function getInstallToBmad(manifest, filename) {
64
+ if (!manifest) return true;
65
+ // Single-entry manifest applies to all files in the directory
66
+ if (manifest.__single) return manifest.__single.install_to_scm !== false;
67
+ // Multi-entry: look up by filename directly
68
+ if (manifest[filename]) return manifest[filename].install_to_scm !== false;
69
+ return true;
70
+ }
71
+
72
+ module.exports = { loadSkillManifest, getCanonicalId, getArtifactType, getInstallToBmad };
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
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
+ <agent-activation CRITICAL="TRUE">
9
+ 1. LOAD the FULL agent file from {project-root}/_scm/{{module}}/agents/{{path}}
10
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
+ 3. Execute ALL activation steps exactly as written in the agent file
12
+ 4. Follow the agent's persona and menu system precisely
13
+ 5. Stay in character throughout the session
14
+ </agent-activation>
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
4
+ ---
5
+
6
+ Read the entire workflow file at: {project-root}/_scm/{{workflow_path}}
7
+
8
+ Follow all instructions in the workflow file exactly as written.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
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
+ <agent-activation CRITICAL="TRUE">
9
+ 1. LOAD the FULL agent file from {project-root}/_scm/{{path}}
10
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
+ 3. FOLLOW every step in the <activation> section precisely
12
+ 4. DISPLAY the welcome/greeting as instructed
13
+ 5. PRESENT the numbered menu
14
+ 6. WAIT for user input before proceeding
15
+ </agent-activation>
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
4
+ ---
5
+
6
+ # {{name}}
7
+
8
+ Read the entire task file at: {project-root}/{{scmFolderName}}/{{path}}
9
+
10
+ Follow all instructions in the task file exactly as written.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
4
+ ---
5
+
6
+ # {{name}}
7
+
8
+ Read the entire tool file at: {project-root}/{{scmFolderName}}/{{path}}
9
+
10
+ Follow all instructions in the tool file exactly as written.
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: '{{name}}'
3
+ description: '{{description}}'
4
+ ---
5
+
6
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL {project-root}/{{scmFolderName}}/{{path}}, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,14 @@
1
+ description = "Activates the {{name}} agent from the SCM Method."
2
+ prompt = """
3
+ CRITICAL: You are now the SCM '{{name}}' agent.
4
+
5
+ PRE-FLIGHT CHECKLIST:
6
+ 1. [ ] IMMEDIATE ACTION: Load and parse {project-root}/{{scmFolderName}}/{{module}}/config.yaml - store ALL config values in memory for use throughout the session.
7
+ 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{scmFolderName}}/{{path}}.
8
+ 3. [ ] CONFIRM: The user's name from config is {user_name}.
9
+
10
+ Only after all checks are complete, greet the user by name and display the menu.
11
+ Acknowledge this checklist is complete in your first response.
12
+
13
+ AGENT DEFINITION: {project-root}/{{scmFolderName}}/{{path}}
14
+ """
@@ -0,0 +1,11 @@
1
+ description = "Executes the {{name}} task from the SCM Method."
2
+ prompt = """
3
+ Execute the SCM '{{name}}' task.
4
+
5
+ TASK INSTRUCTIONS:
6
+ 1. LOAD the task file from {project-root}/{{scmFolderName}}/{{path}}
7
+ 2. READ its entire contents
8
+ 3. FOLLOW every instruction precisely as specified
9
+
10
+ TASK FILE: {project-root}/{{scmFolderName}}/{{path}}
11
+ """
@@ -0,0 +1,11 @@
1
+ description = "Executes the {{name}} tool from the SCM Method."
2
+ prompt = """
3
+ Execute the SCM '{{name}}' tool.
4
+
5
+ TOOL INSTRUCTIONS:
6
+ 1. LOAD the tool file from {project-root}/{{scmFolderName}}/{{path}}
7
+ 2. READ its entire contents
8
+ 3. FOLLOW every instruction precisely as specified
9
+
10
+ TOOL FILE: {project-root}/{{scmFolderName}}/{{path}}
11
+ """
@@ -0,0 +1,16 @@
1
+ description = '{{description}}'
2
+ prompt = """
3
+ Execute the SCM '{{name}}' workflow.
4
+
5
+ CRITICAL: This is a structured YAML workflow. Follow these steps precisely:
6
+
7
+ 1. LOAD the workflow definition from {project-root}/{{scmFolderName}}/{{workflow_path}}
8
+ 2. PARSE the YAML structure to understand:
9
+ - Workflow phases and steps
10
+ - Required inputs and outputs
11
+ - Dependencies between steps
12
+ 3. EXECUTE each step in order
13
+ 4. VALIDATE outputs before proceeding to next step
14
+
15
+ WORKFLOW FILE: {project-root}/{{scmFolderName}}/{{workflow_path}}
16
+ """
@@ -0,0 +1,14 @@
1
+ description = '{{description}}'
2
+ prompt = """
3
+ Execute the SCM '{{name}}' workflow.
4
+
5
+ CRITICAL: You must load and follow the workflow definition exactly.
6
+
7
+ WORKFLOW INSTRUCTIONS:
8
+ 1. LOAD the workflow file from {project-root}/{{scmFolderName}}/{{workflow_path}}
9
+ 2. READ its entire contents
10
+ 3. FOLLOW every step precisely as specified
11
+ 4. DO NOT skip or modify any steps
12
+
13
+ WORKFLOW FILE: {project-root}/{{scmFolderName}}/{{workflow_path}}
14
+ """
@@ -0,0 +1,16 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # {{name}}
6
+
7
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
8
+
9
+ <agent-activation CRITICAL="TRUE">
10
+ 1. LOAD the FULL agent file from #[[file:{{scmFolderName}}/{{path}}]]
11
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
12
+ 3. FOLLOW every step in the <activation> section precisely
13
+ 4. DISPLAY the welcome/greeting as instructed
14
+ 5. PRESENT the numbered menu
15
+ 6. WAIT for user input before proceeding
16
+ </agent-activation>
@@ -0,0 +1,9 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # {{name}}
6
+
7
+ Read the entire task file at: #[[file:{{scmFolderName}}/{{path}}]]
8
+
9
+ Follow all instructions in the task file exactly as written.
@@ -0,0 +1,9 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # {{name}}
6
+
7
+ Read the entire tool file at: #[[file:{{scmFolderName}}/{{path}}]]
8
+
9
+ Follow all instructions in the tool file exactly as written.
@@ -0,0 +1,7 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # {{name}}
6
+
7
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{scmFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly!
@@ -0,0 +1,15 @@
1
+ ---
2
+ mode: all
3
+ description: '{{description}}'
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
+ <agent-activation CRITICAL="TRUE">
9
+ 1. LOAD the FULL agent file from {project-root}/{{scmFolderName}}/{{path}}
10
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
+ 3. FOLLOW every step in the <activation> section precisely
12
+ 4. DISPLAY the welcome/greeting as instructed
13
+ 5. PRESENT the numbered menu
14
+ 6. WAIT for user input before proceeding
15
+ </agent-activation>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: '{{description}}'
3
+ ---
4
+
5
+ Execute the SCM '{{name}}' task.
6
+
7
+ TASK INSTRUCTIONS:
8
+
9
+ 1. LOAD the task file from {project-root}/{{scmFolderName}}/{{path}}
10
+ 2. READ its entire contents
11
+ 3. FOLLOW every instruction precisely as specified
12
+
13
+ TASK FILE: {project-root}/{{scmFolderName}}/{{path}}
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: '{{description}}'
3
+ ---
4
+
5
+ Execute the SCM '{{name}}' tool.
6
+
7
+ TOOL INSTRUCTIONS:
8
+
9
+ 1. LOAD the tool file from {project-root}/{{scmFolderName}}/{{path}}
10
+ 2. READ its entire contents
11
+ 3. FOLLOW every instruction precisely as specified
12
+
13
+ TOOL FILE: {project-root}/{{scmFolderName}}/{{path}}
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: '{{description}}'
3
+ ---
4
+
5
+ Execute the SCM '{{name}}' workflow.
6
+
7
+ CRITICAL: You must load and follow the workflow definition exactly.
8
+
9
+ WORKFLOW INSTRUCTIONS:
10
+
11
+ 1. LOAD the workflow file from {project-root}/{{scmFolderName}}/{{path}}
12
+ 2. READ its entire contents
13
+ 3. FOLLOW every step precisely as specified
14
+ 4. DO NOT skip or modify any steps
15
+
16
+ WORKFLOW FILE: {project-root}/{{scmFolderName}}/{{path}}
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: '{{description}}'
3
+ ---
4
+
5
+ Execute the SCM '{{name}}' workflow.
6
+
7
+ CRITICAL: You must load and follow the workflow definition exactly.
8
+
9
+ WORKFLOW INSTRUCTIONS:
10
+
11
+ 1. LOAD the workflow file from {project-root}/{{scmFolderName}}/{{path}}
12
+ 2. READ its entire contents
13
+ 3. FOLLOW every step precisely as specified
14
+ 4. DO NOT skip or modify any steps
15
+
16
+ WORKFLOW FILE: {project-root}/{{scmFolderName}}/{{path}}
@@ -0,0 +1,9 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ ---
6
+
7
+ Read the entire workflow file at: {project-root}/_scm/{{workflow_path}}
8
+
9
+ Follow all instructions in the workflow file exactly as written.
@@ -0,0 +1,9 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ ## Instructions
6
+
7
+ Read the entire workflow file at: {project-root}/_scm/{{workflow_path}}
8
+
9
+ Follow all instructions in the workflow file exactly as written.
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: '{{description}}'
3
+ auto_execution_mode: "iterate"
4
+ ---
5
+
6
+ # {{name}}
7
+
8
+ Read the entire workflow file at {project-root}/_scm/{{workflow_path}}
9
+
10
+ Follow all instructions in the workflow file exactly as written.
File without changes
@@ -0,0 +1,35 @@
1
+ # SCM Method Installer Messages
2
+ # These messages are displayed during installation
3
+ # Edit this file to change what users see during the install process
4
+
5
+ # Display at the START of installation (after logo, before prompts)
6
+ startMessage: |
7
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8
+
9
+ 🎉 BEST TOOL IS HERE! Welcome to SCM Method V2 - Official design system!
10
+
11
+ The SCM Method is now a Platform powered by the SCM Core and Module Ecosystem!
12
+ - Select and install modules during setup - customize your experience
13
+ - A new vision for programming at a whole new level, driven by AI.
14
+ - New ultra-precise agents available upon installation, and design modules coming soon.
15
+ - Documentation: Soon....
16
+
17
+ 🚀 Bienvenue dans SCM-Method v2.0.0
18
+ - Système de Construction Multi-tâche.
19
+ - Conception de systèmes complexes personnalisés.
20
+ - N'ayez aucunes limites avec SCM Method.
21
+
22
+ 🎤 TOOL Trajectory:
23
+ - Product adapted for businesses or entrepreneurs
24
+ - Targets: Transforming Native AI, Engineering Complex and Precise Logic Algorithms.
25
+
26
+ ⭐ COMPANY:
27
+ - Abismo.ai
28
+
29
+
30
+ BUILDING A GREAT PRODUCTS
31
+
32
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33
+
34
+ # No end message - install summary and next steps are rendered by the installer
35
+ endMessage: ""
@@ -0,0 +1,83 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('node:path');
3
+ const yaml = require('yaml');
4
+ const prompts = require('./prompts');
5
+
6
+ /**
7
+ * Load and display installer messages from messages.yaml
8
+ */
9
+ class MessageLoader {
10
+ constructor() {}
11
+
12
+ /**
13
+ * Load messages from the YAML file
14
+ * @returns {Object|null} Messages object or null if not found
15
+ */
16
+ load() {
17
+ if (this.messages) {
18
+ return this.messages;
19
+ }
20
+
21
+ const messagesPath = path.join(__dirname, 'install-messages.yaml');
22
+
23
+ try {
24
+ const content = fs.readFileSync(messagesPath, 'utf8');
25
+ this.messages = yaml.parse(content);
26
+ return this.messages;
27
+ } catch {
28
+ // File doesn't exist or is invalid - return null
29
+ return null;
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Get the start message for display
35
+ * @returns {string|null} Start message or null
36
+ */
37
+ getStartMessage() {
38
+ const messages = this.load();
39
+ return messages?.startMessage || null;
40
+ }
41
+
42
+ /**
43
+ * Get the end message for display
44
+ * @returns {string|null} End message or null
45
+ */
46
+ getEndMessage() {
47
+ const messages = this.load();
48
+ return messages?.endMessage || null;
49
+ }
50
+
51
+ /**
52
+ * Display the start message (after logo, before prompts)
53
+ */
54
+ async displayStartMessage() {
55
+ const message = this.getStartMessage();
56
+ if (message) {
57
+ await prompts.log.info(message);
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Display the end message (after installation completes)
63
+ */
64
+ async displayEndMessage() {
65
+ const message = this.getEndMessage();
66
+ if (message) {
67
+ await prompts.log.info(message);
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Check if messages exist for the current version
73
+ * @param {string} currentVersion - Current package version
74
+ * @returns {boolean} True if messages match current version
75
+ */
76
+ isCurrent(currentVersion) {
77
+ const messages = this.load();
78
+ return messages && messages.version === currentVersion;
79
+ }
80
+ messages = null;
81
+ }
82
+
83
+ module.exports = { MessageLoader };