bmalph 1.0.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +398 -217
- package/bmad/bmm/agents/analyst.agent.yaml +43 -36
- package/bmad/bmm/agents/architect.agent.yaml +29 -28
- package/bmad/bmm/agents/dev.agent.yaml +38 -38
- package/bmad/bmm/agents/pm.agent.yaml +44 -46
- package/bmad/bmm/agents/qa.agent.yaml +58 -0
- package/bmad/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -32
- package/bmad/bmm/agents/sm.agent.yaml +37 -36
- package/bmad/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +223 -223
- package/bmad/bmm/agents/tech-writer/tech-writer.agent.yaml +46 -45
- package/bmad/bmm/agents/ux-designer.agent.yaml +27 -26
- package/bmad/bmm/data/project-context-template.md +26 -26
- package/bmad/bmm/module-help.csv +31 -31
- package/bmad/bmm/module.yaml +50 -44
- package/bmad/bmm/teams/default-party.csv +20 -21
- package/bmad/bmm/teams/team-fullstack.yaml +12 -12
- package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -177
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -161
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -199
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -202
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -205
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -219
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -162
- package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -58
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -443
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -475
- package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -239
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -486
- package/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
- package/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
- package/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/domain-complexity.csv +14 -12
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/prd-purpose.md +197 -197
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/project-types.csv +10 -10
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-01-init.md +191 -191
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-01b-continue.md +153 -153
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-02-discovery.md +224 -224
- package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
- package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-03-success.md +226 -226
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-04-journeys.md +213 -213
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-05-domain.md +207 -207
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-06-innovation.md +226 -226
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-07-project-type.md +237 -237
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-08-scoping.md +228 -228
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-09-functional.md +231 -231
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-10-nonfunctional.md +242 -242
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-11-polish.md +217 -217
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-12-complete.md +124 -124
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-01-discovery.md +247 -247
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-01b-legacy-conversion.md +208 -208
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-02-review.md +249 -249
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-03-edit.md +253 -253
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-04-complete.md +168 -168
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-01-discovery.md +226 -218
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-02-format-detection.md +191 -191
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-02b-parity-check.md +209 -209
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-03-density-validation.md +174 -174
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-04-brief-coverage-validation.md +214 -214
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-05-measurability-validation.md +228 -228
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-06-traceability-validation.md +217 -217
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-07-implementation-leakage-validation.md +205 -205
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-08-domain-compliance-validation.md +243 -243
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-09-project-type-validation.md +263 -263
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-10-smart-validation.md +209 -209
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-11-holistic-quality-validation.md +264 -264
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-12-completeness-validation.md +242 -242
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-13-report-complete.md +231 -231
- package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/templates/prd-template.md +10 -10
- package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
- package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
- package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -171
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -43
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -190
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -178
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -179
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -139
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -252
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -135
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -55
- package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -10
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -153
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -164
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -331
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -318
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -359
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -359
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -76
- package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -50
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -149
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -59
- package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
- package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
- package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +44 -51
- package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
- package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -206
- package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +54 -60
- package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
- package/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -345
- package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
- package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +53 -61
- package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -80
- package/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -410
- package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +21 -27
- package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1443
- package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +53 -58
- package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
- package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -225
- package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
- package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -54
- package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -229
- package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -36
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -156
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -120
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -113
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -113
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -106
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -140
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +191 -189
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -144
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +127 -128
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -191
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
- package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
- package/bmad/bmm/workflows/document-project/checklist.md +245 -245
- package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
- package/bmad/bmm/workflows/document-project/instructions.md +130 -221
- package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
- package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
- package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
- package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
- package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
- package/bmad/bmm/workflows/document-project/workflow.yaml +22 -30
- package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
- package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
- package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
- package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
- package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/bmad/bmm/workflows/qa/automate/checklist.md +33 -0
- package/bmad/bmm/workflows/qa/automate/instructions.md +110 -0
- package/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -0
- package/bmad/core/agents/bmad-master.agent.yaml +30 -30
- package/bmad/core/module-help.csv +9 -11
- package/bmad/core/module.yaml +25 -25
- package/bmad/core/tasks/editorial-review-prose.xml +102 -91
- package/bmad/core/tasks/editorial-review-structure.xml +209 -198
- package/bmad/core/tasks/help.md +85 -0
- package/bmad/core/tasks/index-docs.xml +64 -64
- package/bmad/core/tasks/review-adversarial-general.xml +48 -48
- package/bmad/core/tasks/shard-doc.xml +107 -108
- package/bmad/core/tasks/workflow.xml +234 -234
- package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
- package/bmad/core/workflows/advanced-elicitation/workflow.xml +116 -116
- package/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
- package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -197
- package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
- package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
- package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
- package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
- package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
- package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -399
- package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
- package/bmad/core/workflows/brainstorming/template.md +15 -15
- package/bmad/core/workflows/brainstorming/workflow.md +58 -58
- package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -138
- package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
- package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -157
- package/bmad/core/workflows/party-mode/workflow.md +194 -194
- package/bundled-versions.json +3 -0
- package/dist/cli.js +61 -6
- package/dist/commands/check-updates.d.ts +5 -0
- package/dist/commands/check-updates.js +63 -0
- package/dist/commands/doctor.d.ts +39 -1
- package/dist/commands/doctor.js +348 -79
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +41 -15
- package/dist/commands/status.d.ts +7 -1
- package/dist/commands/status.js +111 -42
- package/dist/commands/upgrade.d.ts +7 -1
- package/dist/commands/upgrade.js +43 -12
- package/dist/installer.d.ts +19 -2
- package/dist/installer.js +305 -66
- package/dist/transition/artifacts.d.ts +2 -0
- package/dist/transition/artifacts.js +46 -0
- package/dist/transition/context.d.ts +19 -0
- package/dist/transition/context.js +261 -0
- package/dist/transition/fix-plan.d.ts +15 -0
- package/dist/transition/fix-plan.js +94 -0
- package/dist/transition/index.d.ts +9 -0
- package/dist/transition/index.js +16 -0
- package/dist/transition/orchestration.d.ts +2 -0
- package/dist/transition/orchestration.js +243 -0
- package/dist/transition/specs-changelog.d.ts +3 -0
- package/dist/transition/specs-changelog.js +75 -0
- package/dist/transition/specs-index.d.ts +22 -0
- package/dist/transition/specs-index.js +157 -0
- package/dist/transition/story-parsing.d.ts +7 -0
- package/dist/transition/story-parsing.js +124 -0
- package/dist/transition/tech-stack.d.ts +3 -0
- package/dist/transition/tech-stack.js +79 -0
- package/dist/transition/types.d.ts +60 -0
- package/dist/transition/types.js +1 -0
- package/dist/utils/config.d.ts +4 -0
- package/dist/utils/config.js +14 -4
- package/dist/utils/constants.d.ts +70 -0
- package/dist/utils/constants.js +97 -0
- package/dist/utils/dryrun.d.ts +7 -0
- package/dist/utils/dryrun.js +48 -0
- package/dist/utils/errors.d.ts +63 -0
- package/dist/utils/errors.js +86 -0
- package/dist/utils/file-system.d.ts +24 -0
- package/dist/utils/file-system.js +99 -0
- package/dist/utils/github.d.ts +83 -0
- package/dist/utils/github.js +230 -0
- package/dist/utils/json.js +3 -3
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/logger.js +27 -0
- package/dist/utils/state.d.ts +4 -7
- package/dist/utils/state.js +147 -26
- package/dist/utils/validate.d.ts +40 -0
- package/dist/utils/validate.js +175 -1
- package/package.json +75 -59
- package/ralph/RALPH-REFERENCE.md +412 -0
- package/ralph/lib/circuit_breaker.sh +463 -330
- package/ralph/lib/date_utils.sh +104 -53
- package/ralph/lib/enable_core.sh +815 -0
- package/ralph/lib/response_analyzer.sh +884 -768
- package/ralph/lib/task_sources.sh +577 -0
- package/ralph/lib/timeout_utils.sh +145 -145
- package/ralph/lib/wizard_utils.sh +547 -0
- package/ralph/ralph_import.sh +636 -0
- package/ralph/ralph_loop.sh +1793 -1391
- package/ralph/ralph_monitor.sh +125 -0
- package/ralph/templates/AGENT.md +158 -158
- package/ralph/templates/PROMPT.md +285 -292
- package/ralph/templates/fix_plan.md +27 -27
- package/ralph/templates/ralphrc.template +102 -0
- package/ralph/templates/specs/.gitkeep +1 -1
- package/slash-commands/advanced-elicitation.md +1 -1
- package/slash-commands/adversarial-review.md +1 -1
- package/slash-commands/analyst.md +1 -1
- package/slash-commands/architect.md +1 -1
- package/slash-commands/bmad-help.md +1 -1
- package/slash-commands/bmalph-implement.md +152 -152
- package/slash-commands/brainstorm-project.md +1 -1
- package/slash-commands/brainstorming.md +1 -1
- package/slash-commands/correct-course.md +1 -1
- package/slash-commands/create-architecture.md +1 -1
- package/slash-commands/create-brief.md +1 -1
- package/slash-commands/create-epics-stories.md +1 -1
- package/slash-commands/create-prd.md +1 -1
- package/slash-commands/create-story.md +1 -1
- package/slash-commands/create-ux.md +1 -1
- package/slash-commands/dev.md +1 -1
- package/slash-commands/document-project.md +1 -1
- package/slash-commands/domain-research.md +1 -1
- package/slash-commands/editorial-prose.md +1 -1
- package/slash-commands/editorial-structure.md +1 -1
- package/slash-commands/execute-workflow.md +1 -1
- package/slash-commands/generate-project-context.md +1 -0
- package/slash-commands/implementation-readiness.md +1 -1
- package/slash-commands/index-docs.md +1 -1
- package/slash-commands/market-research.md +1 -1
- package/slash-commands/party-mode.md +1 -1
- package/slash-commands/pm.md +1 -1
- package/slash-commands/qa-automate.md +1 -0
- package/slash-commands/qa.md +1 -0
- package/slash-commands/quick-dev.md +1 -1
- package/slash-commands/quick-flow-solo-dev.md +1 -1
- package/slash-commands/retrospective.md +1 -1
- package/slash-commands/shard-doc.md +1 -1
- package/slash-commands/sm.md +1 -1
- package/slash-commands/sprint-planning.md +1 -1
- package/slash-commands/sprint-status.md +1 -1
- package/slash-commands/tech-spec.md +1 -1
- package/slash-commands/tech-writer.md +1 -0
- package/slash-commands/technical-research.md +1 -1
- package/slash-commands/ux-designer.md +1 -1
- package/slash-commands/validate-architecture.md +1 -1
- package/slash-commands/validate-brief.md +1 -1
- package/slash-commands/validate-epics-stories.md +1 -1
- package/slash-commands/validate-prd.md +1 -1
- package/slash-commands/validate-story.md +1 -1
- package/slash-commands/validate-ux.md +1 -1
- package/bmad/bmm/agents/tea.agent.yaml +0 -63
- package/bmad/bmm/sub-modules/claude-code/config.yaml +0 -4
- package/bmad/bmm/sub-modules/claude-code/injections.yaml +0 -242
- package/bmad/bmm/sub-modules/claude-code/readme.md +0 -87
- package/bmad/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +0 -350
- package/bmad/bmm/testarch/knowledge/api-request.md +0 -442
- package/bmad/bmm/testarch/knowledge/api-testing-patterns.md +0 -843
- package/bmad/bmm/testarch/knowledge/auth-session.md +0 -552
- package/bmad/bmm/testarch/knowledge/burn-in.md +0 -273
- package/bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
- package/bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
- package/bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
- package/bmad/bmm/testarch/knowledge/data-factories.md +0 -500
- package/bmad/bmm/testarch/knowledge/email-auth.md +0 -721
- package/bmad/bmm/testarch/knowledge/error-handling.md +0 -725
- package/bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
- package/bmad/bmm/testarch/knowledge/file-utils.md +0 -463
- package/bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
- package/bmad/bmm/testarch/knowledge/fixtures-composition.md +0 -382
- package/bmad/bmm/testarch/knowledge/intercept-network-call.md +0 -430
- package/bmad/bmm/testarch/knowledge/log.md +0 -429
- package/bmad/bmm/testarch/knowledge/network-error-monitor.md +0 -405
- package/bmad/bmm/testarch/knowledge/network-first.md +0 -486
- package/bmad/bmm/testarch/knowledge/network-recorder.md +0 -527
- package/bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
- package/bmad/bmm/testarch/knowledge/overview.md +0 -286
- package/bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
- package/bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
- package/bmad/bmm/testarch/knowledge/recurse.md +0 -421
- package/bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
- package/bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
- package/bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
- package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
- package/bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
- package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
- package/bmad/bmm/testarch/knowledge/test-quality.md +0 -664
- package/bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
- package/bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
- package/bmad/bmm/testarch/tea-index.csv +0 -35
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +0 -200
- package/bmad/bmm/workflows/1-analysis/research/workflow.md +0 -173
- package/bmad/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +0 -433
- package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +0 -150
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/data/project-levels.yaml +0 -59
- package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +0 -90
- package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +0 -127
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +0 -39
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +0 -130
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +0 -27
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +0 -43
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +0 -141
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +0 -27
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +0 -49
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +0 -241
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +0 -27
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +0 -38
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +0 -133
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +0 -27
- package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -363
- package/bmad/bmm/workflows/testarch/atdd/checklist.md +0 -374
- package/bmad/bmm/workflows/testarch/atdd/instructions.md +0 -806
- package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -47
- package/bmad/bmm/workflows/testarch/automate/checklist.md +0 -582
- package/bmad/bmm/workflows/testarch/automate/instructions.md +0 -1324
- package/bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -54
- package/bmad/bmm/workflows/testarch/ci/checklist.md +0 -247
- package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -198
- package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -149
- package/bmad/bmm/workflows/testarch/ci/instructions.md +0 -536
- package/bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -47
- package/bmad/bmm/workflows/testarch/framework/checklist.md +0 -320
- package/bmad/bmm/workflows/testarch/framework/instructions.md +0 -481
- package/bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -49
- package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -407
- package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -726
- package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -461
- package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -49
- package/bmad/bmm/workflows/testarch/test-design/checklist.md +0 -407
- package/bmad/bmm/workflows/testarch/test-design/instructions.md +0 -1158
- package/bmad/bmm/workflows/testarch/test-design/test-design-architecture-template.md +0 -213
- package/bmad/bmm/workflows/testarch/test-design/test-design-qa-template.md +0 -286
- package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -294
- package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -71
- package/bmad/bmm/workflows/testarch/test-review/checklist.md +0 -472
- package/bmad/bmm/workflows/testarch/test-review/instructions.md +0 -628
- package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -390
- package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -48
- package/bmad/bmm/workflows/testarch/trace/checklist.md +0 -642
- package/bmad/bmm/workflows/testarch/trace/instructions.md +0 -1030
- package/bmad/bmm/workflows/testarch/trace/trace-template.md +0 -675
- package/bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -57
- package/bmad/core/resources/excalidraw/README.md +0 -160
- package/bmad/core/resources/excalidraw/excalidraw-helpers.md +0 -127
- package/bmad/core/resources/excalidraw/library-loader.md +0 -50
- package/bmad/core/resources/excalidraw/validate-json-instructions.md +0 -79
- package/bmad/core/tasks/bmad-help.md +0 -62
- package/dist/commands/guide.d.ts +0 -1
- package/dist/commands/guide.js +0 -19
- package/dist/commands/implement.d.ts +0 -1
- package/dist/commands/implement.js +0 -83
- package/dist/commands/plan.d.ts +0 -5
- package/dist/commands/plan.js +0 -44
- package/dist/commands/reset.d.ts +0 -5
- package/dist/commands/reset.js +0 -35
- package/dist/commands/resume.d.ts +0 -1
- package/dist/commands/resume.js +0 -44
- package/dist/commands/start.d.ts +0 -5
- package/dist/commands/start.js +0 -54
- package/dist/transition.d.ts +0 -52
- package/dist/transition.js +0 -656
- package/slash-commands/atdd.md +0 -1
- package/slash-commands/continuous-integration.md +0 -1
- package/slash-commands/create-dataflow.md +0 -1
- package/slash-commands/create-diagram.md +0 -1
- package/slash-commands/create-flowchart.md +0 -1
- package/slash-commands/create-wireframe.md +0 -1
- package/slash-commands/nfr-assess.md +0 -1
- package/slash-commands/tea.md +0 -1
- package/slash-commands/test-automate.md +0 -1
- package/slash-commands/test-design.md +0 -1
- package/slash-commands/test-framework.md +0 -1
- package/slash-commands/test-review.md +0 -1
- package/slash-commands/test-trace.md +0 -1
- package/slash-commands/validate-test-design.md +0 -1
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Test Architect workflow: trace (enhanced with gate decision)
|
|
2
|
-
name: testarch-trace
|
|
3
|
-
description: "Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)"
|
|
4
|
-
author: "BMad"
|
|
5
|
-
|
|
6
|
-
# Critical variables from config
|
|
7
|
-
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
8
|
-
output_folder: "{config_source}:output_folder"
|
|
9
|
-
user_name: "{config_source}:user_name"
|
|
10
|
-
communication_language: "{config_source}:communication_language"
|
|
11
|
-
document_output_language: "{config_source}:document_output_language"
|
|
12
|
-
date: system-generated
|
|
13
|
-
|
|
14
|
-
# Workflow components
|
|
15
|
-
installed_path: "{project-root}/_bmad/bmm/workflows/testarch/trace"
|
|
16
|
-
instructions: "{installed_path}/instructions.md"
|
|
17
|
-
validation: "{installed_path}/checklist.md"
|
|
18
|
-
template: "{installed_path}/trace-template.md"
|
|
19
|
-
|
|
20
|
-
# Variables and inputs
|
|
21
|
-
variables:
|
|
22
|
-
# Directory paths
|
|
23
|
-
test_dir: "{project-root}/tests" # Root test directory
|
|
24
|
-
source_dir: "{project-root}/src" # Source code directory
|
|
25
|
-
|
|
26
|
-
# Workflow behavior
|
|
27
|
-
coverage_levels: "e2e,api,component,unit" # Which test levels to trace
|
|
28
|
-
gate_type: "story" # story | epic | release | hotfix - determines gate scope
|
|
29
|
-
decision_mode: "deterministic" # deterministic (rule-based) | manual (team decision)
|
|
30
|
-
|
|
31
|
-
# Output configuration
|
|
32
|
-
default_output_file: "{output_folder}/traceability-matrix.md"
|
|
33
|
-
|
|
34
|
-
# Required tools
|
|
35
|
-
required_tools:
|
|
36
|
-
- read_file # Read story, test files, BMad artifacts
|
|
37
|
-
- write_file # Create traceability matrix, gate YAML
|
|
38
|
-
- list_files # Discover test files
|
|
39
|
-
- search_repo # Find tests by test ID, describe blocks
|
|
40
|
-
- glob # Find test files matching patterns
|
|
41
|
-
|
|
42
|
-
tags:
|
|
43
|
-
- qa
|
|
44
|
-
- traceability
|
|
45
|
-
- test-architect
|
|
46
|
-
- coverage
|
|
47
|
-
- requirements
|
|
48
|
-
- gate
|
|
49
|
-
- decision
|
|
50
|
-
- release
|
|
51
|
-
|
|
52
|
-
execution_hints:
|
|
53
|
-
interactive: false # Minimize prompts
|
|
54
|
-
autonomous: true # Proceed without user input unless blocked
|
|
55
|
-
iterative: true
|
|
56
|
-
|
|
57
|
-
web_bundle: false
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
# Core Excalidraw Resources
|
|
2
|
-
|
|
3
|
-
Universal knowledge for creating Excalidraw diagrams. All agents that create Excalidraw files should reference these resources.
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
Provides the **HOW** (universal knowledge) while agents provide the **WHAT** (domain-specific application).
|
|
8
|
-
|
|
9
|
-
**Core = "How to create Excalidraw elements"**
|
|
10
|
-
|
|
11
|
-
- How to group shapes with text labels
|
|
12
|
-
- How to calculate text width
|
|
13
|
-
- How to create arrows with proper bindings
|
|
14
|
-
- How to validate JSON syntax
|
|
15
|
-
- Base structure and primitives
|
|
16
|
-
|
|
17
|
-
**Agents = "What diagrams to create"**
|
|
18
|
-
|
|
19
|
-
- Frame Expert (BMM): Technical flowcharts, architecture diagrams, wireframes
|
|
20
|
-
- Presentation Master (CIS): Pitch decks, creative visuals, Rube Goldberg machines
|
|
21
|
-
- Tech Writer (BMM): Documentation diagrams, concept explanations
|
|
22
|
-
|
|
23
|
-
## Files in This Directory
|
|
24
|
-
|
|
25
|
-
### excalidraw-helpers.md
|
|
26
|
-
|
|
27
|
-
**Universal element creation patterns**
|
|
28
|
-
|
|
29
|
-
- Text width calculation
|
|
30
|
-
- Element grouping rules (shapes + labels)
|
|
31
|
-
- Grid alignment
|
|
32
|
-
- Arrow creation (straight, elbow)
|
|
33
|
-
- Theme application
|
|
34
|
-
- Validation checklist
|
|
35
|
-
- Optimization rules
|
|
36
|
-
|
|
37
|
-
**Agents reference this to:**
|
|
38
|
-
|
|
39
|
-
- Create properly grouped shapes
|
|
40
|
-
- Calculate text dimensions
|
|
41
|
-
- Connect elements with arrows
|
|
42
|
-
- Ensure valid structure
|
|
43
|
-
|
|
44
|
-
### validate-json-instructions.md
|
|
45
|
-
|
|
46
|
-
**Universal JSON validation process**
|
|
47
|
-
|
|
48
|
-
- How to validate Excalidraw JSON
|
|
49
|
-
- Common errors and fixes
|
|
50
|
-
- Workflow integration
|
|
51
|
-
- Error recovery
|
|
52
|
-
|
|
53
|
-
**Agents reference this to:**
|
|
54
|
-
|
|
55
|
-
- Validate files after creation
|
|
56
|
-
- Fix syntax errors
|
|
57
|
-
- Ensure files can be opened in Excalidraw
|
|
58
|
-
|
|
59
|
-
### library-loader.md (Future)
|
|
60
|
-
|
|
61
|
-
**How to load external .excalidrawlib files**
|
|
62
|
-
|
|
63
|
-
- Programmatic library loading
|
|
64
|
-
- Community library integration
|
|
65
|
-
- Custom library management
|
|
66
|
-
|
|
67
|
-
**Status:** To be developed when implementing external library support.
|
|
68
|
-
|
|
69
|
-
## How Agents Use These Resources
|
|
70
|
-
|
|
71
|
-
### Example: Frame Expert (Technical Diagrams)
|
|
72
|
-
|
|
73
|
-
```yaml
|
|
74
|
-
# workflows/excalidraw-diagrams/create-flowchart/workflow.yaml
|
|
75
|
-
helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
|
|
76
|
-
json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Domain-specific additions:**
|
|
80
|
-
|
|
81
|
-
```yaml
|
|
82
|
-
# workflows/excalidraw-diagrams/_shared/flowchart-templates.yaml
|
|
83
|
-
flowchart:
|
|
84
|
-
start_node:
|
|
85
|
-
type: ellipse
|
|
86
|
-
width: 120
|
|
87
|
-
height: 60
|
|
88
|
-
process_box:
|
|
89
|
-
type: rectangle
|
|
90
|
-
width: 160
|
|
91
|
-
height: 80
|
|
92
|
-
decision_diamond:
|
|
93
|
-
type: diamond
|
|
94
|
-
width: 140
|
|
95
|
-
height: 100
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Example: Presentation Master (Creative Visuals)
|
|
99
|
-
|
|
100
|
-
```yaml
|
|
101
|
-
# workflows/create-visual-metaphor/workflow.yaml
|
|
102
|
-
helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
|
|
103
|
-
json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
**Domain-specific additions:**
|
|
107
|
-
|
|
108
|
-
```yaml
|
|
109
|
-
# workflows/_shared/creative-templates.yaml
|
|
110
|
-
rube_goldberg:
|
|
111
|
-
whimsical_connector:
|
|
112
|
-
type: arrow
|
|
113
|
-
strokeStyle: dashed
|
|
114
|
-
roughness: 2
|
|
115
|
-
playful_box:
|
|
116
|
-
type: rectangle
|
|
117
|
-
roundness: 12
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## What Doesn't Belong in Core
|
|
121
|
-
|
|
122
|
-
**Domain-Specific Elements:**
|
|
123
|
-
|
|
124
|
-
- Flowchart-specific templates (belongs in Frame Expert)
|
|
125
|
-
- Pitch deck layouts (belongs in Presentation Master)
|
|
126
|
-
- Documentation-specific styles (belongs in Tech Writer)
|
|
127
|
-
|
|
128
|
-
**Agent Workflows:**
|
|
129
|
-
|
|
130
|
-
- How to create a flowchart (Frame Expert workflow)
|
|
131
|
-
- How to create a pitch deck (Presentation Master workflow)
|
|
132
|
-
- Step-by-step diagram creation (agent-specific)
|
|
133
|
-
|
|
134
|
-
**Theming:**
|
|
135
|
-
|
|
136
|
-
- Currently in agent workflows
|
|
137
|
-
- **Future:** Will be refactored to core as user-configurable themes
|
|
138
|
-
|
|
139
|
-
## Architecture Principle
|
|
140
|
-
|
|
141
|
-
**Single Source of Truth:**
|
|
142
|
-
|
|
143
|
-
- Core holds universal knowledge
|
|
144
|
-
- Agents reference core, don't duplicate
|
|
145
|
-
- Updates to core benefit all agents
|
|
146
|
-
- Agents specialize with domain knowledge
|
|
147
|
-
|
|
148
|
-
**DRY (Don't Repeat Yourself):**
|
|
149
|
-
|
|
150
|
-
- Element creation logic: ONCE in core
|
|
151
|
-
- Text width calculation: ONCE in core
|
|
152
|
-
- Validation process: ONCE in core
|
|
153
|
-
- Arrow binding patterns: ONCE in core
|
|
154
|
-
|
|
155
|
-
## Future Enhancements
|
|
156
|
-
|
|
157
|
-
1. **External Library Loader** - Load .excalidrawlib files from libraries.excalidraw.com
|
|
158
|
-
2. **Theme Management** - User-configurable color themes saved in core
|
|
159
|
-
3. **Component Library** - Shared reusable components across agents
|
|
160
|
-
4. **Layout Algorithms** - Auto-layout helpers for positioning elements
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
# Excalidraw Element Creation Guidelines
|
|
2
|
-
|
|
3
|
-
## Text Width Calculation
|
|
4
|
-
|
|
5
|
-
For text elements inside shapes (labels):
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
text_width = (text.length × fontSize × 0.6) + 20
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Round to nearest 10 for grid alignment.
|
|
12
|
-
|
|
13
|
-
## Element Grouping Rules
|
|
14
|
-
|
|
15
|
-
**CRITICAL:** When creating shapes with labels:
|
|
16
|
-
|
|
17
|
-
1. Generate unique IDs:
|
|
18
|
-
- `shape-id` for the shape
|
|
19
|
-
- `text-id` for the text
|
|
20
|
-
- `group-id` for the group
|
|
21
|
-
|
|
22
|
-
2. Shape element must have:
|
|
23
|
-
- `groupIds: [group-id]`
|
|
24
|
-
- `boundElements: [{type: "text", id: text-id}]`
|
|
25
|
-
|
|
26
|
-
3. Text element must have:
|
|
27
|
-
- `containerId: shape-id`
|
|
28
|
-
- `groupIds: [group-id]` (SAME as shape)
|
|
29
|
-
- `textAlign: "center"`
|
|
30
|
-
- `verticalAlign: "middle"`
|
|
31
|
-
- `width: calculated_width`
|
|
32
|
-
|
|
33
|
-
## Grid Alignment
|
|
34
|
-
|
|
35
|
-
- Snap all `x`, `y` coordinates to 20px grid
|
|
36
|
-
- Formula: `Math.round(value / 20) * 20`
|
|
37
|
-
- Spacing between elements: 60px minimum
|
|
38
|
-
|
|
39
|
-
## Arrow Creation
|
|
40
|
-
|
|
41
|
-
### Straight Arrows
|
|
42
|
-
|
|
43
|
-
Use for forward flow (left-to-right, top-to-bottom):
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
{
|
|
47
|
-
"type": "arrow",
|
|
48
|
-
"startBinding": {
|
|
49
|
-
"elementId": "source-shape-id",
|
|
50
|
-
"focus": 0,
|
|
51
|
-
"gap": 10
|
|
52
|
-
},
|
|
53
|
-
"endBinding": {
|
|
54
|
-
"elementId": "target-shape-id",
|
|
55
|
-
"focus": 0,
|
|
56
|
-
"gap": 10
|
|
57
|
-
},
|
|
58
|
-
"points": [[0, 0], [distance_x, distance_y]]
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Elbow Arrows
|
|
63
|
-
|
|
64
|
-
Use for upward flow, backward flow, or complex routing:
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"type": "arrow",
|
|
69
|
-
"startBinding": {...},
|
|
70
|
-
"endBinding": {...},
|
|
71
|
-
"points": [
|
|
72
|
-
[0, 0],
|
|
73
|
-
[intermediate_x, 0],
|
|
74
|
-
[intermediate_x, intermediate_y],
|
|
75
|
-
[final_x, final_y]
|
|
76
|
-
],
|
|
77
|
-
"elbowed": true
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Update Connected Shapes
|
|
82
|
-
|
|
83
|
-
After creating arrow, update `boundElements` on both connected shapes:
|
|
84
|
-
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"id": "shape-id",
|
|
88
|
-
"boundElements": [
|
|
89
|
-
{ "type": "text", "id": "text-id" },
|
|
90
|
-
{ "type": "arrow", "id": "arrow-id" }
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Theme Application
|
|
96
|
-
|
|
97
|
-
Theme colors should be applied consistently:
|
|
98
|
-
|
|
99
|
-
- **Shapes**: `backgroundColor` from theme primary fill
|
|
100
|
-
- **Borders**: `strokeColor` from theme accent
|
|
101
|
-
- **Text**: `strokeColor` = "#1e1e1e" (dark text)
|
|
102
|
-
- **Arrows**: `strokeColor` from theme accent
|
|
103
|
-
|
|
104
|
-
## Validation Checklist
|
|
105
|
-
|
|
106
|
-
Before saving, verify:
|
|
107
|
-
|
|
108
|
-
- [ ] All shapes with labels have matching `groupIds`
|
|
109
|
-
- [ ] All text elements have `containerId` pointing to parent shape
|
|
110
|
-
- [ ] Text width calculated properly (no cutoff)
|
|
111
|
-
- [ ] Text alignment set (`textAlign` + `verticalAlign`)
|
|
112
|
-
- [ ] All elements snapped to 20px grid
|
|
113
|
-
- [ ] All arrows have `startBinding` and `endBinding`
|
|
114
|
-
- [ ] `boundElements` array updated on connected shapes
|
|
115
|
-
- [ ] Theme colors applied consistently
|
|
116
|
-
- [ ] No metadata or history in final output
|
|
117
|
-
- [ ] All IDs are unique
|
|
118
|
-
|
|
119
|
-
## Optimization
|
|
120
|
-
|
|
121
|
-
Remove from final output:
|
|
122
|
-
|
|
123
|
-
- `appState` object
|
|
124
|
-
- `files` object (unless images used)
|
|
125
|
-
- All elements with `isDeleted: true`
|
|
126
|
-
- Unused library items
|
|
127
|
-
- Version history
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# External Library Loader
|
|
2
|
-
|
|
3
|
-
**Status:** Placeholder for future implementation
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
Load external .excalidrawlib files from <https://libraries.excalidraw.com> or custom sources.
|
|
8
|
-
|
|
9
|
-
## Planned Capabilities
|
|
10
|
-
|
|
11
|
-
- Load libraries by URL
|
|
12
|
-
- Load libraries from local files
|
|
13
|
-
- Merge multiple libraries
|
|
14
|
-
- Filter library components
|
|
15
|
-
- Cache loaded libraries
|
|
16
|
-
|
|
17
|
-
## API Reference
|
|
18
|
-
|
|
19
|
-
Will document how to use:
|
|
20
|
-
|
|
21
|
-
- `importLibrary(url)` - Load library from URL
|
|
22
|
-
- `loadSceneOrLibraryFromBlob()` - Load from file
|
|
23
|
-
- `mergeLibraryItems()` - Combine libraries
|
|
24
|
-
|
|
25
|
-
## Usage Example
|
|
26
|
-
|
|
27
|
-
```yaml
|
|
28
|
-
# Future workflow.yaml structure
|
|
29
|
-
libraries:
|
|
30
|
-
- url: 'https://libraries.excalidraw.com/libraries/...'
|
|
31
|
-
filter: ['aws', 'cloud']
|
|
32
|
-
- path: '{project-root}/_data/custom-library.excalidrawlib'
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Implementation Notes
|
|
36
|
-
|
|
37
|
-
This will be developed when agents need to leverage the extensive library ecosystem available at <https://libraries.excalidraw.com>.
|
|
38
|
-
|
|
39
|
-
Hundreds of pre-built component libraries exist for:
|
|
40
|
-
|
|
41
|
-
- AWS/Cloud icons
|
|
42
|
-
- UI/UX components
|
|
43
|
-
- Business diagrams
|
|
44
|
-
- Mind map shapes
|
|
45
|
-
- Floor plans
|
|
46
|
-
- And much more...
|
|
47
|
-
|
|
48
|
-
## User Configuration
|
|
49
|
-
|
|
50
|
-
Future: Users will be able to configure favorite libraries in their BMAD config for automatic loading.
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# JSON Validation Instructions
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Validate Excalidraw JSON files after saving to catch syntax errors (missing commas, brackets, quotes).
|
|
6
|
-
|
|
7
|
-
## How to Validate
|
|
8
|
-
|
|
9
|
-
Use Node.js built-in JSON parsing to validate the file:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
node -e "JSON.parse(require('fs').readFileSync('FILE_PATH', 'utf8')); console.log('✓ Valid JSON')"
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Replace `FILE_PATH` with the actual file path.
|
|
16
|
-
|
|
17
|
-
## Exit Codes
|
|
18
|
-
|
|
19
|
-
- Exit code 0 = Valid JSON
|
|
20
|
-
- Exit code 1 = Invalid JSON (syntax error)
|
|
21
|
-
|
|
22
|
-
## Error Output
|
|
23
|
-
|
|
24
|
-
If invalid, Node.js will output:
|
|
25
|
-
|
|
26
|
-
- Error message with description
|
|
27
|
-
- Position in file where error occurred
|
|
28
|
-
- Line and column information (if available)
|
|
29
|
-
|
|
30
|
-
## Common Errors and Fixes
|
|
31
|
-
|
|
32
|
-
### Missing Comma
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
SyntaxError: Expected ',' or '}' after property value
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Fix:** Add comma after the property value
|
|
39
|
-
|
|
40
|
-
### Missing Bracket/Brace
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
SyntaxError: Unexpected end of JSON input
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**Fix:** Add missing closing bracket `]` or brace `}`
|
|
47
|
-
|
|
48
|
-
### Extra Comma (Trailing)
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
SyntaxError: Unexpected token ,
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Fix:** Remove the trailing comma before `]` or `}`
|
|
55
|
-
|
|
56
|
-
### Missing Quote
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
SyntaxError: Unexpected token
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Fix:** Add missing quote around string value
|
|
63
|
-
|
|
64
|
-
## Workflow Integration
|
|
65
|
-
|
|
66
|
-
After saving an Excalidraw file, run validation:
|
|
67
|
-
|
|
68
|
-
1. Save the file
|
|
69
|
-
2. Run: `node -e "JSON.parse(require('fs').readFileSync('{{save_location}}', 'utf8')); console.log('✓ Valid JSON')"`
|
|
70
|
-
3. If validation fails:
|
|
71
|
-
- Read the error message for line/position
|
|
72
|
-
- Open the file at that location
|
|
73
|
-
- Fix the syntax error
|
|
74
|
-
- Save and re-validate
|
|
75
|
-
4. Repeat until validation passes
|
|
76
|
-
|
|
77
|
-
## Critical Rule
|
|
78
|
-
|
|
79
|
-
**NEVER delete the file due to validation errors - always fix the syntax error at the reported location.**
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bmad-help
|
|
3
|
-
description: Get unstuck by showing what workflow steps come next or answering questions about what to do
|
|
4
|
-
standalone: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Task: BMAD Help
|
|
8
|
-
|
|
9
|
-
## KEY RULES
|
|
10
|
-
|
|
11
|
-
- **Empty `phase` = anytime** — Universal tools work regardless of workflow state
|
|
12
|
-
- **Numbered phases indicate sequence** — Phases like `1-discover` → `2-define` → `3-build` → `4-ship` flow in order (naming varies by module)
|
|
13
|
-
- **Stay in module** — Guide through the active module's workflow based on phase+sequence ordering
|
|
14
|
-
- **Descriptions contain routing** — Read for alternate paths (e.g., "back to previous if fixes needed")
|
|
15
|
-
- **`required=true` blocks progress** — Required workflows must complete before proceeding to later phases
|
|
16
|
-
- **Artifacts reveal completion** — Search resolved output paths for `outputs` patterns, fuzzy-match found files to workflow rows
|
|
17
|
-
|
|
18
|
-
## MODULE DETECTION
|
|
19
|
-
|
|
20
|
-
- **Empty `module` column** → universal tools (work across all modules)
|
|
21
|
-
- **Named `module`** → module-specific workflows
|
|
22
|
-
|
|
23
|
-
Detect the active module from conversation context, recent workflows, or user query keywords. If ambiguous, ask the user.
|
|
24
|
-
|
|
25
|
-
## INPUT ANALYSIS
|
|
26
|
-
|
|
27
|
-
Determine what was just completed:
|
|
28
|
-
- Did someone state they completed something? Proceed as if that was the input.
|
|
29
|
-
- Was a workflow just completed in this conversation? Proceed as if that was the input.
|
|
30
|
-
- Search resolved artifact locations for files; fuzzy-match to workflow `outputs` patterns.
|
|
31
|
-
- If an `index.md` exists, read it for additional context.
|
|
32
|
-
- If still unclear, ask: "What workflow did you most recently complete?"
|
|
33
|
-
|
|
34
|
-
## EXECUTION
|
|
35
|
-
|
|
36
|
-
1. **Load catalog** — Load `{project-root}/_bmad/_config/bmad-help.csv`
|
|
37
|
-
|
|
38
|
-
2. **Resolve output locations** — Scan each folder under `_bmad/` (except `_config`) for `config.yaml`. For each workflow row, resolve its `output-location` variables against that module's config so artifact paths can be searched.
|
|
39
|
-
|
|
40
|
-
3. **Analyze input** — Task may provide a workflow name/code, conversational phrase, or nothing. Infer what was just completed using INPUT ANALYSIS above.
|
|
41
|
-
|
|
42
|
-
4. **Detect active module** — Use MODULE DETECTION above to determine which module the user is working in.
|
|
43
|
-
|
|
44
|
-
5. **Present recommendations** — Show next steps based on completed workflows, phase/sequence ordering (KEY RULES), and artifact detection. Format per the following
|
|
45
|
-
|
|
46
|
-
## RECOMMENDED OUTPUT FORMAT
|
|
47
|
-
|
|
48
|
-
**Optional items first** — List optional workflows until a required step is reached
|
|
49
|
-
**Required items next** — List the next required workflow
|
|
50
|
-
For each item show:
|
|
51
|
-
- Workflow **name**
|
|
52
|
-
- **Command** (prefixed with `/`, e.g., `/bmad:example:build-prototype`)
|
|
53
|
-
- **Agent** title and display name from the CSV (e.g., "🎨 Alex (Designer)")
|
|
54
|
-
- Brief **description**
|
|
55
|
-
|
|
56
|
-
### Additional response output guidance to convey:
|
|
57
|
-
- Run each workflow in a **fresh context window**
|
|
58
|
-
- Load the agent using (`/` + `agent-command`), or run the workflow command directly
|
|
59
|
-
- For **validation workflows**: recommend using a different high-quality LLM if available
|
|
60
|
-
- For conversational requests: match the user's tone while presenting clearly
|
|
61
|
-
|
|
62
|
-
6. Return to the calling process after presenting recommendations.
|
package/dist/commands/guide.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function guideCommand(): void;
|
package/dist/commands/guide.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
export function guideCommand() {
|
|
3
|
-
console.log(chalk.bold("\nBMALPH Workflow\n"));
|
|
4
|
-
console.log(chalk.blue(" BMAD — Structured Planning"));
|
|
5
|
-
console.log(chalk.dim(" ─────────────────────────────────────────"));
|
|
6
|
-
console.log(` Phase 1 Analysis Requirements, research, risks`);
|
|
7
|
-
console.log(` Phase 2 Planning PRD, stories, MVP scope`);
|
|
8
|
-
console.log(` Phase 3 Design Architecture, data model, API\n`);
|
|
9
|
-
console.log(chalk.blue(" Ralph — Autonomous Implementation"));
|
|
10
|
-
console.log(chalk.dim(" ─────────────────────────────────────────"));
|
|
11
|
-
console.log(` Phase 4 Implementation TDD build, code review, validation\n`);
|
|
12
|
-
console.log(chalk.dim(" Each phase runs iteratively with human checkpoints."));
|
|
13
|
-
console.log(chalk.dim(" The loop detects completion and advances automatically.\n"));
|
|
14
|
-
console.log("Commands:");
|
|
15
|
-
console.log(` ${chalk.cyan("bmalph start")} Begin from Phase 1`);
|
|
16
|
-
console.log(` ${chalk.cyan("bmalph status")} Check current progress`);
|
|
17
|
-
console.log(` ${chalk.cyan("bmalph resume")} Continue from last checkpoint`);
|
|
18
|
-
console.log(` ${chalk.cyan("/bmalph")} Interactive mode in Claude Code`);
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function implementCommand(): Promise<void>;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { spawn } from "child_process";
|
|
3
|
-
import { access } from "fs/promises";
|
|
4
|
-
import { join } from "path";
|
|
5
|
-
import { readState, writeState } from "../utils/state.js";
|
|
6
|
-
import { isInitialized } from "../installer.js";
|
|
7
|
-
import { runTransition } from "../transition.js";
|
|
8
|
-
export async function implementCommand() {
|
|
9
|
-
try {
|
|
10
|
-
await runImplement();
|
|
11
|
-
}
|
|
12
|
-
catch (err) {
|
|
13
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
14
|
-
console.error(chalk.red(`Error: ${message}`));
|
|
15
|
-
process.exit(1);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async function runImplement() {
|
|
19
|
-
const projectDir = process.cwd();
|
|
20
|
-
if (!(await isInitialized(projectDir))) {
|
|
21
|
-
console.log(chalk.red("bmalph is not initialized. Run 'bmalph init' first."));
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
// Check if Ralph loop script exists
|
|
25
|
-
const loopScript = join(projectDir, ".ralph/ralph_loop.sh");
|
|
26
|
-
try {
|
|
27
|
-
await access(loopScript);
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
console.log(chalk.red("Ralph loop script not found at .ralph/ralph_loop.sh"));
|
|
31
|
-
console.log("Run 'bmalph init' to install Ralph.");
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// Run transition: BMAD artifacts → Ralph inputs
|
|
35
|
-
console.log(chalk.blue("Transitioning BMAD artifacts to Ralph format..."));
|
|
36
|
-
try {
|
|
37
|
-
const result = await runTransition(projectDir);
|
|
38
|
-
if (result.fixPlanPreserved) {
|
|
39
|
-
console.log(chalk.green("Preserved existing @fix_plan.md (has progress)"));
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
console.log(chalk.green(`Generated fix_plan.md with ${result.storiesCount} stories`));
|
|
43
|
-
}
|
|
44
|
-
for (const warning of result.warnings) {
|
|
45
|
-
console.log(chalk.yellow(`Warning: ${warning}`));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
50
|
-
console.log(chalk.red(`Transition failed: ${message}`));
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
// Update state
|
|
54
|
-
const now = new Date().toISOString();
|
|
55
|
-
const state = await readState(projectDir);
|
|
56
|
-
const newState = {
|
|
57
|
-
currentPhase: 4,
|
|
58
|
-
status: "implementing",
|
|
59
|
-
startedAt: state?.startedAt ?? now,
|
|
60
|
-
lastUpdated: now,
|
|
61
|
-
};
|
|
62
|
-
await writeState(projectDir, newState);
|
|
63
|
-
// Start Ralph loop
|
|
64
|
-
console.log(chalk.blue("\nStarting Ralph autonomous loop..."));
|
|
65
|
-
console.log(chalk.dim("Press Ctrl+C to stop the loop.\n"));
|
|
66
|
-
const child = spawn("bash", [loopScript], {
|
|
67
|
-
cwd: projectDir,
|
|
68
|
-
stdio: "inherit",
|
|
69
|
-
env: { ...process.env, RALPH_DIR: join(projectDir, ".ralph") },
|
|
70
|
-
});
|
|
71
|
-
child.on("close", (code) => {
|
|
72
|
-
if (code === 0) {
|
|
73
|
-
console.log(chalk.green("\nRalph loop completed successfully."));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
console.log(chalk.yellow(`\nRalph loop exited with code ${code}`));
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
child.on("error", (err) => {
|
|
80
|
-
console.log(chalk.red(`Failed to start Ralph loop: ${err.message}`));
|
|
81
|
-
console.log(chalk.dim("Ensure bash is available and ralph_loop.sh is executable."));
|
|
82
|
-
});
|
|
83
|
-
}
|