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,245 @@
1
+ const fs = require('node:fs');
2
+ const path = require('node:path');
3
+ const yaml = require('yaml');
4
+ const { execSync } = require('node:child_process');
5
+
6
+ // Dynamic import for ES module
7
+ let chalk;
8
+
9
+ // Initialize ES modules
10
+ async function initializeModules() {
11
+ if (!chalk) {
12
+ chalk = (await import('chalk')).default;
13
+ }
14
+ }
15
+
16
+ /**
17
+ * YAML Formatter and Linter for SCM-Method
18
+ * Formats and validates YAML files and YAML embedded in Markdown
19
+ */
20
+
21
+ async function formatYamlContent(content, filename) {
22
+ await initializeModules();
23
+ try {
24
+ // First try to fix common YAML issues
25
+ let fixedContent = content
26
+ // Fix "commands :" -> "commands:"
27
+ .replaceAll(/^(\s*)(\w+)\s+:/gm, '$1$2:')
28
+ // Fix inconsistent list indentation
29
+ .replaceAll(/^(\s*)-\s{3,}/gm, '$1- ');
30
+
31
+ // Skip auto-fixing for .roomodes files - they have special nested structure
32
+ if (!filename.includes('.roomodes')) {
33
+ fixedContent = fixedContent
34
+ // Fix unquoted list items that contain special characters or multiple parts
35
+ .replaceAll(/^(\s*)-\s+(.*)$/gm, (match, indent, content) => {
36
+ // Skip if already quoted
37
+ if (content.startsWith('"') && content.endsWith('"')) {
38
+ return match;
39
+ }
40
+ // If the content contains special YAML characters or looks complex, quote it
41
+ // BUT skip if it looks like a proper YAML key-value pair (like "key: value")
42
+ if (
43
+ (content.includes(':') || content.includes('-') || content.includes('{') || content.includes('}')) &&
44
+ !/^\w+:\s/.test(content)
45
+ ) {
46
+ // Remove any existing quotes first, escape internal quotes, then add proper quotes
47
+ const cleanContent = content.replaceAll(/^["']|["']$/g, '').replaceAll('"', String.raw`\"`);
48
+ return `${indent}- "${cleanContent}"`;
49
+ }
50
+ return match;
51
+ });
52
+ }
53
+
54
+ // Debug: show what we're trying to parse
55
+ if (fixedContent !== content) {
56
+ console.log(chalk.blue(`🔧 Applied YAML fixes to ${filename}`));
57
+ }
58
+
59
+ // Parse and re-dump YAML to format it
60
+ const parsed = yaml.parse(fixedContent);
61
+ const formatted = yaml.stringify(parsed, {
62
+ indent: 2,
63
+ lineWidth: 0, // Disable line wrapping
64
+ sortKeys: false, // Preserve key order
65
+ });
66
+ // Ensure POSIX-compliant final newline
67
+ return formatted.endsWith('\n') ? formatted : formatted + '\n';
68
+ } catch (error) {
69
+ console.error(chalk.red(`❌ YAML syntax error in ${filename}:`), error.message);
70
+ console.error(chalk.yellow(`💡 Try manually fixing the YAML structure first`));
71
+ return null;
72
+ }
73
+ }
74
+
75
+ async function processMarkdownFile(filePath) {
76
+ await initializeModules();
77
+ const content = fs.readFileSync(filePath, 'utf8');
78
+ let modified = false;
79
+ let newContent = content;
80
+
81
+ // Fix untyped code blocks by adding 'text' type
82
+ // Match ``` at start of line followed by newline, but only if it's an opening fence
83
+ newContent = newContent.replaceAll(/^```\n([\s\S]*?)\n```$/gm, '```text\n$1\n```');
84
+ if (newContent !== content) {
85
+ modified = true;
86
+ console.log(chalk.blue(`🔧 Added 'text' type to untyped code blocks in ${filePath}`));
87
+ }
88
+
89
+ // Find YAML code blocks
90
+ const yamlBlockRegex = /```ya?ml\n([\s\S]*?)\n```/g;
91
+ let match;
92
+ const replacements = [];
93
+
94
+ while ((match = yamlBlockRegex.exec(newContent)) !== null) {
95
+ const [fullMatch, yamlContent] = match;
96
+ const formatted = await formatYamlContent(yamlContent, filePath);
97
+ if (formatted !== null) {
98
+ const trimmedFormatted = formatted.replace(/\n$/, '');
99
+
100
+ if (trimmedFormatted !== yamlContent) {
101
+ modified = true;
102
+ console.log(chalk.green(`✓ Formatted YAML in ${filePath}`));
103
+ }
104
+
105
+ replacements.push({
106
+ start: match.index,
107
+ end: match.index + fullMatch.length,
108
+ replacement: `\`\`\`yaml\n${trimmedFormatted}\n\`\`\``,
109
+ });
110
+ }
111
+ }
112
+
113
+ // Apply replacements in reverse order to maintain indices
114
+ for (let index = replacements.length - 1; index >= 0; index--) {
115
+ const { start, end, replacement } = replacements[index];
116
+ newContent = newContent.slice(0, start) + replacement + newContent.slice(end);
117
+ }
118
+
119
+ if (modified) {
120
+ fs.writeFileSync(filePath, newContent);
121
+ return true;
122
+ }
123
+ return false;
124
+ }
125
+
126
+ async function processYamlFile(filePath) {
127
+ await initializeModules();
128
+ const content = fs.readFileSync(filePath, 'utf8');
129
+ const formatted = await formatYamlContent(content, filePath);
130
+
131
+ if (formatted === null) {
132
+ return false; // Syntax error
133
+ }
134
+
135
+ if (formatted !== content) {
136
+ fs.writeFileSync(filePath, formatted);
137
+ return true;
138
+ }
139
+ return false;
140
+ }
141
+
142
+ async function lintYamlFile(filePath) {
143
+ await initializeModules();
144
+ try {
145
+ // Use yaml-lint for additional validation
146
+ execSync(`npx yaml-lint "${filePath}"`, { stdio: 'pipe' });
147
+ return true;
148
+ } catch (error) {
149
+ console.error(chalk.red(`❌ YAML lint error in ${filePath}:`));
150
+ console.error(error.stdout?.toString() || error.message);
151
+ return false;
152
+ }
153
+ }
154
+
155
+ async function main() {
156
+ await initializeModules();
157
+ const arguments_ = process.argv.slice(2);
158
+ const glob = require('glob');
159
+
160
+ if (arguments_.length === 0) {
161
+ console.error('Usage: node yaml-format.js <file1> [file2] ...');
162
+ process.exit(1);
163
+ }
164
+
165
+ let hasErrors = false;
166
+ let hasChanges = false;
167
+ let filesProcessed = [];
168
+
169
+ // Expand glob patterns and collect all files
170
+ const allFiles = [];
171
+ for (const argument of arguments_) {
172
+ if (argument.includes('*')) {
173
+ // It's a glob pattern
174
+ const matches = glob.sync(argument);
175
+ allFiles.push(...matches);
176
+ } else {
177
+ // It's a direct file path
178
+ allFiles.push(argument);
179
+ }
180
+ }
181
+
182
+ for (const filePath of allFiles) {
183
+ if (!fs.existsSync(filePath)) {
184
+ // Skip silently for glob patterns that don't match anything
185
+ if (!arguments_.some((argument) => argument.includes('*') && filePath === argument)) {
186
+ console.error(chalk.red(`❌ File not found: ${filePath}`));
187
+ hasErrors = true;
188
+ }
189
+ continue;
190
+ }
191
+
192
+ const extension = path.extname(filePath).toLowerCase();
193
+ const basename = path.basename(filePath).toLowerCase();
194
+
195
+ try {
196
+ let changed = false;
197
+ if (extension === '.md') {
198
+ changed = await processMarkdownFile(filePath);
199
+ } else if (
200
+ extension === '.yaml' ||
201
+ extension === '.yml' ||
202
+ basename.includes('roomodes') ||
203
+ basename.includes('.yaml') ||
204
+ basename.includes('.yml')
205
+ ) {
206
+ // Handle YAML files and special cases like .roomodes
207
+ changed = await processYamlFile(filePath);
208
+
209
+ // Also run linting
210
+ const lintPassed = await lintYamlFile(filePath);
211
+ if (!lintPassed) hasErrors = true;
212
+ } else {
213
+ // Skip silently for unsupported files
214
+ continue;
215
+ }
216
+
217
+ if (changed) {
218
+ hasChanges = true;
219
+ filesProcessed.push(filePath);
220
+ }
221
+ } catch (error) {
222
+ console.error(chalk.red(`❌ Error processing ${filePath}:`), error.message);
223
+ hasErrors = true;
224
+ }
225
+ }
226
+
227
+ if (hasChanges) {
228
+ console.log(chalk.green(`\n✨ YAML formatting completed! Modified ${filesProcessed.length} files:`));
229
+ for (const file of filesProcessed) console.log(chalk.blue(` 📝 ${file}`));
230
+ }
231
+
232
+ if (hasErrors) {
233
+ console.error(chalk.red('\n💥 Some files had errors. Please fix them before committing.'));
234
+ process.exit(1);
235
+ }
236
+ }
237
+
238
+ if (require.main === module) {
239
+ main().catch((error) => {
240
+ console.error('Error:', error);
241
+ process.exit(1);
242
+ });
243
+ }
244
+
245
+ module.exports = { formatYamlContent, processMarkdownFile, processYamlFile };
@@ -0,0 +1,5 @@
1
+ # JavaScript Conventions
2
+
3
+ ## Function ordering
4
+
5
+ Define functions top-to-bottom in call order: callers above callees. If `install()` calls `_initPaths()`, then `install` appears first and `_initPaths` appears after it.
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Migration script to convert relative paths to absolute paths in custom module manifests
3
+ * This should be run once to update existing installations
4
+ */
5
+
6
+ const fs = require('fs-extra');
7
+ const path = require('node:path');
8
+ const yaml = require('yaml');
9
+ const chalk = require('chalk');
10
+
11
+ /**
12
+ * Find SCM directory in project
13
+ */
14
+ function findBmadDir(projectDir = process.cwd()) {
15
+ const possibleNames = ['_scm'];
16
+
17
+ for (const name of possibleNames) {
18
+ const scmDir = path.join(projectDir, name);
19
+ if (fs.existsSync(scmDir)) {
20
+ return scmDir;
21
+ }
22
+ }
23
+
24
+ return null;
25
+ }
26
+
27
+ /**
28
+ * Update manifest to use absolute paths
29
+ */
30
+ async function updateManifest(manifestPath, projectRoot) {
31
+ console.log(chalk.cyan(`\nUpdating manifest: ${manifestPath}`));
32
+
33
+ const content = await fs.readFile(manifestPath, 'utf8');
34
+ const manifest = yaml.parse(content);
35
+
36
+ if (!manifest.customModules || manifest.customModules.length === 0) {
37
+ console.log(chalk.dim(' No custom modules found'));
38
+ return false;
39
+ }
40
+
41
+ let updated = false;
42
+
43
+ for (const customModule of manifest.customModules) {
44
+ if (customModule.relativePath && !customModule.sourcePath) {
45
+ // Convert relative path to absolute
46
+ const absolutePath = path.resolve(projectRoot, customModule.relativePath);
47
+ customModule.sourcePath = absolutePath;
48
+
49
+ // Remove the old relativePath
50
+ delete customModule.relativePath;
51
+
52
+ console.log(chalk.green(` ✓ Updated ${customModule.id}: ${customModule.relativePath} → ${absolutePath}`));
53
+ updated = true;
54
+ } else if (customModule.sourcePath && !path.isAbsolute(customModule.sourcePath)) {
55
+ // Source path exists but is not absolute
56
+ const absolutePath = path.resolve(customModule.sourcePath);
57
+ customModule.sourcePath = absolutePath;
58
+
59
+ console.log(chalk.green(` ✓ Updated ${customModule.id}: ${customModule.sourcePath} → ${absolutePath}`));
60
+ updated = true;
61
+ }
62
+ }
63
+
64
+ if (updated) {
65
+ // Write back the updated manifest
66
+ const yamlStr = yaml.dump(manifest, {
67
+ indent: 2,
68
+ lineWidth: -1,
69
+ noRefs: true,
70
+ sortKeys: false,
71
+ });
72
+
73
+ await fs.writeFile(manifestPath, yamlStr);
74
+ console.log(chalk.green(' Manifest updated successfully'));
75
+ } else {
76
+ console.log(chalk.dim(' All paths already absolute'));
77
+ }
78
+
79
+ return updated;
80
+ }
81
+
82
+ /**
83
+ * Main migration function
84
+ */
85
+ async function migrate(directory) {
86
+ const projectRoot = path.resolve(directory || process.cwd());
87
+ const scmDir = findBmadDir(projectRoot);
88
+
89
+ if (!scmDir) {
90
+ console.error(chalk.red('✗ No SCM installation found in directory'));
91
+ process.exit(1);
92
+ }
93
+
94
+ console.log(chalk.blue.bold('🔄 SCM Custom Module Path Migration'));
95
+ console.log(chalk.dim(`Project: ${projectRoot}`));
96
+ console.log(chalk.dim(`SCM Directory: ${scmDir}`));
97
+
98
+ const manifestPath = path.join(scmDir, '_config', 'manifest.yaml');
99
+
100
+ if (!fs.existsSync(manifestPath)) {
101
+ console.error(chalk.red('✗ No manifest.yaml found'));
102
+ process.exit(1);
103
+ }
104
+
105
+ const updated = await updateManifest(manifestPath, projectRoot);
106
+
107
+ if (updated) {
108
+ console.log(chalk.green.bold('\n✨ Migration completed successfully!'));
109
+ console.log(chalk.dim('Custom modules now use absolute source paths.'));
110
+ } else {
111
+ console.log(chalk.yellow('\n⚠ No migration needed - paths already absolute'));
112
+ }
113
+ }
114
+
115
+ // Run migration if called directly
116
+ if (require.main === module) {
117
+ const directory = process.argv[2];
118
+ migrate(directory).catch((error) => {
119
+ console.error(chalk.red('\n✗ Migration failed:'), error.message);
120
+ process.exit(1);
121
+ });
122
+ }
123
+
124
+ module.exports = { migrate };
@@ -0,0 +1,169 @@
1
+ # SCM Platform Codes Configuration
2
+ # Central configuration for all platform/IDE codes used in the SCM system
3
+ #
4
+ # This file defines the standardized platform codes that are used throughout
5
+ # the installation system to identify different platforms (IDEs, tools, etc.)
6
+ #
7
+ # Format:
8
+ # code: Platform identifier used internally
9
+ # name: Display name shown to users
10
+ # preferred: Whether this platform is shown as a recommended option on install
11
+ # category: Type of platform (ide, tool, service, etc.)
12
+
13
+ platforms:
14
+ # Recommended Platforms
15
+ claude-code:
16
+ name: "Claude Code"
17
+ preferred: true
18
+ category: cli
19
+ description: "Anthropic's official CLI for Claude"
20
+
21
+ cursor:
22
+ name: "Cursor"
23
+ preferred: true
24
+ category: ide
25
+ description: "AI-first code editor"
26
+
27
+ # Other IDEs and Tools
28
+ cline:
29
+ name: "Cline"
30
+ preferred: false
31
+ category: ide
32
+ description: "AI coding assistant"
33
+
34
+ opencode:
35
+ name: "OpenCode"
36
+ preferred: false
37
+ category: ide
38
+ description: "OpenCode terminal coding assistant"
39
+
40
+ codebuddy:
41
+ name: "CodeBuddy"
42
+ preferred: false
43
+ category: ide
44
+ description: "Tencent Cloud Code Assistant - AI-powered coding companion"
45
+
46
+ auggie:
47
+ name: "Auggie"
48
+ preferred: false
49
+ category: cli
50
+ description: "AI development tool"
51
+
52
+ roo:
53
+ name: "Roo Code"
54
+ preferred: false
55
+ category: ide
56
+ description: "Enhanced Cline fork"
57
+
58
+ rovo-dev:
59
+ name: "Rovo Dev"
60
+ preferred: false
61
+ category: ide
62
+ description: "Atlassian's Rovo development environment"
63
+
64
+ kiro:
65
+ name: "Kiro"
66
+ preferred: false
67
+ category: ide
68
+ description: "Amazon's AI-powered IDE"
69
+
70
+ github-copilot:
71
+ name: "GitHub Copilot"
72
+ preferred: false
73
+ category: ide
74
+ description: "GitHub's AI pair programmer"
75
+
76
+ codex:
77
+ name: "Codex"
78
+ preferred: false
79
+ category: cli
80
+ description: "OpenAI Codex integration"
81
+
82
+ qwen:
83
+ name: "QwenCoder"
84
+ preferred: false
85
+ category: ide
86
+ description: "Qwen AI coding assistant"
87
+
88
+ gemini:
89
+ name: "Gemini CLI"
90
+ preferred: false
91
+ category: cli
92
+ description: "Google's CLI for Gemini"
93
+
94
+ iflow:
95
+ name: "iFlow"
96
+ preferred: false
97
+ category: ide
98
+ description: "AI workflow automation"
99
+
100
+ kilo:
101
+ name: "KiloCoder"
102
+ preferred: false
103
+ category: ide
104
+ description: "AI coding platform"
105
+
106
+ crush:
107
+ name: "Crush"
108
+ preferred: false
109
+ category: ide
110
+ description: "AI development assistant"
111
+
112
+ antigravity:
113
+ name: "Google Antigravity"
114
+ preferred: false
115
+ category: ide
116
+ description: "Google's AI development environment"
117
+
118
+ trae:
119
+ name: "Trae"
120
+ preferred: false
121
+ category: ide
122
+ description: "AI coding tool"
123
+
124
+ windsurf:
125
+ name: "Windsurf"
126
+ preferred: false
127
+ category: ide
128
+ description: "AI-powered IDE with cascade flows"
129
+
130
+ junie:
131
+ name: "Junie"
132
+ preferred: false
133
+ category: cli
134
+ description: "AI coding agent by JetBrains"
135
+
136
+ ona:
137
+ name: "Ona"
138
+ preferred: false
139
+ category: ide
140
+ description: "Ona AI development environment"
141
+
142
+ # Platform categories
143
+ categories:
144
+ ide:
145
+ name: "Integrated Development Environment"
146
+ description: "Full-featured code editors with AI assistance"
147
+
148
+ cli:
149
+ name: "Command Line Interface"
150
+ description: "Terminal-based tools"
151
+
152
+ tool:
153
+ name: "Development Tool"
154
+ description: "Standalone development utilities"
155
+
156
+ service:
157
+ name: "Cloud Service"
158
+ description: "Cloud-based development platforms"
159
+
160
+ extension:
161
+ name: "Editor Extension"
162
+ description: "Plugins for existing editors"
163
+
164
+ # Naming conventions and rules
165
+ conventions:
166
+ code_format: "lowercase-kebab-case"
167
+ name_format: "Title Case"
168
+ max_code_length: 20
169
+ allowed_characters: "a-z0-9-"