@jhl8041/dooray-mcp 0.1.4 → 0.1.6
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/.claude/commands/bmad_agent_bmad-master.md +14 -0
- package/.claude/commands/bmad_bmm_agent_analyst.md +14 -0
- package/.claude/commands/bmad_bmm_agent_architect.md +14 -0
- package/.claude/commands/bmad_bmm_agent_dev.md +14 -0
- package/.claude/commands/bmad_bmm_agent_pm.md +14 -0
- package/.claude/commands/bmad_bmm_agent_quick-flow-solo-dev.md +14 -0
- package/.claude/commands/bmad_bmm_agent_sm.md +14 -0
- package/.claude/commands/bmad_bmm_agent_tea.md +14 -0
- package/.claude/commands/bmad_bmm_agent_tech-writer_tech-writer.md +14 -0
- package/.claude/commands/bmad_bmm_agent_ux-designer.md +14 -0
- package/.claude/commands/bmad_bmm_check-implementation-readiness.md +5 -0
- package/.claude/commands/bmad_bmm_code-review.md +13 -0
- package/.claude/commands/bmad_bmm_correct-course.md +13 -0
- package/.claude/commands/bmad_bmm_create-architecture.md +5 -0
- package/.claude/commands/bmad_bmm_create-epics-and-stories.md +5 -0
- package/.claude/commands/bmad_bmm_create-excalidraw-dataflow.md +13 -0
- package/.claude/commands/bmad_bmm_create-excalidraw-diagram.md +13 -0
- package/.claude/commands/bmad_bmm_create-excalidraw-flowchart.md +13 -0
- package/.claude/commands/bmad_bmm_create-excalidraw-wireframe.md +13 -0
- package/.claude/commands/bmad_bmm_create-prd.md +5 -0
- package/.claude/commands/bmad_bmm_create-product-brief.md +5 -0
- package/.claude/commands/bmad_bmm_create-story.md +13 -0
- package/.claude/commands/bmad_bmm_create-ux-design.md +5 -0
- package/.claude/commands/bmad_bmm_dev-story.md +13 -0
- package/.claude/commands/bmad_bmm_document-project.md +13 -0
- package/.claude/commands/bmad_bmm_quick-dev.md +5 -0
- package/.claude/commands/bmad_bmm_quick-spec.md +5 -0
- package/.claude/commands/bmad_bmm_research.md +5 -0
- package/.claude/commands/bmad_bmm_retrospective.md +13 -0
- package/.claude/commands/bmad_bmm_sprint-planning.md +13 -0
- package/.claude/commands/bmad_bmm_sprint-status.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-atdd.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-automate.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-ci.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-framework.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-nfr.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-test-design.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-test-review.md +13 -0
- package/.claude/commands/bmad_bmm_testarch-trace.md +13 -0
- package/.claude/commands/bmad_brainstorming.md +5 -0
- package/.claude/commands/bmad_editorial-review-prose.md +9 -0
- package/.claude/commands/bmad_editorial-review-structure.md +10 -0
- package/.claude/commands/bmad_help.md +9 -0
- package/.claude/commands/bmad_index-docs.md +9 -0
- package/.claude/commands/bmad_party-mode.md +5 -0
- package/.claude/commands/bmad_review-adversarial-general.md +9 -0
- package/.claude/commands/bmad_shard-doc.md +9 -0
- package/_bmad/_config/agent-manifest.csv +11 -0
- package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-tea.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
- package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
- package/_bmad/_config/bmad-help.csv +40 -0
- package/_bmad/_config/files-manifest.csv +281 -0
- package/_bmad/_config/manifest.yaml +21 -0
- package/_bmad/_config/task-manifest.csv +9 -0
- package/_bmad/_config/tool-manifest.csv +1 -0
- package/_bmad/_config/workflow-manifest.csv +32 -0
- package/_bmad/bmm/agents/analyst.md +76 -0
- package/_bmad/bmm/agents/architect.md +58 -0
- package/_bmad/bmm/agents/dev.md +69 -0
- package/_bmad/bmm/agents/pm.md +72 -0
- package/_bmad/bmm/agents/quick-flow-solo-dev.md +69 -0
- package/_bmad/bmm/agents/sm.md +70 -0
- package/_bmad/bmm/agents/tea.md +70 -0
- package/_bmad/bmm/agents/tech-writer/tech-writer.md +70 -0
- package/_bmad/bmm/agents/ux-designer.md +57 -0
- package/_bmad/bmm/config.yaml +16 -0
- package/_bmad/bmm/data/project-context-template.md +26 -0
- package/_bmad/bmm/module-help.csv +32 -0
- package/_bmad/bmm/teams/default-party.csv +21 -0
- package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
- package/_bmad/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
- package/_bmad/bmm/testarch/knowledge/api-request.md +442 -0
- package/_bmad/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/_bmad/bmm/testarch/knowledge/auth-session.md +552 -0
- package/_bmad/bmm/testarch/knowledge/burn-in.md +273 -0
- package/_bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/_bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/_bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/_bmad/bmm/testarch/knowledge/data-factories.md +500 -0
- package/_bmad/bmm/testarch/knowledge/email-auth.md +721 -0
- package/_bmad/bmm/testarch/knowledge/error-handling.md +725 -0
- package/_bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/_bmad/bmm/testarch/knowledge/file-utils.md +463 -0
- package/_bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/_bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/_bmad/bmm/testarch/knowledge/intercept-network-call.md +430 -0
- package/_bmad/bmm/testarch/knowledge/log.md +429 -0
- package/_bmad/bmm/testarch/knowledge/network-error-monitor.md +405 -0
- package/_bmad/bmm/testarch/knowledge/network-first.md +486 -0
- package/_bmad/bmm/testarch/knowledge/network-recorder.md +527 -0
- package/_bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/_bmad/bmm/testarch/knowledge/overview.md +286 -0
- package/_bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/_bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/_bmad/bmm/testarch/knowledge/recurse.md +421 -0
- package/_bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/_bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/_bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/_bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/_bmad/bmm/testarch/knowledge/test-quality.md +664 -0
- package/_bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/_bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/_bmad/bmm/testarch/tea-index.csv +35 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/_bmad/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +13 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/validation-report-prd-workflow.md +433 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow.md +150 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +59 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
- package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
- package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/_bmad/bmm/workflows/document-project/workflow.yaml +28 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/_bmad/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/_bmad/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
- package/_bmad/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/_bmad/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/_bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
- package/_bmad/bmm/workflows/testarch/ci/checklist.md +247 -0
- package/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/_bmad/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/_bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
- package/_bmad/bmm/workflows/testarch/framework/checklist.md +320 -0
- package/_bmad/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/_bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
- package/_bmad/bmm/workflows/testarch/test-design/checklist.md +407 -0
- package/_bmad/bmm/workflows/testarch/test-design/instructions.md +1158 -0
- package/_bmad/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
- package/_bmad/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
- package/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +69 -0
- package/_bmad/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/_bmad/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
- package/_bmad/bmm/workflows/testarch/trace/checklist.md +642 -0
- package/_bmad/bmm/workflows/testarch/trace/instructions.md +1030 -0
- package/_bmad/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/_bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
- package/_bmad/core/agents/bmad-master.md +56 -0
- package/_bmad/core/config.yaml +9 -0
- package/_bmad/core/module-help.csv +9 -0
- package/_bmad/core/resources/excalidraw/README.md +160 -0
- package/_bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/_bmad/core/resources/excalidraw/library-loader.md +50 -0
- package/_bmad/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/_bmad/core/tasks/editorial-review-prose.xml +100 -0
- package/_bmad/core/tasks/editorial-review-structure.xml +209 -0
- package/_bmad/core/tasks/help.md +62 -0
- package/_bmad/core/tasks/index-docs.xml +65 -0
- package/_bmad/core/tasks/review-adversarial-general.xml +48 -0
- package/_bmad/core/tasks/shard-doc.xml +109 -0
- package/_bmad/core/tasks/workflow.xml +235 -0
- package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/_bmad/core/workflows/brainstorming/template.md +15 -0
- package/_bmad/core/workflows/brainstorming/workflow.md +58 -0
- package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
- package/_bmad/core/workflows/party-mode/workflow.md +194 -0
- package/dist/api/client.d.ts +16 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +91 -5
- package/dist/api/client.js.map +1 -1
- package/dist/api/projects.d.ts +23 -2
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +32 -0
- package/dist/api/projects.js.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/projects/delete-attachment-from-task.d.ts.map +1 -0
- package/dist/tools/projects/delete-attachment-from-task.js.map +1 -0
- package/dist/tools/projects/delete-attachment.d.ts +55 -0
- package/dist/tools/projects/delete-attachment.d.ts.map +1 -0
- package/dist/tools/projects/delete-attachment.js +115 -0
- package/dist/tools/projects/delete-attachment.js.map +1 -0
- package/dist/tools/projects/download-attachment.d.ts +55 -0
- package/dist/tools/projects/download-attachment.d.ts.map +1 -0
- package/dist/tools/projects/download-attachment.js +153 -0
- package/dist/tools/projects/download-attachment.js.map +1 -0
- package/dist/tools/projects/get-attachment-list.d.ts +48 -0
- package/dist/tools/projects/get-attachment-list.d.ts.map +1 -0
- package/dist/tools/projects/get-attachment-list.js +118 -0
- package/dist/tools/projects/get-attachment-list.js.map +1 -0
- package/dist/tools/projects/get-attachment-metadata.d.ts +55 -0
- package/dist/tools/projects/get-attachment-metadata.d.ts.map +1 -0
- package/dist/tools/projects/get-attachment-metadata.js +120 -0
- package/dist/tools/projects/get-attachment-metadata.js.map +1 -0
- package/dist/tools/projects/register-attachment-to-task.d.ts.map +1 -0
- package/dist/tools/projects/register-attachment-to-task.js.map +1 -0
- package/dist/tools/projects/update-task.d.ts +4 -4
- package/dist/tools/projects/update-task.js +12 -12
- package/dist/tools/projects/update-task.js.map +1 -1
- package/dist/tools/projects/upload-attachment.d.ts +69 -0
- package/dist/tools/projects/upload-attachment.d.ts.map +1 -0
- package/dist/tools/projects/upload-attachment.js +109 -0
- package/dist/tools/projects/upload-attachment.js.map +1 -0
- package/dist/types/dooray-api.d.ts +15 -0
- package/dist/types/dooray-api.d.ts.map +1 -1
- package/docs/architecture.md +227 -0
- package/docs/development-guide.md +336 -0
- package/docs/index.md +115 -0
- package/docs/project-overview.md +105 -0
- package/docs/project-scan-report.json +120 -0
- package/docs/source-tree-analysis.md +240 -0
- package/package.json +1 -1
|
@@ -0,0 +1,55 @@
|
|
|
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
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "bmad master"
|
|
3
|
+
description: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
+
|
|
8
|
+
```xml
|
|
9
|
+
<agent id="bmad-master.agent.yaml" name="BMad Master" title="BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator" icon="🧙">
|
|
10
|
+
<activation critical="MANDATORY">
|
|
11
|
+
<step n="1">Load persona from this current agent file (already in context)</step>
|
|
12
|
+
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
|
|
13
|
+
- Load and read {project-root}/_bmad/core/config.yaml NOW
|
|
14
|
+
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
|
|
15
|
+
- VERIFY: If config not loaded, STOP and report error to user
|
|
16
|
+
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
|
|
17
|
+
</step>
|
|
18
|
+
<step n="3">Remember: user's name is {user_name}</step>
|
|
19
|
+
<step n="4">Always greet the user and let them know they can use `/bmad-help` at any time to get advice on what to do next, and they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
|
|
20
|
+
<step n="5">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
|
|
21
|
+
<step n={HELP_STEP}">-Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
|
|
22
|
+
<step n="6">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
|
|
23
|
+
<step n="7">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
|
|
24
|
+
<step n="8">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
|
|
25
|
+
|
|
26
|
+
<menu-handlers>
|
|
27
|
+
<handlers>
|
|
28
|
+
<handler type="action">
|
|
29
|
+
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content
|
|
30
|
+
When menu item has: action="text" → Follow the text directly as an inline instruction
|
|
31
|
+
</handler>
|
|
32
|
+
</handlers>
|
|
33
|
+
</menu-handlers>
|
|
34
|
+
|
|
35
|
+
<rules>
|
|
36
|
+
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
|
|
37
|
+
<r> Stay in character until exit selected</r>
|
|
38
|
+
<r> Display Menu items as the item dictates and in the order given.</r>
|
|
39
|
+
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
|
|
40
|
+
</rules>
|
|
41
|
+
</activation> <persona>
|
|
42
|
+
<role>Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator</role>
|
|
43
|
+
<identity>Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations.</identity>
|
|
44
|
+
<communication_style>Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability.</communication_style>
|
|
45
|
+
<principles>- "Load resources at runtime never pre-load, and always present numbered lists for choices."</principles>
|
|
46
|
+
</persona>
|
|
47
|
+
<menu>
|
|
48
|
+
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
|
|
49
|
+
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
|
|
50
|
+
<item cmd="LT or fuzzy match on list-tasks" action="list all tasks from {project-root}/_bmad/_config/task-manifest.csv">[LT] List Available Tasks</item>
|
|
51
|
+
<item cmd="LW or fuzzy match on list-workflows" action="list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv">[LW] List Workflows</item>
|
|
52
|
+
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
|
|
53
|
+
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
|
|
54
|
+
</menu>
|
|
55
|
+
</agent>
|
|
56
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs
|
|
2
|
+
core,,Brainstorming,BS,20,_bmad/core/workflows/brainstorming/workflow.md,bmad_brainstorming,false,analyst,,Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods,{output_folder}/brainstorming/brainstorming-session-{{date}}.md,,
|
|
3
|
+
core,,Party Mode,PM,30,_bmad/core/workflows/party-mode/workflow.md,bmad_party-mode,false,party-mode facilitator,,Orchestrates group discussions between all installed BMAD agents enabling natural multi-agent conversations,,
|
|
4
|
+
core,,bmad-help,BH,40,_bmad/core/tasks/help.md,bmad_help,false,system,,Get unstuck by showing what workflow steps come next or answering questions about what to do in the BMad Method,,
|
|
5
|
+
core,,Index Docs,ID,50,_bmad/core/tasks/index-docs.xml,bmad_index-docs,false,llm,,Generates or updates an index.md of all documents in the specified directory,,
|
|
6
|
+
core,,Shard Document,SD,70,_bmad/core/tasks/shard-doc.xml,bmad_shard-doc,false,llm,,Splits large markdown documents into smaller organized files based on level 2 sections,,
|
|
7
|
+
core,,Editorial Review - Prose,EP,80,_bmad/core/tasks/editorial-review-prose.xml,bmad_editorial-review-prose,false,llm,reader_type,Clinical copy-editor that reviews text for communication issues,,"three-column markdown table with suggested fixes",
|
|
8
|
+
core,,Editorial Review - Structure,ES,90,_bmad/core/tasks/editorial-review-structure.xml,bmad_editorial-review-structure,false,llm,,Structural editor that proposes cuts reorganization and simplification while preserving comprehension,,
|
|
9
|
+
core,,Adversarial Review (General),AR,100,_bmad/core/tasks/review-adversarial-general.xml,bmad_review-adversarial-general,false,llm,,Cynically review content and produce findings,,
|
|
@@ -0,0 +1,160 @@
|
|
|
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
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
|
@@ -0,0 +1,50 @@
|
|
|
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.
|
|
@@ -0,0 +1,79 @@
|
|
|
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.**
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<task id="_bmad/core/tasks/editorial-review-prose.xml"
|
|
2
|
+
name="Editorial Review - Prose"
|
|
3
|
+
description="Clinical copy-editor that reviews text for communication issues"
|
|
4
|
+
standalone="true">
|
|
5
|
+
|
|
6
|
+
<objective>Review text for communication issues that impede comprehension and output suggested fixes in a three-column table</objective>
|
|
7
|
+
|
|
8
|
+
<inputs>
|
|
9
|
+
<input name="content" required="true" desc="Cohesive unit of text to review (markdown, plain text, or text-heavy XML)" />
|
|
10
|
+
<input name="style_guide" required="false"
|
|
11
|
+
desc="Project-specific style guide. When provided, overrides all generic
|
|
12
|
+
principles in this task (except CONTENT IS SACROSANCT). The style guide
|
|
13
|
+
is the final authority on tone, structure, and language choices."/>
|
|
14
|
+
<input name="reader_type" required="false" default="humans" desc="'humans' (default) for standard editorial, 'llm' for precision focus" />
|
|
15
|
+
</inputs>
|
|
16
|
+
|
|
17
|
+
<llm critical="true">
|
|
18
|
+
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
|
19
|
+
<i>DO NOT skip steps or change the sequence</i>
|
|
20
|
+
<i>HALT immediately when halt-conditions are met</i>
|
|
21
|
+
<i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
|
|
22
|
+
|
|
23
|
+
<i>You are a clinical copy-editor: precise, professional, neither warm nor cynical</i>
|
|
24
|
+
<i>Apply Microsoft Writing Style Guide principles as your baseline</i>
|
|
25
|
+
<i>Focus on communication issues that impede comprehension - not style preferences</i>
|
|
26
|
+
<i>NEVER rewrite for preference - only fix genuine issues</i>
|
|
27
|
+
|
|
28
|
+
<i critical="true">CONTENT IS SACROSANCT: Never challenge ideas—only clarify how they're expressed.</i>
|
|
29
|
+
|
|
30
|
+
<principles>
|
|
31
|
+
<i>Minimal intervention: Apply the smallest fix that achieves clarity</i>
|
|
32
|
+
<i>Preserve structure: Fix prose within existing structure, never restructure</i>
|
|
33
|
+
<i>Skip code/markup: Detect and skip code blocks, frontmatter, structural markup</i>
|
|
34
|
+
<i>When uncertain: Flag with a query rather than suggesting a definitive change</i>
|
|
35
|
+
<i>Deduplicate: Same issue in multiple places = one entry with locations listed</i>
|
|
36
|
+
<i>No conflicts: Merge overlapping fixes into single entries</i>
|
|
37
|
+
<i>Respect author voice: Preserve intentional stylistic choices</i>
|
|
38
|
+
</principles>
|
|
39
|
+
<i critical="true">STYLE GUIDE OVERRIDE: If a style_guide input is provided,
|
|
40
|
+
it overrides ALL generic principles in this task (including the Microsoft
|
|
41
|
+
Writing Style Guide baseline and reader_type-specific priorities). The ONLY
|
|
42
|
+
exception is CONTENT IS SACROSANCT—never change what ideas say, only how
|
|
43
|
+
they're expressed. When style guide conflicts with this task, style guide wins.</i>
|
|
44
|
+
</llm>
|
|
45
|
+
|
|
46
|
+
<flow>
|
|
47
|
+
<step n="1" title="Validate Input">
|
|
48
|
+
<action>Check if content is empty or contains fewer than 3 words</action>
|
|
49
|
+
<action if="empty or fewer than 3 words">HALT with error: "Content too short for editorial review (minimum 3 words required)"</action>
|
|
50
|
+
<action>Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")</action>
|
|
51
|
+
<action if="reader_type is invalid">HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"</action>
|
|
52
|
+
<action>Identify content type (markdown, plain text, XML with text)</action>
|
|
53
|
+
<action>Note any code blocks, frontmatter, or structural markup to skip</action>
|
|
54
|
+
</step>
|
|
55
|
+
|
|
56
|
+
<step n="2" title="Analyze Style">
|
|
57
|
+
<action>Analyze the style, tone, and voice of the input text</action>
|
|
58
|
+
<action>Note any intentional stylistic choices to preserve (informal tone, technical jargon, rhetorical patterns)</action>
|
|
59
|
+
<action>Calibrate review approach based on reader_type parameter</action>
|
|
60
|
+
<action if="reader_type='llm'">Prioritize: unambiguous references, consistent terminology, explicit structure, no hedging</action>
|
|
61
|
+
<action if="reader_type='humans'">Prioritize: clarity, flow, readability, natural progression</action>
|
|
62
|
+
</step>
|
|
63
|
+
|
|
64
|
+
<step n="3" title="Editorial Review" critical="true">
|
|
65
|
+
<action if="style_guide provided">Consult style_guide now and note its key requirements—these override default principles for this review</action>
|
|
66
|
+
<action>Review all prose sections (skip code blocks, frontmatter, structural markup)</action>
|
|
67
|
+
<action>Identify communication issues that impede comprehension</action>
|
|
68
|
+
<action>For each issue, determine the minimal fix that achieves clarity</action>
|
|
69
|
+
<action>Deduplicate: If same issue appears multiple times, create one entry listing all locations</action>
|
|
70
|
+
<action>Merge overlapping issues into single entries (no conflicting suggestions)</action>
|
|
71
|
+
<action>For uncertain fixes, phrase as query: "Consider: [suggestion]?" rather than definitive change</action>
|
|
72
|
+
<action>Preserve author voice - do not "improve" intentional stylistic choices</action>
|
|
73
|
+
</step>
|
|
74
|
+
|
|
75
|
+
<step n="4" title="Output Results">
|
|
76
|
+
<action if="issues found">Output a three-column markdown table with all suggested fixes</action>
|
|
77
|
+
<action if="no issues found">Output: "No editorial issues identified"</action>
|
|
78
|
+
|
|
79
|
+
<output-format>
|
|
80
|
+
| Original Text | Revised Text | Changes |
|
|
81
|
+
|---------------|--------------|---------|
|
|
82
|
+
| The exact original passage | The suggested revision | Brief explanation of what changed and why |
|
|
83
|
+
</output-format>
|
|
84
|
+
|
|
85
|
+
<example title="Correct output format">
|
|
86
|
+
| Original Text | Revised Text | Changes |
|
|
87
|
+
|---------------|--------------|---------|
|
|
88
|
+
| The system will processes data and it handles errors. | The system processes data and handles errors. | Fixed subject-verb agreement ("will processes" to "processes"); removed redundant "it" |
|
|
89
|
+
| Users can chose from options (lines 12, 45, 78) | Users can choose from options | Fixed spelling: "chose" to "choose" (appears in 3 locations) |
|
|
90
|
+
</example>
|
|
91
|
+
</step>
|
|
92
|
+
</flow>
|
|
93
|
+
|
|
94
|
+
<halt-conditions>
|
|
95
|
+
<condition>HALT with error if content is empty or fewer than 3 words</condition>
|
|
96
|
+
<condition>HALT with error if reader_type is not "humans" or "llm"</condition>
|
|
97
|
+
<condition>If no issues found after thorough review, output "No editorial issues identified" (this is valid completion, not an error)</condition>
|
|
98
|
+
</halt-conditions>
|
|
99
|
+
|
|
100
|
+
</task>
|