bmad-odoo 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.
- package/CHANGELOG.md +38 -0
- package/LICENSE +21 -0
- package/README.md +317 -0
- package/_config/agent-manifest.csv +10 -0
- package/_config/manifest.yaml +10 -0
- package/_config/workflow-manifest.csv +10 -0
- package/bmm/agents/analyst.md +93 -0
- package/bmm/agents/architect.md +72 -0
- package/bmm/agents/dev.md +85 -0
- package/bmm/agents/pm.md +61 -0
- package/bmm/agents/quick-flow-solo-dev.md +58 -0
- package/bmm/agents/sm.md +56 -0
- package/bmm/agents/tea.md +57 -0
- package/bmm/agents/tech-writer.md +56 -0
- package/bmm/agents/ux-designer.md +56 -0
- package/bmm/config.yaml +27 -0
- package/bmm/data/odoo-knowledge-base.md +90 -0
- package/bmm/teams/default-team.md +17 -0
- package/bmm/testarch/odoo-test-design/steps/step-01-init.md +44 -0
- package/bmm/testarch/odoo-test-design/steps/step-02-test-cases.md +82 -0
- package/bmm/testarch/odoo-test-design/steps/step-03-complete.md +69 -0
- package/bmm/testarch/odoo-test-design/workflow.md +30 -0
- package/bmm/testarch/odoo-testing-guide.md +30 -0
- package/bmm/workflows/1-analysis/analyze-process/process-analysis.template.md +80 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-01-init.md +44 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-02-current-state.md +55 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-03-pain-points.md +67 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-04-odoo-mapping.md +67 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-05-recommendations.md +99 -0
- package/bmm/workflows/1-analysis/analyze-process/steps/step-06-complete.md +62 -0
- package/bmm/workflows/1-analysis/analyze-process/workflow.md +60 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-01-init.md +45 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-02-users-stakeholders.md +46 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-03-odoo-modules.md +59 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-04-scope-timeline.md +64 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-05-complete.md +32 -0
- package/bmm/workflows/1-analysis/create-odoo-product-brief/workflow.md +35 -0
- package/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
- package/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
- package/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/bmm/workflows/1-analysis/gap-analysis/steps/step-01-init.md +45 -0
- package/bmm/workflows/1-analysis/gap-analysis/steps/step-02-odoo-capabilities.md +36 -0
- package/bmm/workflows/1-analysis/gap-analysis/steps/step-03-gap-matrix.md +51 -0
- package/bmm/workflows/1-analysis/gap-analysis/workflow.md +45 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-01-init.md +48 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-02-technical-design.md +82 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-03-generate.md +86 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-addon/workflow.md +39 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-01-init.md +55 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-02-stories.md +53 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-03-complete.md +39 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-epic/workflow.md +35 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-01-init.md +46 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-02-functional-requirements.md +56 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-03-technical-requirements.md +45 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-04-complete.md +40 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-prd/workflow.md +29 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-01-init.md +52 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-02-form-design.md +78 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-03-tree-design.md +84 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-04-complete.md +55 -0
- package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/workflow.md +30 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-01-init.md +49 -0
- package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-02-risk-assessment.md +51 -0
- package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-03-roadmap.md +58 -0
- package/bmm/workflows/2-plan-workflows/plan-odoo-migration/workflow.md +29 -0
- package/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
- package/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
- package/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
- package/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
- package/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
- package/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-01-init.md +44 -0
- package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-02-inheritance-strategy.md +75 -0
- package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-03-implementation.md +64 -0
- package/bmm/workflows/3-solutioning/enhance-existing-system/workflow.md +30 -0
- package/bmm/workflows/3-solutioning/quick-addon/workflow.md +23 -0
- package/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
- package/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
- package/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
- package/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
- package/bmm/workflows/4-implementation/create-next-story/steps/step-01-init.md +53 -0
- package/bmm/workflows/4-implementation/create-next-story/steps/step-02-acceptance-criteria.md +63 -0
- package/bmm/workflows/4-implementation/create-next-story/steps/step-03-tasks.md +68 -0
- package/bmm/workflows/4-implementation/create-next-story/steps/step-04-complete.md +70 -0
- package/bmm/workflows/4-implementation/create-next-story/workflow.md +30 -0
- package/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/bmm/workflows/4-implementation/dev-story/instructions.xml +409 -0
- package/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
- package/bmm/workflows/4-implementation/rapid-brownfield/steps/step-01-quick-story.md +79 -0
- package/bmm/workflows/4-implementation/rapid-brownfield/workflow.md +29 -0
- package/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
- package/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
- package/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
- package/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
- package/bmm/workflows/document-odoo/steps/step-01-init.md +43 -0
- package/bmm/workflows/document-odoo/steps/step-02-readme.md +98 -0
- package/bmm/workflows/document-odoo/steps/step-03-user-guide.md +76 -0
- package/bmm/workflows/document-odoo/steps/step-04-complete.md +58 -0
- package/bmm/workflows/document-odoo/workflow.md +30 -0
- package/bmm/workflows/document-project/checklist.md +245 -0
- package/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/bmm/workflows/document-project/instructions.md +221 -0
- package/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/bmm/workflows/document-project/workflow.yaml +28 -0
- package/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
- package/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
- package/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
- package/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
- package/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
- package/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
- package/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/bmm/workflows/testarch/automate/workflow.yaml +52 -0
- package/bmm/workflows/testarch/ci/checklist.md +248 -0
- package/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/bmm/workflows/testarch/ci/workflow.yaml +45 -0
- package/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/bmm/workflows/testarch/framework/workflow.yaml +47 -0
- package/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
- package/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
- package/bmm/workflows/testarch/test-design/checklist.md +235 -0
- package/bmm/workflows/testarch/test-design/instructions.md +788 -0
- package/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
- package/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
- package/bmm/workflows/testarch/trace/checklist.md +655 -0
- package/bmm/workflows/testarch/trace/instructions.md +1047 -0
- package/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/bmm/workflows/testarch/trace/workflow.yaml +55 -0
- package/bmm/workflows/workflow-status/init/instructions.md +346 -0
- package/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
- package/bmm/workflows/workflow-status/instructions.md +395 -0
- package/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
- package/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
- package/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
- package/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
- package/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/bmm/workflows/workflow-status/workflow.yaml +30 -0
- package/core/agents/bmad-odoo-master.md +61 -0
- package/core/config.yaml +7 -0
- package/core/resources/README.md +5 -0
- package/core/tasks/README.md +7 -0
- package/core/workflows/README.md +8 -0
- package/index.js +84 -0
- package/package.json +48 -0
- package/scripts/postinstall.js +447 -0
- package/scripts/setup-cli.js +17 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Full Project Scan Workflow Configuration
|
|
2
|
+
name: "document-project-full-scan"
|
|
3
|
+
description: "Complete project documentation workflow (initial scan or full rescan)"
|
|
4
|
+
author: "BMad"
|
|
5
|
+
|
|
6
|
+
# This is a sub-workflow called by document-project/workflow.yaml
|
|
7
|
+
parent_workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml"
|
|
8
|
+
|
|
9
|
+
# Critical variables inherited from parent
|
|
10
|
+
config_source: "{project-root}/_bmad/bmb/config.yaml"
|
|
11
|
+
output_folder: "{config_source}:output_folder"
|
|
12
|
+
user_name: "{config_source}:user_name"
|
|
13
|
+
date: system-generated
|
|
14
|
+
|
|
15
|
+
# Data files
|
|
16
|
+
documentation_requirements_csv: "{project-root}/_bmad/bmm/workflows/document-project/documentation-requirements.csv"
|
|
17
|
+
|
|
18
|
+
# Module path and component files
|
|
19
|
+
installed_path: "{project-root}/_bmad/bmm/workflows/document-project/workflows"
|
|
20
|
+
template: false # Action workflow
|
|
21
|
+
instructions: "{installed_path}/full-scan-instructions.md"
|
|
22
|
+
validation: "{project-root}/_bmad/bmm/workflows/document-project/checklist.md"
|
|
23
|
+
|
|
24
|
+
# Runtime inputs (passed from parent workflow)
|
|
25
|
+
workflow_mode: "" # "initial_scan" or "full_rescan"
|
|
26
|
+
scan_level: "" # "quick", "deep", or "exhaustive"
|
|
27
|
+
resume_mode: false
|
|
28
|
+
project_root_path: ""
|
|
29
|
+
|
|
30
|
+
# Configuration
|
|
31
|
+
autonomous: false # Requires user input at key decision points
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "excalidrawlib",
|
|
3
|
+
"version": 2,
|
|
4
|
+
"library": [
|
|
5
|
+
{
|
|
6
|
+
"id": "start-end-circle",
|
|
7
|
+
"status": "published",
|
|
8
|
+
"elements": [
|
|
9
|
+
{
|
|
10
|
+
"type": "ellipse",
|
|
11
|
+
"width": 120,
|
|
12
|
+
"height": 60,
|
|
13
|
+
"strokeColor": "#1976d2",
|
|
14
|
+
"backgroundColor": "#e3f2fd",
|
|
15
|
+
"fillStyle": "solid",
|
|
16
|
+
"strokeWidth": 2,
|
|
17
|
+
"roughness": 0
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "process-rectangle",
|
|
23
|
+
"status": "published",
|
|
24
|
+
"elements": [
|
|
25
|
+
{
|
|
26
|
+
"type": "rectangle",
|
|
27
|
+
"width": 160,
|
|
28
|
+
"height": 80,
|
|
29
|
+
"strokeColor": "#1976d2",
|
|
30
|
+
"backgroundColor": "#e3f2fd",
|
|
31
|
+
"fillStyle": "solid",
|
|
32
|
+
"strokeWidth": 2,
|
|
33
|
+
"roughness": 0,
|
|
34
|
+
"roundness": {
|
|
35
|
+
"type": 3,
|
|
36
|
+
"value": 8
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "decision-diamond",
|
|
43
|
+
"status": "published",
|
|
44
|
+
"elements": [
|
|
45
|
+
{
|
|
46
|
+
"type": "diamond",
|
|
47
|
+
"width": 140,
|
|
48
|
+
"height": 100,
|
|
49
|
+
"strokeColor": "#f57c00",
|
|
50
|
+
"backgroundColor": "#fff3e0",
|
|
51
|
+
"fillStyle": "solid",
|
|
52
|
+
"strokeWidth": 2,
|
|
53
|
+
"roughness": 0
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "data-store",
|
|
59
|
+
"status": "published",
|
|
60
|
+
"elements": [
|
|
61
|
+
{
|
|
62
|
+
"type": "rectangle",
|
|
63
|
+
"width": 140,
|
|
64
|
+
"height": 80,
|
|
65
|
+
"strokeColor": "#388e3c",
|
|
66
|
+
"backgroundColor": "#e8f5e9",
|
|
67
|
+
"fillStyle": "solid",
|
|
68
|
+
"strokeWidth": 2,
|
|
69
|
+
"roughness": 0
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "external-entity",
|
|
75
|
+
"status": "published",
|
|
76
|
+
"elements": [
|
|
77
|
+
{
|
|
78
|
+
"type": "rectangle",
|
|
79
|
+
"width": 120,
|
|
80
|
+
"height": 80,
|
|
81
|
+
"strokeColor": "#7b1fa2",
|
|
82
|
+
"backgroundColor": "#f3e5f5",
|
|
83
|
+
"fillStyle": "solid",
|
|
84
|
+
"strokeWidth": 3,
|
|
85
|
+
"roughness": 0
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
flowchart:
|
|
2
|
+
viewport:
|
|
3
|
+
x: 0
|
|
4
|
+
y: 0
|
|
5
|
+
zoom: 1
|
|
6
|
+
grid:
|
|
7
|
+
size: 20
|
|
8
|
+
spacing:
|
|
9
|
+
vertical: 100
|
|
10
|
+
horizontal: 180
|
|
11
|
+
elements:
|
|
12
|
+
start:
|
|
13
|
+
type: ellipse
|
|
14
|
+
width: 120
|
|
15
|
+
height: 60
|
|
16
|
+
label: "Start"
|
|
17
|
+
process:
|
|
18
|
+
type: rectangle
|
|
19
|
+
width: 160
|
|
20
|
+
height: 80
|
|
21
|
+
roundness: 8
|
|
22
|
+
decision:
|
|
23
|
+
type: diamond
|
|
24
|
+
width: 140
|
|
25
|
+
height: 100
|
|
26
|
+
end:
|
|
27
|
+
type: ellipse
|
|
28
|
+
width: 120
|
|
29
|
+
height: 60
|
|
30
|
+
label: "End"
|
|
31
|
+
|
|
32
|
+
diagram:
|
|
33
|
+
viewport:
|
|
34
|
+
x: 0
|
|
35
|
+
y: 0
|
|
36
|
+
zoom: 1
|
|
37
|
+
grid:
|
|
38
|
+
size: 20
|
|
39
|
+
spacing:
|
|
40
|
+
vertical: 120
|
|
41
|
+
horizontal: 200
|
|
42
|
+
elements:
|
|
43
|
+
component:
|
|
44
|
+
type: rectangle
|
|
45
|
+
width: 180
|
|
46
|
+
height: 100
|
|
47
|
+
roundness: 8
|
|
48
|
+
database:
|
|
49
|
+
type: rectangle
|
|
50
|
+
width: 140
|
|
51
|
+
height: 80
|
|
52
|
+
service:
|
|
53
|
+
type: rectangle
|
|
54
|
+
width: 160
|
|
55
|
+
height: 90
|
|
56
|
+
roundness: 12
|
|
57
|
+
external:
|
|
58
|
+
type: rectangle
|
|
59
|
+
width: 140
|
|
60
|
+
height: 80
|
|
61
|
+
|
|
62
|
+
wireframe:
|
|
63
|
+
viewport:
|
|
64
|
+
x: 0
|
|
65
|
+
y: 0
|
|
66
|
+
zoom: 0.8
|
|
67
|
+
grid:
|
|
68
|
+
size: 20
|
|
69
|
+
spacing:
|
|
70
|
+
vertical: 40
|
|
71
|
+
horizontal: 40
|
|
72
|
+
elements:
|
|
73
|
+
container:
|
|
74
|
+
type: rectangle
|
|
75
|
+
width: 800
|
|
76
|
+
height: 600
|
|
77
|
+
strokeStyle: solid
|
|
78
|
+
strokeWidth: 2
|
|
79
|
+
header:
|
|
80
|
+
type: rectangle
|
|
81
|
+
width: 800
|
|
82
|
+
height: 80
|
|
83
|
+
button:
|
|
84
|
+
type: rectangle
|
|
85
|
+
width: 120
|
|
86
|
+
height: 40
|
|
87
|
+
roundness: 4
|
|
88
|
+
input:
|
|
89
|
+
type: rectangle
|
|
90
|
+
width: 300
|
|
91
|
+
height: 40
|
|
92
|
+
roundness: 4
|
|
93
|
+
text:
|
|
94
|
+
type: text
|
|
95
|
+
fontSize: 16
|
|
96
|
+
|
|
97
|
+
dataflow:
|
|
98
|
+
viewport:
|
|
99
|
+
x: 0
|
|
100
|
+
y: 0
|
|
101
|
+
zoom: 1
|
|
102
|
+
grid:
|
|
103
|
+
size: 20
|
|
104
|
+
spacing:
|
|
105
|
+
vertical: 120
|
|
106
|
+
horizontal: 200
|
|
107
|
+
elements:
|
|
108
|
+
process:
|
|
109
|
+
type: ellipse
|
|
110
|
+
width: 140
|
|
111
|
+
height: 80
|
|
112
|
+
label: "Process"
|
|
113
|
+
datastore:
|
|
114
|
+
type: rectangle
|
|
115
|
+
width: 140
|
|
116
|
+
height: 80
|
|
117
|
+
label: "Data Store"
|
|
118
|
+
external:
|
|
119
|
+
type: rectangle
|
|
120
|
+
width: 120
|
|
121
|
+
height: 80
|
|
122
|
+
strokeWidth: 3
|
|
123
|
+
label: "External Entity"
|
|
124
|
+
dataflow:
|
|
125
|
+
type: arrow
|
|
126
|
+
strokeWidth: 2
|
|
127
|
+
label: "Data Flow"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Create Data Flow Diagram - Validation Checklist
|
|
2
|
+
|
|
3
|
+
## DFD Notation
|
|
4
|
+
|
|
5
|
+
- [ ] Processes shown as circles/ellipses
|
|
6
|
+
- [ ] Data stores shown as parallel lines or rectangles
|
|
7
|
+
- [ ] External entities shown as rectangles
|
|
8
|
+
- [ ] Data flows shown as labeled arrows
|
|
9
|
+
- [ ] Follows standard DFD notation
|
|
10
|
+
|
|
11
|
+
## Structure
|
|
12
|
+
|
|
13
|
+
- [ ] All processes numbered correctly
|
|
14
|
+
- [ ] All data flows labeled with data names
|
|
15
|
+
- [ ] All data stores named appropriately
|
|
16
|
+
- [ ] External entities clearly identified
|
|
17
|
+
|
|
18
|
+
## Completeness
|
|
19
|
+
|
|
20
|
+
- [ ] All inputs and outputs accounted for
|
|
21
|
+
- [ ] No orphaned processes (unconnected)
|
|
22
|
+
- [ ] Data conservation maintained
|
|
23
|
+
- [ ] Level appropriate (context/level 0/level 1)
|
|
24
|
+
|
|
25
|
+
## Layout
|
|
26
|
+
|
|
27
|
+
- [ ] Logical flow direction (left to right, top to bottom)
|
|
28
|
+
- [ ] No crossing data flows where avoidable
|
|
29
|
+
- [ ] Balanced layout
|
|
30
|
+
- [ ] Grid alignment maintained
|
|
31
|
+
|
|
32
|
+
## Technical Quality
|
|
33
|
+
|
|
34
|
+
- [ ] All elements properly grouped
|
|
35
|
+
- [ ] Arrows have proper bindings
|
|
36
|
+
- [ ] Text readable and properly sized
|
|
37
|
+
- [ ] No elements with `isDeleted: true`
|
|
38
|
+
- [ ] JSON is valid
|
|
39
|
+
- [ ] File saved to correct location
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Create Data Flow Diagram - Workflow Instructions
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This workflow creates data flow diagrams (DFD) in Excalidraw format.</critical>
|
|
7
|
+
|
|
8
|
+
<workflow>
|
|
9
|
+
|
|
10
|
+
<step n="0" goal="Contextual Analysis">
|
|
11
|
+
<action>Review user's request and extract: DFD level, processes, data stores, external entities</action>
|
|
12
|
+
<check if="ALL requirements clear"><action>Skip to Step 4</action></check>
|
|
13
|
+
</step>
|
|
14
|
+
|
|
15
|
+
<step n="1" goal="Identify DFD Level" elicit="true">
|
|
16
|
+
<action>Ask: "What level of DFD do you need?"</action>
|
|
17
|
+
<action>Present options:
|
|
18
|
+
1. Context Diagram (Level 0) - Single process showing system boundaries
|
|
19
|
+
2. Level 1 DFD - Major processes and data flows
|
|
20
|
+
3. Level 2 DFD - Detailed sub-processes
|
|
21
|
+
4. Custom - Specify your requirements
|
|
22
|
+
</action>
|
|
23
|
+
<action>WAIT for selection</action>
|
|
24
|
+
</step>
|
|
25
|
+
|
|
26
|
+
<step n="2" goal="Gather Requirements" elicit="true">
|
|
27
|
+
<action>Ask: "Describe the processes, data stores, and external entities in your system"</action>
|
|
28
|
+
<action>WAIT for user description</action>
|
|
29
|
+
<action>Summarize what will be included and confirm with user</action>
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step n="3" goal="Theme Setup" elicit="true">
|
|
33
|
+
<action>Check for existing theme.json, ask to use if exists</action>
|
|
34
|
+
<check if="no existing theme">
|
|
35
|
+
<action>Ask: "Choose a DFD color scheme:"</action>
|
|
36
|
+
<action>Present numbered options:
|
|
37
|
+
1. Standard DFD
|
|
38
|
+
- Process: #e3f2fd (light blue)
|
|
39
|
+
- Data Store: #e8f5e9 (light green)
|
|
40
|
+
- External Entity: #f3e5f5 (light purple)
|
|
41
|
+
- Border: #1976d2 (blue)
|
|
42
|
+
|
|
43
|
+
2. Colorful DFD
|
|
44
|
+
- Process: #fff9c4 (light yellow)
|
|
45
|
+
- Data Store: #c5e1a5 (light lime)
|
|
46
|
+
- External Entity: #ffccbc (light coral)
|
|
47
|
+
- Border: #f57c00 (orange)
|
|
48
|
+
|
|
49
|
+
3. Minimal DFD
|
|
50
|
+
- Process: #f5f5f5 (light gray)
|
|
51
|
+
- Data Store: #eeeeee (gray)
|
|
52
|
+
- External Entity: #e0e0e0 (medium gray)
|
|
53
|
+
- Border: #616161 (dark gray)
|
|
54
|
+
|
|
55
|
+
4. Custom - Define your own colors
|
|
56
|
+
</action>
|
|
57
|
+
<action>WAIT for selection</action>
|
|
58
|
+
<action>Create theme.json based on selection</action>
|
|
59
|
+
</check>
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step n="4" goal="Plan DFD Structure">
|
|
63
|
+
<action>List all processes with numbers (1.0, 2.0, etc.)</action>
|
|
64
|
+
<action>List all data stores (D1, D2, etc.)</action>
|
|
65
|
+
<action>List all external entities</action>
|
|
66
|
+
<action>Map all data flows with labels</action>
|
|
67
|
+
<action>Show planned structure, confirm with user</action>
|
|
68
|
+
</step>
|
|
69
|
+
|
|
70
|
+
<step n="5" goal="Load Resources">
|
|
71
|
+
<action>Load {{templates}} and extract `dataflow` section</action>
|
|
72
|
+
<action>Load {{library}}</action>
|
|
73
|
+
<action>Load theme.json</action>
|
|
74
|
+
<action>Load {{helpers}}</action>
|
|
75
|
+
</step>
|
|
76
|
+
|
|
77
|
+
<step n="6" goal="Build DFD Elements">
|
|
78
|
+
<critical>Follow standard DFD notation from {{helpers}}</critical>
|
|
79
|
+
|
|
80
|
+
<substep>Build Order:
|
|
81
|
+
1. External entities (rectangles, bold border)
|
|
82
|
+
2. Processes (circles/ellipses with numbers)
|
|
83
|
+
3. Data stores (parallel lines or rectangles)
|
|
84
|
+
4. Data flows (labeled arrows)
|
|
85
|
+
</substep>
|
|
86
|
+
|
|
87
|
+
<substep>DFD Rules:
|
|
88
|
+
- Processes: Numbered (1.0, 2.0), verb phrases
|
|
89
|
+
- Data stores: Named (D1, D2), noun phrases
|
|
90
|
+
- External entities: Named, noun phrases
|
|
91
|
+
- Data flows: Labeled with data names, arrows show direction
|
|
92
|
+
- No direct flow between external entities
|
|
93
|
+
- No direct flow between data stores
|
|
94
|
+
</substep>
|
|
95
|
+
|
|
96
|
+
<substep>Layout:
|
|
97
|
+
- External entities at edges
|
|
98
|
+
- Processes in center
|
|
99
|
+
- Data stores between processes
|
|
100
|
+
- Minimize crossing flows
|
|
101
|
+
- Left-to-right or top-to-bottom flow
|
|
102
|
+
</substep>
|
|
103
|
+
</step>
|
|
104
|
+
|
|
105
|
+
<step n="7" goal="Optimize and Save">
|
|
106
|
+
<action>Verify DFD rules compliance</action>
|
|
107
|
+
<action>Strip unused elements and elements with isDeleted: true</action>
|
|
108
|
+
<action>Save to {{default_output_file}}</action>
|
|
109
|
+
</step>
|
|
110
|
+
|
|
111
|
+
<step n="8" goal="Validate JSON Syntax">
|
|
112
|
+
<critical>NEVER delete the file if validation fails - always fix syntax errors</critical>
|
|
113
|
+
<action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('✓ Valid JSON')"</action>
|
|
114
|
+
<check if="validation fails (exit code 1)">
|
|
115
|
+
<action>Read the error message carefully - it shows the syntax error and position</action>
|
|
116
|
+
<action>Open the file and navigate to the error location</action>
|
|
117
|
+
<action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>
|
|
118
|
+
<action>Save the file</action>
|
|
119
|
+
<action>Re-run validation with the same command</action>
|
|
120
|
+
<action>Repeat until validation passes</action>
|
|
121
|
+
</check>
|
|
122
|
+
<action>Once validation passes, confirm with user</action>
|
|
123
|
+
</step>
|
|
124
|
+
|
|
125
|
+
<step n="9" goal="Validate Content">
|
|
126
|
+
<invoke-task>Validate against {{validation}}</invoke-task>
|
|
127
|
+
</step>
|
|
128
|
+
|
|
129
|
+
</workflow>
|
|
130
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: create-excalidraw-dataflow
|
|
2
|
+
description: "Create data flow diagrams (DFD) in Excalidraw format"
|
|
3
|
+
author: "BMad"
|
|
4
|
+
|
|
5
|
+
# Config values
|
|
6
|
+
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
7
|
+
output_folder: "{config_source}:output_folder"
|
|
8
|
+
|
|
9
|
+
# Workflow components
|
|
10
|
+
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow"
|
|
11
|
+
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
|
12
|
+
instructions: "{installed_path}/instructions.md"
|
|
13
|
+
validation: "{installed_path}/checklist.md"
|
|
14
|
+
|
|
15
|
+
# Core Excalidraw resources (universal knowledge)
|
|
16
|
+
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
|
17
|
+
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
|
18
|
+
|
|
19
|
+
# Domain-specific resources (technical diagrams)
|
|
20
|
+
templates: "{shared_path}/excalidraw-templates.yaml"
|
|
21
|
+
library: "{shared_path}/excalidraw-library.json"
|
|
22
|
+
|
|
23
|
+
# Output file (respects user's configured output_folder)
|
|
24
|
+
default_output_file: "{output_folder}/excalidraw-diagrams/dataflow-{timestamp}.excalidraw"
|
|
25
|
+
|
|
26
|
+
standalone: true
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Create Diagram - Validation Checklist
|
|
2
|
+
|
|
3
|
+
## Element Structure
|
|
4
|
+
|
|
5
|
+
- [ ] All components with labels have matching `groupIds`
|
|
6
|
+
- [ ] All text elements have `containerId` pointing to parent component
|
|
7
|
+
- [ ] Text width calculated properly (no cutoff)
|
|
8
|
+
- [ ] Text alignment appropriate for diagram type
|
|
9
|
+
|
|
10
|
+
## Layout and Alignment
|
|
11
|
+
|
|
12
|
+
- [ ] All elements snapped to 20px grid
|
|
13
|
+
- [ ] Component spacing consistent (40px/60px)
|
|
14
|
+
- [ ] Hierarchical alignment maintained
|
|
15
|
+
- [ ] No overlapping elements
|
|
16
|
+
|
|
17
|
+
## Connections
|
|
18
|
+
|
|
19
|
+
- [ ] All arrows have `startBinding` and `endBinding`
|
|
20
|
+
- [ ] `boundElements` array updated on connected components
|
|
21
|
+
- [ ] Arrow routing avoids overlaps
|
|
22
|
+
- [ ] Relationship types clearly indicated
|
|
23
|
+
|
|
24
|
+
## Notation and Standards
|
|
25
|
+
|
|
26
|
+
- [ ] Follows specified notation standard (UML/ERD/etc)
|
|
27
|
+
- [ ] Symbols used correctly
|
|
28
|
+
- [ ] Cardinality/multiplicity shown where needed
|
|
29
|
+
- [ ] Labels and annotations clear
|
|
30
|
+
|
|
31
|
+
## Theme and Styling
|
|
32
|
+
|
|
33
|
+
- [ ] Theme colors applied consistently
|
|
34
|
+
- [ ] Component types visually distinguishable
|
|
35
|
+
- [ ] Text is readable
|
|
36
|
+
- [ ] Professional appearance
|
|
37
|
+
|
|
38
|
+
## Output Quality
|
|
39
|
+
|
|
40
|
+
- [ ] Element count under 80
|
|
41
|
+
- [ ] No elements with `isDeleted: true`
|
|
42
|
+
- [ ] JSON is valid
|
|
43
|
+
- [ ] File saved to correct location
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Create Diagram - Workflow Instructions
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This workflow creates system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format.</critical>
|
|
7
|
+
|
|
8
|
+
<workflow>
|
|
9
|
+
|
|
10
|
+
<step n="0" goal="Contextual Analysis">
|
|
11
|
+
<action>Review user's request and extract: diagram type, components/entities, relationships, notation preferences</action>
|
|
12
|
+
<check if="ALL requirements clear"><action>Skip to Step 5</action></check>
|
|
13
|
+
<check if="SOME requirements clear"><action>Only ask about missing info in Steps 1-2</action></check>
|
|
14
|
+
</step>
|
|
15
|
+
|
|
16
|
+
<step n="1" goal="Identify Diagram Type" elicit="true">
|
|
17
|
+
<action>Ask: "What type of technical diagram do you need?"</action>
|
|
18
|
+
<action>Present options:
|
|
19
|
+
1. System Architecture
|
|
20
|
+
2. Entity-Relationship Diagram (ERD)
|
|
21
|
+
3. UML Class Diagram
|
|
22
|
+
4. UML Sequence Diagram
|
|
23
|
+
5. UML Use Case Diagram
|
|
24
|
+
6. Network Diagram
|
|
25
|
+
7. Other
|
|
26
|
+
</action>
|
|
27
|
+
<action>WAIT for selection</action>
|
|
28
|
+
</step>
|
|
29
|
+
|
|
30
|
+
<step n="2" goal="Gather Requirements" elicit="true">
|
|
31
|
+
<action>Ask: "Describe the components/entities and their relationships"</action>
|
|
32
|
+
<action>Ask: "What notation standard? (Standard/Simplified/Strict UML-ERD)"</action>
|
|
33
|
+
<action>WAIT for user input</action>
|
|
34
|
+
<action>Summarize what will be included and confirm with user</action>
|
|
35
|
+
</step>
|
|
36
|
+
|
|
37
|
+
<step n="3" goal="Check for Existing Theme" elicit="true">
|
|
38
|
+
<action>Check if theme.json exists at output location</action>
|
|
39
|
+
<check if="exists"><action>Ask to use it, load if yes, else proceed to Step 4</action></check>
|
|
40
|
+
<check if="not exists"><action>Proceed to Step 4</action></check>
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step n="4" goal="Create Theme" elicit="true">
|
|
44
|
+
<action>Ask: "Choose a color scheme for your diagram:"</action>
|
|
45
|
+
<action>Present numbered options:
|
|
46
|
+
1. Professional
|
|
47
|
+
- Component: #e3f2fd (light blue)
|
|
48
|
+
- Database: #e8f5e9 (light green)
|
|
49
|
+
- Service: #fff3e0 (light orange)
|
|
50
|
+
- Border: #1976d2 (blue)
|
|
51
|
+
|
|
52
|
+
2. Colorful
|
|
53
|
+
- Component: #e1bee7 (light purple)
|
|
54
|
+
- Database: #c5e1a5 (light lime)
|
|
55
|
+
- Service: #ffccbc (light coral)
|
|
56
|
+
- Border: #7b1fa2 (purple)
|
|
57
|
+
|
|
58
|
+
3. Minimal
|
|
59
|
+
- Component: #f5f5f5 (light gray)
|
|
60
|
+
- Database: #eeeeee (gray)
|
|
61
|
+
- Service: #e0e0e0 (medium gray)
|
|
62
|
+
- Border: #616161 (dark gray)
|
|
63
|
+
|
|
64
|
+
4. Custom - Define your own colors
|
|
65
|
+
</action>
|
|
66
|
+
<action>WAIT for selection</action>
|
|
67
|
+
<action>Create theme.json based on selection</action>
|
|
68
|
+
<action>Show preview and confirm</action>
|
|
69
|
+
</step>
|
|
70
|
+
|
|
71
|
+
<step n="5" goal="Plan Diagram Structure">
|
|
72
|
+
<action>List all components/entities</action>
|
|
73
|
+
<action>Map all relationships</action>
|
|
74
|
+
<action>Show planned layout</action>
|
|
75
|
+
<action>Ask: "Structure looks correct? (yes/no)"</action>
|
|
76
|
+
<check if="no"><action>Adjust and repeat</action></check>
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step n="6" goal="Load Resources">
|
|
80
|
+
<action>Load {{templates}} and extract `diagram` section</action>
|
|
81
|
+
<action>Load {{library}}</action>
|
|
82
|
+
<action>Load theme.json and merge with template</action>
|
|
83
|
+
<action>Load {{helpers}} for guidelines</action>
|
|
84
|
+
</step>
|
|
85
|
+
|
|
86
|
+
<step n="7" goal="Build Diagram Elements">
|
|
87
|
+
<critical>Follow {{helpers}} for proper element creation</critical>
|
|
88
|
+
|
|
89
|
+
<substep>For Each Component:
|
|
90
|
+
- Generate unique IDs (component-id, text-id, group-id)
|
|
91
|
+
- Create shape with groupIds
|
|
92
|
+
- Calculate text width
|
|
93
|
+
- Create text with containerId and matching groupIds
|
|
94
|
+
- Add boundElements
|
|
95
|
+
</substep>
|
|
96
|
+
|
|
97
|
+
<substep>For Each Connection:
|
|
98
|
+
- Determine arrow type (straight/elbow)
|
|
99
|
+
- Create with startBinding and endBinding
|
|
100
|
+
- Update boundElements on both components
|
|
101
|
+
</substep>
|
|
102
|
+
|
|
103
|
+
<substep>Build Order by Type:
|
|
104
|
+
- Architecture: Services → Databases → Connections → Labels
|
|
105
|
+
- ERD: Entities → Attributes → Relationships → Cardinality
|
|
106
|
+
- UML Class: Classes → Attributes → Methods → Relationships
|
|
107
|
+
- UML Sequence: Actors → Lifelines → Messages → Returns
|
|
108
|
+
- UML Use Case: Actors → Use Cases → Relationships
|
|
109
|
+
</substep>
|
|
110
|
+
|
|
111
|
+
<substep>Alignment:
|
|
112
|
+
- Snap to 20px grid
|
|
113
|
+
- Space: 40px between components, 60px between sections
|
|
114
|
+
</substep>
|
|
115
|
+
</step>
|
|
116
|
+
|
|
117
|
+
<step n="8" goal="Optimize and Save">
|
|
118
|
+
<action>Strip unused elements and elements with isDeleted: true</action>
|
|
119
|
+
<action>Save to {{default_output_file}}</action>
|
|
120
|
+
</step>
|
|
121
|
+
|
|
122
|
+
<step n="9" goal="Validate JSON Syntax">
|
|
123
|
+
<critical>NEVER delete the file if validation fails - always fix syntax errors</critical>
|
|
124
|
+
<action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('✓ Valid JSON')"</action>
|
|
125
|
+
<check if="validation fails (exit code 1)">
|
|
126
|
+
<action>Read the error message carefully - it shows the syntax error and position</action>
|
|
127
|
+
<action>Open the file and navigate to the error location</action>
|
|
128
|
+
<action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>
|
|
129
|
+
<action>Save the file</action>
|
|
130
|
+
<action>Re-run validation with the same command</action>
|
|
131
|
+
<action>Repeat until validation passes</action>
|
|
132
|
+
</check>
|
|
133
|
+
<action>Once validation passes, confirm: "Diagram created at {{default_output_file}}. Open to view?"</action>
|
|
134
|
+
</step>
|
|
135
|
+
|
|
136
|
+
<step n="10" goal="Validate Content">
|
|
137
|
+
<invoke-task>Validate against {{validation}} using {_bmad}/core/tasks/validate-workflow.xml</invoke-task>
|
|
138
|
+
</step>
|
|
139
|
+
|
|
140
|
+
</workflow>
|
|
141
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: create-excalidraw-diagram
|
|
2
|
+
description: "Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format"
|
|
3
|
+
author: "BMad"
|
|
4
|
+
|
|
5
|
+
# Config values
|
|
6
|
+
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
7
|
+
output_folder: "{config_source}:output_folder"
|
|
8
|
+
|
|
9
|
+
# Workflow components
|
|
10
|
+
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram"
|
|
11
|
+
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
|
12
|
+
instructions: "{installed_path}/instructions.md"
|
|
13
|
+
validation: "{installed_path}/checklist.md"
|
|
14
|
+
|
|
15
|
+
# Core Excalidraw resources (universal knowledge)
|
|
16
|
+
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
|
17
|
+
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
|
18
|
+
|
|
19
|
+
# Domain-specific resources (technical diagrams)
|
|
20
|
+
templates: "{shared_path}/excalidraw-templates.yaml"
|
|
21
|
+
library: "{shared_path}/excalidraw-library.json"
|
|
22
|
+
|
|
23
|
+
# Output file (respects user's configured output_folder)
|
|
24
|
+
default_output_file: "{output_folder}/excalidraw-diagrams/diagram-{timestamp}.excalidraw"
|
|
25
|
+
|
|
26
|
+
standalone: true
|