ma-agents 3.4.9 → 3.5.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/AiAudit.md +7 -0
- package/README.md +78 -29
- package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +237 -0
- package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +339 -0
- package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +348 -0
- package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +383 -0
- package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +348 -0
- package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +385 -0
- package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +362 -0
- package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +477 -0
- package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +377 -0
- package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +301 -0
- package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +508 -0
- package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +455 -0
- package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +325 -0
- package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +403 -0
- package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +344 -0
- package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +279 -0
- package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +173 -0
- package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +129 -0
- package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +274 -0
- package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +186 -0
- package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +144 -0
- package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +132 -0
- package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +119 -0
- package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +162 -0
- package/_bmad-output/implementation-artifacts/deferred-work.md +9 -0
- package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +200 -0
- package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +172 -0
- package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +102 -0
- package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +119 -0
- package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +132 -0
- package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +111 -0
- package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +126 -0
- package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +137 -0
- package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +127 -0
- package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +129 -0
- package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +179 -0
- package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +138 -0
- package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +150 -0
- package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +128 -0
- package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +118 -0
- package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +132 -0
- package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +174 -0
- package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +183 -0
- package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +252 -0
- package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +232 -0
- package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +163 -0
- package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +133 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +172 -0
- package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +342 -0
- package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +223 -0
- package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +180 -0
- package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +136 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +137 -0
- package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +79 -0
- package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +110 -0
- package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +116 -0
- package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +109 -0
- package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +97 -0
- package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +125 -0
- package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +322 -0
- package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +264 -0
- package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +208 -0
- package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +209 -0
- package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +221 -0
- package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +273 -0
- package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +235 -0
- package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +285 -0
- package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +188 -0
- package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +211 -0
- package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +189 -0
- package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +184 -0
- package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +178 -0
- package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +136 -0
- package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +141 -0
- package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +145 -0
- package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +188 -0
- package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +219 -0
- package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +234 -0
- package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +274 -0
- package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +173 -0
- package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +131 -0
- package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +124 -0
- package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +187 -0
- package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +102 -0
- package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +126 -0
- package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +101 -0
- package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +73 -0
- package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +91 -0
- package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +113 -0
- package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +90 -0
- package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +53 -0
- package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +287 -0
- package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +49 -0
- package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +230 -0
- package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +37 -0
- package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +140 -0
- package/_bmad-output/implementation-artifacts/sprint-status.yaml +83 -0
- package/_bmad-output/methodology/BMAD_AI_Development_Training.pptx +0 -0
- package/_bmad-output/methodology/version.json +7 -0
- package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +508 -0
- package/_bmad-output/planning-artifacts/architecture.md +1619 -0
- package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +295 -0
- package/_bmad-output/planning-artifacts/epics.md +3287 -0
- package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +290 -0
- package/_bmad-output/planning-artifacts/prd.md +684 -0
- package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +214 -0
- package/_bmad-output/planning-artifacts/sprint-status-schema.md +506 -0
- package/_bmad-output/project-context.md +47 -0
- package/lib/bmad-extension/module-help.csv +26 -4
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +126 -72
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +124 -96
- package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-dev-story}/bmad-skill-manifest.yaml +1 -1
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/checklist.md +13 -13
- package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/workflow.md +103 -44
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +2 -1
- package/lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md +6 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/checklist.md +74 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +372 -0
- package/lib/bmad-extension/skills/bmad-sprint-status/SKILL.md +6 -0
- package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/bmad-sprint-status}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +434 -0
- package/lib/bmad-extension/skills/cleanup-done/SKILL.md +215 -0
- package/lib/bmad-extension/skills/close-sprint/SKILL.md +379 -0
- package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/close-sprint}/bmad-skill-manifest.yaml +1 -1
- package/lib/bmad-extension/skills/generate-backlog/SKILL.md +195 -0
- package/lib/bmad-extension/skills/mil498-requirement-quality/SKILL.md +105 -0
- package/lib/bmad-extension/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +4 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +227 -175
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +217 -0
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +184 -0
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +165 -190
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +125 -71
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +123 -95
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +228 -176
- package/lib/bmad-extension/workflows/remove-from-sprint/workflow.md +164 -0
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +162 -189
- package/mil498/README.md +4 -0
- package/out.txt +0 -0
- package/package.json +1 -1
- package/skills/add-sprint/SKILL.md +165 -0
- package/skills/add-sprint/skill.json +7 -0
- package/skills/add-to-sprint/SKILL.md +231 -0
- package/skills/add-to-sprint/skill.json +7 -0
- package/skills/bmad-sprint-planning/SKILL.md +321 -0
- package/skills/bmad-sprint-planning/skill.json +7 -0
- package/skills/bmad-sprint-status/SKILL.md +273 -0
- package/skills/bmad-sprint-status/skill.json +7 -0
- package/skills/cleanup-done/SKILL.md +203 -0
- package/skills/cleanup-done/skill.json +7 -0
- package/skills/close-sprint/SKILL.md +370 -0
- package/skills/close-sprint/skill.json +7 -0
- package/skills/generate-backlog/SKILL.md +178 -0
- package/skills/generate-backlog/skill.json +7 -0
- package/skills/modify-sprint/SKILL.md +302 -0
- package/skills/modify-sprint/skill.json +7 -0
- package/skills/prioritize-backlog/SKILL.md +203 -0
- package/skills/prioritize-backlog/skill.json +7 -0
- package/skills/remove-from-sprint/SKILL.md +174 -0
- package/skills/remove-from-sprint/skill.json +7 -0
- package/skills/sprint-status-view/SKILL.md +173 -0
- package/skills/sprint-status-view/skill.json +7 -0
- package/skills/story-status-lookup/SKILL.md +21 -6
- package/skills/story-status-lookup/skill.json +2 -2
- package/test/extension-module-restructure.test.js +12 -11
- package/test/migration-validation.test.js +10 -10
- package/.opencode/skills/.ma-agents.json +0 -241
- package/.opencode/skills/MANIFEST.yaml +0 -254
- package/.opencode/skills/add-sprint/SKILL.md +0 -207
- package/.opencode/skills/add-to-sprint/SKILL.md +0 -189
- package/.opencode/skills/ai-audit-trail/SKILL.md +0 -23
- package/.opencode/skills/auto-bug-detection/SKILL.md +0 -169
- package/.opencode/skills/bmad-advanced-elicitation/SKILL.md +0 -137
- package/.opencode/skills/bmad-advanced-elicitation/methods.csv +0 -51
- package/.opencode/skills/bmad-agent-analyst/SKILL.md +0 -56
- package/.opencode/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-architect/SKILL.md +0 -52
- package/.opencode/skills/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-dev/SKILL.md +0 -62
- package/.opencode/skills/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-pm/SKILL.md +0 -57
- package/.opencode/skills/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-qa/SKILL.md +0 -59
- package/.opencode/skills/bmad-agent-qa/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/SKILL.md +0 -51
- package/.opencode/skills/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-sm/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-sm/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/SKILL.md +0 -55
- package/.opencode/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-agent-tech-writer/explain-concept.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/mermaid-gen.md +0 -20
- package/.opencode/skills/bmad-agent-tech-writer/validate-doc.md +0 -19
- package/.opencode/skills/bmad-agent-tech-writer/write-document.md +0 -20
- package/.opencode/skills/bmad-agent-ux-designer/SKILL.md +0 -53
- package/.opencode/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-brainstorming/SKILL.md +0 -6
- package/.opencode/skills/bmad-brainstorming/brain-methods.csv +0 -62
- package/.opencode/skills/bmad-brainstorming/steps/step-01-session-setup.md +0 -214
- package/.opencode/skills/bmad-brainstorming/steps/step-01b-continue.md +0 -124
- package/.opencode/skills/bmad-brainstorming/steps/step-02a-user-selected.md +0 -229
- package/.opencode/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -239
- package/.opencode/skills/bmad-brainstorming/steps/step-02c-random-selection.md +0 -211
- package/.opencode/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -266
- package/.opencode/skills/bmad-brainstorming/steps/step-03-technique-execution.md +0 -401
- package/.opencode/skills/bmad-brainstorming/steps/step-04-idea-organization.md +0 -305
- package/.opencode/skills/bmad-brainstorming/template.md +0 -15
- package/.opencode/skills/bmad-brainstorming/workflow.md +0 -53
- package/.opencode/skills/bmad-check-implementation-readiness/SKILL.md +0 -6
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -179
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -168
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -169
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -129
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -241
- package/.opencode/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -126
- package/.opencode/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -4
- package/.opencode/skills/bmad-check-implementation-readiness/workflow.md +0 -49
- package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-design-thinking/design-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-design-thinking/template.md +0 -111
- package/.opencode/skills/bmad-cis-design-thinking/workflow.md +0 -242
- package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -31
- package/.opencode/skills/bmad-cis-innovation-strategy/template.md +0 -189
- package/.opencode/skills/bmad-cis-innovation-strategy/workflow.md +0 -315
- package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-problem-solving/solving-methods.csv +0 -31
- package/.opencode/skills/bmad-cis-problem-solving/template.md +0 -165
- package/.opencode/skills/bmad-cis-problem-solving/workflow.md +0 -291
- package/.opencode/skills/bmad-cis-storytelling/SKILL.md +0 -6
- package/.opencode/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
- package/.opencode/skills/bmad-cis-storytelling/story-types.csv +0 -26
- package/.opencode/skills/bmad-cis-storytelling/template.md +0 -113
- package/.opencode/skills/bmad-cis-storytelling/workflow.md +0 -321
- package/.opencode/skills/bmad-code-review/SKILL.md +0 -6
- package/.opencode/skills/bmad-code-review/steps/step-01-gather-context.md +0 -62
- package/.opencode/skills/bmad-code-review/steps/step-02-review.md +0 -34
- package/.opencode/skills/bmad-code-review/steps/step-03-triage.md +0 -49
- package/.opencode/skills/bmad-code-review/steps/step-04-present.md +0 -129
- package/.opencode/skills/bmad-code-review/workflow.md +0 -55
- package/.opencode/skills/bmad-correct-course/SKILL.md +0 -6
- package/.opencode/skills/bmad-correct-course/checklist.md +0 -288
- package/.opencode/skills/bmad-correct-course/workflow.md +0 -267
- package/.opencode/skills/bmad-create-architecture/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-architecture/architecture-decision-template.md +0 -12
- package/.opencode/skills/bmad-create-architecture/data/domain-complexity.csv +0 -13
- package/.opencode/skills/bmad-create-architecture/data/project-types.csv +0 -7
- package/.opencode/skills/bmad-create-architecture/steps/step-01-init.md +0 -153
- package/.opencode/skills/bmad-create-architecture/steps/step-01b-continue.md +0 -173
- package/.opencode/skills/bmad-create-architecture/steps/step-02-context.md +0 -224
- package/.opencode/skills/bmad-create-architecture/steps/step-03-starter.md +0 -329
- package/.opencode/skills/bmad-create-architecture/steps/step-04-decisions.md +0 -318
- package/.opencode/skills/bmad-create-architecture/steps/step-05-patterns.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-06-structure.md +0 -379
- package/.opencode/skills/bmad-create-architecture/steps/step-07-validation.md +0 -359
- package/.opencode/skills/bmad-create-architecture/steps/step-08-complete.md +0 -76
- package/.opencode/skills/bmad-create-architecture/workflow.md +0 -38
- package/.opencode/skills/bmad-create-epics-and-stories/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -212
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -255
- package/.opencode/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -131
- package/.opencode/skills/bmad-create-epics-and-stories/templates/epics-template.md +0 -61
- package/.opencode/skills/bmad-create-epics-and-stories/workflow.md +0 -53
- package/.opencode/skills/bmad-create-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-create-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-create-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-create-prd/steps-c/step-01-init.md +0 -178
- package/.opencode/skills/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
- package/.opencode/skills/bmad-create-prd/steps-c/step-02-discovery.md +0 -208
- package/.opencode/skills/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
- package/.opencode/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
- package/.opencode/skills/bmad-create-prd/steps-c/step-03-success.md +0 -214
- package/.opencode/skills/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
- package/.opencode/skills/bmad-create-prd/steps-c/step-05-domain.md +0 -194
- package/.opencode/skills/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
- package/.opencode/skills/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
- package/.opencode/skills/bmad-create-prd/steps-c/step-08-scoping.md +0 -216
- package/.opencode/skills/bmad-create-prd/steps-c/step-09-functional.md +0 -219
- package/.opencode/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
- package/.opencode/skills/bmad-create-prd/steps-c/step-11-polish.md +0 -221
- package/.opencode/skills/bmad-create-prd/steps-c/step-12-complete.md +0 -115
- package/.opencode/skills/bmad-create-prd/templates/prd-template.md +0 -10
- package/.opencode/skills/bmad-create-prd/workflow.md +0 -62
- package/.opencode/skills/bmad-create-story/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-story/checklist.md +0 -357
- package/.opencode/skills/bmad-create-story/discover-inputs.md +0 -88
- package/.opencode/skills/bmad-create-story/template.md +0 -49
- package/.opencode/skills/bmad-create-story/workflow.md +0 -380
- package/.opencode/skills/bmad-create-ux-design/SKILL.md +0 -6
- package/.opencode/skills/bmad-create-ux-design/steps/step-01-init.md +0 -135
- package/.opencode/skills/bmad-create-ux-design/steps/step-01b-continue.md +0 -127
- package/.opencode/skills/bmad-create-ux-design/steps/step-02-discovery.md +0 -190
- package/.opencode/skills/bmad-create-ux-design/steps/step-03-core-experience.md +0 -217
- package/.opencode/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -220
- package/.opencode/skills/bmad-create-ux-design/steps/step-05-inspiration.md +0 -235
- package/.opencode/skills/bmad-create-ux-design/steps/step-06-design-system.md +0 -253
- package/.opencode/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -255
- package/.opencode/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-09-design-directions.md +0 -225
- package/.opencode/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -242
- package/.opencode/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -249
- package/.opencode/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -238
- package/.opencode/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -265
- package/.opencode/skills/bmad-create-ux-design/steps/step-14-complete.md +0 -171
- package/.opencode/skills/bmad-create-ux-design/ux-design-template.md +0 -13
- package/.opencode/skills/bmad-create-ux-design/workflow.md +0 -36
- package/.opencode/skills/bmad-distillator/SKILL.md +0 -178
- package/.opencode/skills/bmad-distillator/agents/distillate-compressor.md +0 -116
- package/.opencode/skills/bmad-distillator/agents/round-trip-reconstructor.md +0 -68
- package/.opencode/skills/bmad-distillator/resources/compression-rules.md +0 -51
- package/.opencode/skills/bmad-distillator/resources/distillate-format-reference.md +0 -227
- package/.opencode/skills/bmad-distillator/resources/splitting-strategy.md +0 -78
- package/.opencode/skills/bmad-distillator/scripts/analyze_sources.py +0 -300
- package/.opencode/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -204
- package/.opencode/skills/bmad-document-project/SKILL.md +0 -6
- package/.opencode/skills/bmad-document-project/checklist.md +0 -245
- package/.opencode/skills/bmad-document-project/documentation-requirements.csv +0 -12
- package/.opencode/skills/bmad-document-project/instructions.md +0 -128
- package/.opencode/skills/bmad-document-project/templates/deep-dive-template.md +0 -345
- package/.opencode/skills/bmad-document-project/templates/index-template.md +0 -169
- package/.opencode/skills/bmad-document-project/templates/project-overview-template.md +0 -103
- package/.opencode/skills/bmad-document-project/templates/project-scan-report-schema.json +0 -160
- package/.opencode/skills/bmad-document-project/templates/source-tree-template.md +0 -135
- package/.opencode/skills/bmad-document-project/workflow.md +0 -27
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-instructions.md +0 -299
- package/.opencode/skills/bmad-document-project/workflows/deep-dive-workflow.md +0 -34
- package/.opencode/skills/bmad-document-project/workflows/full-scan-instructions.md +0 -1107
- package/.opencode/skills/bmad-document-project/workflows/full-scan-workflow.md +0 -34
- package/.opencode/skills/bmad-domain-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-domain-research/domain-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
- package/.opencode/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
- package/.opencode/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
- package/.opencode/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
- package/.opencode/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -444
- package/.opencode/skills/bmad-domain-research/research.template.md +0 -29
- package/.opencode/skills/bmad-domain-research/workflow.md +0 -49
- package/.opencode/skills/bmad-edit-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
- package/.opencode/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
- package/.opencode/skills/bmad-edit-prd/workflow.md +0 -63
- package/.opencode/skills/bmad-editorial-review-prose/SKILL.md +0 -86
- package/.opencode/skills/bmad-editorial-review-structure/SKILL.md +0 -179
- package/.opencode/skills/bmad-generate-project-context/SKILL.md +0 -6
- package/.opencode/skills/bmad-generate-project-context/project-context-template.md +0 -21
- package/.opencode/skills/bmad-generate-project-context/steps/step-01-discover.md +0 -186
- package/.opencode/skills/bmad-generate-project-context/steps/step-02-generate.md +0 -321
- package/.opencode/skills/bmad-generate-project-context/steps/step-03-complete.md +0 -278
- package/.opencode/skills/bmad-generate-project-context/workflow.md +0 -43
- package/.opencode/skills/bmad-help/SKILL.md +0 -73
- package/.opencode/skills/bmad-index-docs/SKILL.md +0 -66
- package/.opencode/skills/bmad-init/SKILL.md +0 -100
- package/.opencode/skills/bmad-init/resources/core-module.yaml +0 -25
- package/.opencode/skills/bmad-init/scripts/bmad_init.py +0 -593
- package/.opencode/skills/bmad-init/scripts/tests/test_bmad_init.py +0 -329
- package/.opencode/skills/bmad-ma-agent-cyber/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-devops/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-mil498/SKILL.md +0 -53
- package/.opencode/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-ml/SKILL.md +0 -59
- package/.opencode/skills/bmad-ma-agent-ml/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-ma-agent-sre/SKILL.md +0 -49
- package/.opencode/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +0 -11
- package/.opencode/skills/bmad-market-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-market-research/research.template.md +0 -29
- package/.opencode/skills/bmad-market-research/steps/step-01-init.md +0 -184
- package/.opencode/skills/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
- package/.opencode/skills/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
- package/.opencode/skills/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
- package/.opencode/skills/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
- package/.opencode/skills/bmad-market-research/steps/step-06-research-completion.md +0 -478
- package/.opencode/skills/bmad-market-research/workflow.md +0 -49
- package/.opencode/skills/bmad-party-mode/SKILL.md +0 -6
- package/.opencode/skills/bmad-party-mode/steps/step-01-agent-loading.md +0 -138
- package/.opencode/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -187
- package/.opencode/skills/bmad-party-mode/steps/step-03-graceful-exit.md +0 -167
- package/.opencode/skills/bmad-party-mode/workflow.md +0 -190
- package/.opencode/skills/bmad-product-brief/SKILL.md +0 -87
- package/.opencode/skills/bmad-product-brief/agents/artifact-analyzer.md +0 -60
- package/.opencode/skills/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
- package/.opencode/skills/bmad-product-brief/agents/web-researcher.md +0 -49
- package/.opencode/skills/bmad-product-brief/bmad-manifest.json +0 -17
- package/.opencode/skills/bmad-product-brief/prompts/contextual-discovery.md +0 -57
- package/.opencode/skills/bmad-product-brief/prompts/draft-and-review.md +0 -86
- package/.opencode/skills/bmad-product-brief/prompts/finalize.md +0 -75
- package/.opencode/skills/bmad-product-brief/prompts/guided-elicitation.md +0 -70
- package/.opencode/skills/bmad-product-brief/resources/brief-template.md +0 -60
- package/.opencode/skills/bmad-qa-generate-e2e-tests/SKILL.md +0 -6
- package/.opencode/skills/bmad-qa-generate-e2e-tests/checklist.md +0 -33
- package/.opencode/skills/bmad-qa-generate-e2e-tests/workflow.md +0 -136
- package/.opencode/skills/bmad-quick-dev/SKILL.md +0 -6
- package/.opencode/skills/bmad-quick-dev/spec-template.md +0 -88
- package/.opencode/skills/bmad-quick-dev/step-01-clarify-and-route.md +0 -64
- package/.opencode/skills/bmad-quick-dev/step-02-plan.md +0 -35
- package/.opencode/skills/bmad-quick-dev/step-03-implement.md +0 -37
- package/.opencode/skills/bmad-quick-dev/step-04-review.md +0 -49
- package/.opencode/skills/bmad-quick-dev/step-05-present.md +0 -63
- package/.opencode/skills/bmad-quick-dev/step-oneshot.md +0 -49
- package/.opencode/skills/bmad-quick-dev/workflow.md +0 -79
- package/.opencode/skills/bmad-retrospective/SKILL.md +0 -6
- package/.opencode/skills/bmad-retrospective/workflow.md +0 -1479
- package/.opencode/skills/bmad-review-adversarial-general/SKILL.md +0 -37
- package/.opencode/skills/bmad-review-edge-case-hunter/SKILL.md +0 -67
- package/.opencode/skills/bmad-shard-doc/SKILL.md +0 -105
- package/.opencode/skills/bmad-sprint-planning/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-planning/checklist.md +0 -33
- package/.opencode/skills/bmad-sprint-planning/sprint-status-template.yaml +0 -56
- package/.opencode/skills/bmad-sprint-planning/workflow.md +0 -263
- package/.opencode/skills/bmad-sprint-status/SKILL.md +0 -6
- package/.opencode/skills/bmad-sprint-status/workflow.md +0 -261
- package/.opencode/skills/bmad-technical-research/SKILL.md +0 -6
- package/.opencode/skills/bmad-technical-research/research.template.md +0 -29
- package/.opencode/skills/bmad-technical-research/technical-steps/step-01-init.md +0 -137
- package/.opencode/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
- package/.opencode/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
- package/.opencode/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
- package/.opencode/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
- package/.opencode/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -487
- package/.opencode/skills/bmad-technical-research/workflow.md +0 -50
- package/.opencode/skills/bmad-validate-prd/SKILL.md +0 -6
- package/.opencode/skills/bmad-validate-prd/data/domain-complexity.csv +0 -15
- package/.opencode/skills/bmad-validate-prd/data/prd-purpose.md +0 -197
- package/.opencode/skills/bmad-validate-prd/data/project-types.csv +0 -11
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
- package/.opencode/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -229
- package/.opencode/skills/bmad-validate-prd/workflow.md +0 -62
- package/.opencode/skills/cleanup-done/SKILL.md +0 -159
- package/.opencode/skills/cmake-best-practices/SKILL.md +0 -64
- package/.opencode/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.opencode/skills/code-documentation/SKILL.md +0 -57
- package/.opencode/skills/code-documentation/examples/cpp.md +0 -29
- package/.opencode/skills/code-documentation/examples/csharp.md +0 -28
- package/.opencode/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.opencode/skills/code-documentation/examples/python.md +0 -57
- package/.opencode/skills/code-review/SKILL.md +0 -43
- package/.opencode/skills/commit-message/SKILL.md +0 -79
- package/.opencode/skills/cpp-best-practices/SKILL.md +0 -234
- package/.opencode/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
- package/.opencode/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
- package/.opencode/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.opencode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.opencode/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.opencode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.opencode/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.opencode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.opencode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.opencode/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.opencode/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.opencode/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.opencode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.opencode/skills/create-bug-story/SKILL.md +0 -263
- package/.opencode/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.opencode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.opencode/skills/csharp-best-practices/SKILL.md +0 -278
- package/.opencode/skills/cyber-generate-certs/.gitkeep +0 -0
- package/.opencode/skills/cyber-generate-certs/SKILL.md +0 -27
- package/.opencode/skills/cyber-generate-certs/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/.opencode/skills/cyber-immunity-estimation/SKILL.md +0 -29
- package/.opencode/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-security-audit/.gitkeep +0 -0
- package/.opencode/skills/cyber-security-audit/SKILL.md +0 -27
- package/.opencode/skills/cyber-security-audit/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/.opencode/skills/cyber-vault-secrets/SKILL.md +0 -28
- package/.opencode/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-docker-users/SKILL.md +0 -23
- package/.opencode/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/.opencode/skills/cyber-verify-image-signature/SKILL.md +0 -22
- package/.opencode/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/.opencode/skills/cyber-vulnerability-scan/SKILL.md +0 -28
- package/.opencode/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/.opencode/skills/devops-configure-infrastructure/SKILL.md +0 -27
- package/.opencode/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/.opencode/skills/devops-disconnected-deployment/SKILL.md +0 -27
- package/.opencode/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/.opencode/skills/devops-docker-compose-setup/SKILL.md +0 -26
- package/.opencode/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-manage-helm/.gitkeep +0 -0
- package/.opencode/skills/devops-manage-helm/SKILL.md +0 -28
- package/.opencode/skills/devops-manage-helm/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/.opencode/skills/devops-sign-docker-image/SKILL.md +0 -24
- package/.opencode/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.opencode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.opencode/skills/docker-image-signing/SKILL.md +0 -28
- package/.opencode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.opencode/skills/document-revision-history/SKILL.md +0 -104
- package/.opencode/skills/generate-backlog/.gitkeep +0 -0
- package/.opencode/skills/generate-backlog/SKILL.md +0 -183
- package/.opencode/skills/git-workflow-skill/SKILL.md +0 -194
- package/.opencode/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.opencode/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.opencode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.opencode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.opencode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.opencode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.opencode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.opencode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.opencode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.opencode/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.opencode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.opencode/skills/logging-best-practices/SKILL.md +0 -50
- package/.opencode/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.opencode/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.opencode/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.opencode/skills/logging-best-practices/examples/python.md +0 -57
- package/.opencode/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.opencode/skills/mil498-ocd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ocd/SKILL.md +0 -30
- package/.opencode/skills/mil498-ocd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +0 -26
- package/.opencode/skills/mil498-ocd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ocd/prompts/03-generate-document.md +0 -90
- package/.opencode/skills/mil498-ocd/prompts/04-validate.md +0 -14
- package/.opencode/skills/mil498-ocd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-ocd/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-sdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdd/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +0 -50
- package/.opencode/skills/mil498-sdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdd/prompts/03-generate-document.md +0 -98
- package/.opencode/skills/mil498-sdd/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sdd/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdd/prompts/06-save.md +0 -19
- package/.opencode/skills/mil498-sdd/template.md +0 -163
- package/.opencode/skills/mil498-sdp/.gitkeep +0 -0
- package/.opencode/skills/mil498-sdp/SKILL.md +0 -30
- package/.opencode/skills/mil498-sdp/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-sdp/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sdp/prompts/03-generate-document.md +0 -187
- package/.opencode/skills/mil498-sdp/prompts/04-validate.md +0 -13
- package/.opencode/skills/mil498-sdp/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sdp/prompts/06-save.md +0 -14
- package/.opencode/skills/mil498-srs/.gitkeep +0 -0
- package/.opencode/skills/mil498-srs/SKILL.md +0 -30
- package/.opencode/skills/mil498-srs/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-srs/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-srs/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-srs/prompts/03-generate-document.md +0 -100
- package/.opencode/skills/mil498-srs/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-srs/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-srs/prompts/06-save.md +0 -18
- package/.opencode/skills/mil498-ssdd/.gitkeep +0 -0
- package/.opencode/skills/mil498-ssdd/SKILL.md +0 -32
- package/.opencode/skills/mil498-ssdd/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +0 -32
- package/.opencode/skills/mil498-ssdd/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +0 -43
- package/.opencode/skills/mil498-ssdd/prompts/04-generate-document.md +0 -96
- package/.opencode/skills/mil498-ssdd/prompts/05-validate.md +0 -14
- package/.opencode/skills/mil498-ssdd/prompts/06-review.md +0 -16
- package/.opencode/skills/mil498-ssdd/prompts/07-save.md +0 -16
- package/.opencode/skills/mil498-sss/.gitkeep +0 -0
- package/.opencode/skills/mil498-sss/SKILL.md +0 -31
- package/.opencode/skills/mil498-sss/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-sss/prompts/01-discover-project-artifacts.md +0 -31
- package/.opencode/skills/mil498-sss/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-sss/prompts/03-generate-document.md +0 -108
- package/.opencode/skills/mil498-sss/prompts/04-validate.md +0 -16
- package/.opencode/skills/mil498-sss/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-sss/prompts/06-save.md +0 -15
- package/.opencode/skills/mil498-std/.gitkeep +0 -0
- package/.opencode/skills/mil498-std/SKILL.md +0 -30
- package/.opencode/skills/mil498-std/bmad-skill-manifest.yaml +0 -5
- package/.opencode/skills/mil498-std/prompts/01-discover-project-artifacts.md +0 -42
- package/.opencode/skills/mil498-std/prompts/02-load-template.md +0 -10
- package/.opencode/skills/mil498-std/prompts/03-generate-document.md +0 -117
- package/.opencode/skills/mil498-std/prompts/04-validate.md +0 -15
- package/.opencode/skills/mil498-std/prompts/05-review.md +0 -15
- package/.opencode/skills/mil498-std/prompts/06-save.md +0 -15
- package/.opencode/skills/ml-advise/.gitkeep +0 -0
- package/.opencode/skills/ml-advise/SKILL.md +0 -76
- package/.opencode/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-advise/skill.json +0 -7
- package/.opencode/skills/ml-analysis/.gitkeep +0 -0
- package/.opencode/skills/ml-analysis/SKILL.md +0 -60
- package/.opencode/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-analysis/skill.json +0 -7
- package/.opencode/skills/ml-architecture/.gitkeep +0 -0
- package/.opencode/skills/ml-architecture/SKILL.md +0 -55
- package/.opencode/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-architecture/skill.json +0 -7
- package/.opencode/skills/ml-detailed-design/.gitkeep +0 -0
- package/.opencode/skills/ml-detailed-design/SKILL.md +0 -67
- package/.opencode/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-detailed-design/skill.json +0 -7
- package/.opencode/skills/ml-eda/.gitkeep +0 -0
- package/.opencode/skills/ml-eda/SKILL.md +0 -56
- package/.opencode/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-eda/scripts/baseline_classifier.py +0 -522
- package/.opencode/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
- package/.opencode/skills/ml-eda/scripts/clustering_explorer.py +0 -383
- package/.opencode/skills/ml-eda/scripts/eda_analyzer.py +0 -654
- package/.opencode/skills/ml-eda/skill.json +0 -7
- package/.opencode/skills/ml-experiment/.gitkeep +0 -0
- package/.opencode/skills/ml-experiment/SKILL.md +0 -74
- package/.opencode/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
- package/.opencode/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
- package/.opencode/skills/ml-experiment/assets/template_datamodule.py +0 -219
- package/.opencode/skills/ml-experiment/assets/template_gnn_module.py +0 -341
- package/.opencode/skills/ml-experiment/assets/template_lightning_module.py +0 -158
- package/.opencode/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-experiment/skill.json +0 -7
- package/.opencode/skills/ml-hparam/.gitkeep +0 -0
- package/.opencode/skills/ml-hparam/SKILL.md +0 -81
- package/.opencode/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-hparam/skill.json +0 -7
- package/.opencode/skills/ml-ideation/.gitkeep +0 -0
- package/.opencode/skills/ml-ideation/SKILL.md +0 -50
- package/.opencode/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
- package/.opencode/skills/ml-ideation/skill.json +0 -7
- package/.opencode/skills/ml-infra/.gitkeep +0 -0
- package/.opencode/skills/ml-infra/SKILL.md +0 -58
- package/.opencode/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-infra/skill.json +0 -7
- package/.opencode/skills/ml-retrospective/.gitkeep +0 -0
- package/.opencode/skills/ml-retrospective/SKILL.md +0 -63
- package/.opencode/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-retrospective/skill.json +0 -7
- package/.opencode/skills/ml-revision/.gitkeep +0 -0
- package/.opencode/skills/ml-revision/SKILL.md +0 -82
- package/.opencode/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-revision/skill.json +0 -7
- package/.opencode/skills/ml-techspec/.gitkeep +0 -0
- package/.opencode/skills/ml-techspec/SKILL.md +0 -80
- package/.opencode/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/ml-techspec/skill.json +0 -7
- package/.opencode/skills/modify-sprint/.gitkeep +0 -0
- package/.opencode/skills/modify-sprint/SKILL.md +0 -322
- package/.opencode/skills/modify-sprint/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/open-presentation/SKILL.md +0 -35
- package/.opencode/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.opencode/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.opencode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.opencode/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.opencode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.opencode/skills/prioritize-backlog/.gitkeep +0 -0
- package/.opencode/skills/prioritize-backlog/SKILL.md +0 -195
- package/.opencode/skills/project-context-expansion/.gitkeep +0 -0
- package/.opencode/skills/project-context-expansion/SKILL.md +0 -238
- package/.opencode/skills/project-context-expansion/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/python-best-practices/SKILL.md +0 -385
- package/.opencode/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.opencode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.opencode/skills/python-security-skill/SKILL.md +0 -56
- package/.opencode/skills/python-security-skill/examples/security.md +0 -56
- package/.opencode/skills/remove-from-sprint/.gitkeep +0 -0
- package/.opencode/skills/remove-from-sprint/SKILL.md +0 -163
- package/.opencode/skills/self-signed-cert/SKILL.md +0 -42
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.opencode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.opencode/skills/skill-creator/SKILL.md +0 -196
- package/.opencode/skills/skill-creator/references/output-patterns.md +0 -82
- package/.opencode/skills/skill-creator/references/workflows.md +0 -28
- package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.opencode/skills/sprint-status-view/.gitkeep +0 -0
- package/.opencode/skills/sprint-status-view/SKILL.md +0 -263
- package/.opencode/skills/sprint-status-view/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-deployment-status/SKILL.md +0 -32
- package/.opencode/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-secrets/.gitkeep +0 -0
- package/.opencode/skills/sre-check-secrets/SKILL.md +0 -23
- package/.opencode/skills/sre-check-secrets/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-check-system-status/.gitkeep +0 -0
- package/.opencode/skills/sre-check-system-status/SKILL.md +0 -27
- package/.opencode/skills/sre-check-system-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-day-2-ops/.gitkeep +0 -0
- package/.opencode/skills/sre-day-2-ops/SKILL.md +0 -26
- package/.opencode/skills/sre-day-2-ops/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/.opencode/skills/sre-deployment-strategies/SKILL.md +0 -28
- package/.opencode/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-fix-deployments/.gitkeep +0 -0
- package/.opencode/skills/sre-fix-deployments/SKILL.md +0 -25
- package/.opencode/skills/sre-fix-deployments/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/sre-gitops-status/.gitkeep +0 -0
- package/.opencode/skills/sre-gitops-status/SKILL.md +0 -25
- package/.opencode/skills/sre-gitops-status/bmad-skill-manifest.yaml +0 -3
- package/.opencode/skills/story-status-lookup/SKILL.md +0 -78
- package/.opencode/skills/test-accompanied-development/SKILL.md +0 -50
- package/.opencode/skills/test-generator/SKILL.md +0 -65
- package/.opencode/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.opencode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.opencode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.roo/rules/00-ma-agents.md +0 -13
- package/.roo/skills/.ma-agents.json +0 -241
- package/.roo/skills/MANIFEST.yaml +0 -254
- package/.roo/skills/ai-audit-trail/SKILL.md +0 -23
- package/.roo/skills/auto-bug-detection/SKILL.md +0 -169
- package/.roo/skills/cmake-best-practices/SKILL.md +0 -64
- package/.roo/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.roo/skills/code-documentation/SKILL.md +0 -57
- package/.roo/skills/code-documentation/examples/cpp.md +0 -29
- package/.roo/skills/code-documentation/examples/csharp.md +0 -28
- package/.roo/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.roo/skills/code-documentation/examples/python.md +0 -57
- package/.roo/skills/code-review/SKILL.md +0 -43
- package/.roo/skills/commit-message/SKILL.md +0 -79
- package/.roo/skills/cpp-best-practices/SKILL.md +0 -234
- package/.roo/skills/cpp-best-practices/examples/modern-idioms.md +0 -189
- package/.roo/skills/cpp-best-practices/examples/naming-and-organization.md +0 -102
- package/.roo/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.roo/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.roo/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.roo/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.roo/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.roo/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.roo/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.roo/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.roo/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.roo/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.roo/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.roo/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.roo/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.roo/skills/csharp-best-practices/SKILL.md +0 -278
- package/.roo/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.roo/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.roo/skills/docker-image-signing/SKILL.md +0 -28
- package/.roo/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.roo/skills/document-revision-history/SKILL.md +0 -104
- package/.roo/skills/git-workflow-skill/SKILL.md +0 -194
- package/.roo/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.roo/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.roo/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.roo/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.roo/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.roo/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.roo/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.roo/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.roo/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.roo/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.roo/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.roo/skills/logging-best-practices/SKILL.md +0 -50
- package/.roo/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.roo/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.roo/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.roo/skills/logging-best-practices/examples/python.md +0 -57
- package/.roo/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.roo/skills/open-presentation/SKILL.md +0 -35
- package/.roo/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.roo/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.roo/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.roo/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.roo/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.roo/skills/python-best-practices/SKILL.md +0 -385
- package/.roo/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.roo/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.roo/skills/python-security-skill/SKILL.md +0 -56
- package/.roo/skills/python-security-skill/examples/security.md +0 -56
- package/.roo/skills/self-signed-cert/SKILL.md +0 -42
- package/.roo/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.roo/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.roo/skills/skill-creator/SKILL.md +0 -196
- package/.roo/skills/skill-creator/references/output-patterns.md +0 -82
- package/.roo/skills/skill-creator/references/workflows.md +0 -28
- package/.roo/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.roo/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.roo/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.roo/skills/story-status-lookup/SKILL.md +0 -78
- package/.roo/skills/test-accompanied-development/SKILL.md +0 -50
- package/.roo/skills/test-generator/SKILL.md +0 -65
- package/.roo/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.roo/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.roo/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/opencode.json +0 -5
- /package/{.opencode/skills/add-sprint → lib/bmad-extension/skills/bmad-dev-story}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/bmad-dev-story/SKILL.md +0 -0
- /package/{.opencode/skills/add-to-sprint → lib/bmad-extension/skills/bmad-sprint-planning}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-cyber → lib/bmad-extension/skills/bmad-sprint-status}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-devops → lib/bmad-extension/skills/cleanup-done}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/cleanup-done/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/bmad-ma-agent-mil498 → lib/bmad-extension/skills/close-sprint}/.gitkeep +0 -0
- /package/{.opencode/skills/bmad-ma-agent-ml → lib/bmad-extension/skills/generate-backlog}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/generate-backlog/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/bmad-ma-agent-sre → lib/bmad-extension/skills/mil498-requirement-quality}/.gitkeep +0 -0
- /package/{.opencode/skills/cleanup-done → lib/bmad-extension/skills/prioritize-backlog}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/create-bug-story → lib/bmad-extension/skills/remove-from-sprint}/.gitkeep +0 -0
- /package/{.opencode → lib/bmad-extension}/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -0
- /package/{.opencode/skills/mil498-ocd/template.md → mil498/OCD.md} +0 -0
- /package/{.opencode/skills/mil498-sdp/template.md → mil498/SDP.md} +0 -0
- /package/{.opencode/skills/mil498-srs/template.md → mil498/SRS.md} +0 -0
- /package/{.opencode/skills/mil498-ssdd/template.md → mil498/SSDD.md} +0 -0
- /package/{.opencode/skills/mil498-sss/template.md → mil498/SSS.md} +0 -0
- /package/{.opencode/skills/mil498-std/template.md → mil498/STD.md} +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Story 4.1: Visual Studio Agent Registry Entry
|
|
2
|
+
|
|
3
|
+
Status: ready-for-dev
|
|
4
|
+
|
|
5
|
+
<!-- Note: Validation is optional. Run validate-create-story for quality check before dev-story. -->
|
|
6
|
+
|
|
7
|
+
## Story
|
|
8
|
+
|
|
9
|
+
As a **Chief Architect**,
|
|
10
|
+
I want to understand how Visual Studio exposes AI agent configuration and add VS as a supported agent,
|
|
11
|
+
So that engineers can install skills into Visual Studio's AI assistant.
|
|
12
|
+
|
|
13
|
+
## Acceptance Criteria
|
|
14
|
+
|
|
15
|
+
1. **Given** Visual Studio has GitHub Copilot integration
|
|
16
|
+
**When** the integration mechanism is investigated
|
|
17
|
+
**Then** a technical note is produced documenting:
|
|
18
|
+
- Where VS stores AI agent instructions (file paths, config directories)
|
|
19
|
+
- What format VS expects (markdown, JSON, YAML, or other)
|
|
20
|
+
- How VS Copilot Chat extensions handle custom instructions
|
|
21
|
+
- Whether `.vs/` directory, `.editorconfig`, or another mechanism is used
|
|
22
|
+
- Platform path differences (Windows-only or cross-platform VS Code distinction)
|
|
23
|
+
|
|
24
|
+
2. **Given** the research is complete
|
|
25
|
+
**When** the findings are documented
|
|
26
|
+
**Then** a clear recommendation exists for the agent registry configuration object fields
|
|
27
|
+
|
|
28
|
+
3. **Given** the VS agent configuration is understood
|
|
29
|
+
**When** a new agent object is added to `lib/agents.js`
|
|
30
|
+
**Then** it includes: name, category, platform paths, instruction file, and resource map
|
|
31
|
+
**And** no changes are needed to `installer.js` or other modules (NFR13)
|
|
32
|
+
|
|
33
|
+
4. **Given** the VS agent is registered
|
|
34
|
+
**When** `npx ma-agents list --agents` is run
|
|
35
|
+
**Then** Visual Studio appears in the agent list
|
|
36
|
+
|
|
37
|
+
5. **Given** a skill is installed targeting the VS agent
|
|
38
|
+
**When** the install completes
|
|
39
|
+
**Then** skill content is placed in the correct VS configuration directory
|
|
40
|
+
**And** the manifest tracks the VS agent installation
|
|
41
|
+
|
|
42
|
+
> **Note:** AC #5 overlaps with Story 4-2 scope. Verify basic install here; detailed template resolution and multi-agent testing belongs in 4-2.
|
|
43
|
+
|
|
44
|
+
## Tasks / Subtasks
|
|
45
|
+
|
|
46
|
+
- [ ] Task 1: Research Visual Studio AI agent configuration (AC: #1, #2)
|
|
47
|
+
- [ ] 1.1: Investigate GitHub Copilot in Visual Studio (not VS Code) — how custom instructions are configured
|
|
48
|
+
- [ ] 1.2: Check for `.github/copilot/copilot.md` support in VS (this is the VS Code Copilot instruction file per `lib/agents.js:79` — does VS use the same mechanism?)
|
|
49
|
+
- [ ] 1.3: Investigate VS-specific paths: `.vs/` directory, `%APPDATA%/Microsoft/VisualStudio/`, or solution-level config
|
|
50
|
+
- [ ] 1.4: Check if VS supports `.editorconfig`-adjacent AI instruction files
|
|
51
|
+
- [ ] 1.5: Document findings in `_bmad-output/implementation-artifacts/vs-agent-research.md`
|
|
52
|
+
- [ ] 1.6: Produce recommendation for agent registry object fields matching the actual schema: `id`, `name`, `version`, `category`, `description`, `getProjectPath()`, `getGlobalPath()`, `fileExtension`, `template`, `instructionFiles[]`, and optionally `resourceMap`
|
|
53
|
+
- [ ] Task 2: Add VS agent to registry (AC: #3, #4)
|
|
54
|
+
- [ ] 2.1: Add agent configuration object to the agents array in `lib/agents.js` (search: `const agents = [`)
|
|
55
|
+
- [ ] 2.2: Set `id`, `name`, `version`, `category` ("ide"), `description`, `fileExtension`, `template` based on research findings
|
|
56
|
+
- [ ] 2.3: Implement `getProjectPath()` and `getGlobalPath()` functions with platform-specific paths (follow pattern from existing agents — Windows/macOS/Linux branches using `os.platform()`)
|
|
57
|
+
- [ ] 2.4: Set `instructionFiles` array based on VS's instruction file path
|
|
58
|
+
- [ ] 2.5: Add `resourceMap` only if VS uses non-standard directory names (like Cline does at `agents.js:122-125`) — otherwise omit
|
|
59
|
+
- [ ] 2.6: Verify no changes needed to `installer.js` — the installer should pick up the new agent automatically (NFR13)
|
|
60
|
+
- [ ] 2.5: Run `npx ma-agents list --agents` — verify VS appears
|
|
61
|
+
- [ ] Task 3: Test skill installation to VS agent (AC: #5)
|
|
62
|
+
- [ ] 3.1: Install a skill targeting the VS agent
|
|
63
|
+
- [ ] 3.2: Verify files are placed in the correct VS configuration directory
|
|
64
|
+
- [ ] 3.3: Verify manifest tracks the VS installation
|
|
65
|
+
- [ ] 3.4: Test on Windows (VS is primarily Windows — macOS VS for Mac is deprecated)
|
|
66
|
+
|
|
67
|
+
## Dev Notes
|
|
68
|
+
|
|
69
|
+
### Epic Scope Note
|
|
70
|
+
|
|
71
|
+
This story combines Epic 4 Story 4.1 (research) and Story 4.2 (add to registry) from the epics file into a single story. The companion story 4-2 covers template format verification — a scope not defined in the original epics. This was an intentional consolidation: research without registry implementation is incomplete, and template verification is a natural second story.
|
|
72
|
+
|
|
73
|
+
### Architecture Compliance
|
|
74
|
+
|
|
75
|
+
- **Adding a new agent = adding one object to the registry array.** No installer code changes needed. This is the core extensibility model. [Source: architecture.md#Extensibility-Model, NFR13]
|
|
76
|
+
- **Agent registry in `agents.js`:** Pure data + path functions. Each agent is a configuration object: name, category, platform paths, instruction file, resource map. [Source: architecture.md#Module-Boundaries]
|
|
77
|
+
- **Platform path centralization:** All platform awareness lives in `agents.js`. The installer uses `agents.js` for path resolution and is format-agnostic. [Source: architecture.md#Enforcement-Guidelines]
|
|
78
|
+
|
|
79
|
+
### Existing Agent Registry Pattern
|
|
80
|
+
|
|
81
|
+
Follow the exact pattern of existing agents. Example from the `copilot` agent in `lib/agents.js:60-80` (closest to VS):
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
{
|
|
85
|
+
id: 'copilot',
|
|
86
|
+
name: 'GitHub Copilot',
|
|
87
|
+
version: '1.0.0',
|
|
88
|
+
category: 'ide',
|
|
89
|
+
description: 'GitHub Copilot Agent Mode',
|
|
90
|
+
getProjectPath: () => path.join(process.cwd(), '.github', 'copilot', 'skills'),
|
|
91
|
+
getGlobalPath: () => {
|
|
92
|
+
const platform = os.platform();
|
|
93
|
+
if (platform === 'win32') {
|
|
94
|
+
return path.join(os.homedir(), 'AppData', 'Roaming', 'GitHub Copilot', 'skills');
|
|
95
|
+
} else if (platform === 'darwin') {
|
|
96
|
+
return path.join(os.homedir(), 'Library', 'Application Support', 'GitHub Copilot', 'skills');
|
|
97
|
+
} else {
|
|
98
|
+
return path.join(os.homedir(), '.config', 'github-copilot', 'skills');
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
fileExtension: '.md',
|
|
102
|
+
template: 'generic',
|
|
103
|
+
instructionFiles: ['.github/copilot/copilot.md']
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Note:** Only `cline` has a `resourceMap` field (maps `references` → `docs`, `assets` → `templates`). All other agents omit it. Only add `resourceMap` for VS if research shows it uses non-standard directory names.
|
|
108
|
+
|
|
109
|
+
The VS agent may use the same `.github/copilot/copilot.md` path if VS and VS Code share the same Copilot instruction mechanism. Research (Task 1) will determine this.
|
|
110
|
+
|
|
111
|
+
### Research Priorities
|
|
112
|
+
|
|
113
|
+
**Most likely outcome:** VS uses `.github/copilot/copilot.md` (same as VS Code Copilot — see `lib/agents.js:79`). In this case:
|
|
114
|
+
- The existing `copilot` agent may already cover VS
|
|
115
|
+
- Or VS may need a separate entry with the same paths but a different `id`/`name` for clarity
|
|
116
|
+
- Check if VS has additional instruction files beyond what VS Code supports
|
|
117
|
+
|
|
118
|
+
**Alternative outcomes:**
|
|
119
|
+
- VS uses `.vs/` directory for AI instructions (solution-level)
|
|
120
|
+
- VS uses `%APPDATA%` paths for user-level AI config
|
|
121
|
+
- VS has its own instruction format (not markdown)
|
|
122
|
+
|
|
123
|
+
### Windows-Only Consideration
|
|
124
|
+
|
|
125
|
+
Visual Studio is Windows-only (macOS Visual Studio for Mac was discontinued in 2024). The agent registry entry should:
|
|
126
|
+
- Set platform paths for Windows only (or gracefully skip on macOS/Linux)
|
|
127
|
+
- Use Windows-style paths where needed (though `path.join()` handles this automatically)
|
|
128
|
+
- Consider that the `copilot` agent already handles `.github/` paths cross-platform
|
|
129
|
+
|
|
130
|
+
### Phase 2 Injection Strategy (NOT YET IMPLEMENTED)
|
|
131
|
+
|
|
132
|
+
**Note:** `injectionStrategy` is a Phase 2 planned feature from architecture decision P2-1. It does NOT exist in the current codebase. When Phase 2 is implemented, the VS agent may gain:
|
|
133
|
+
|
|
134
|
+
```javascript
|
|
135
|
+
injectionStrategy: {
|
|
136
|
+
position: 'top',
|
|
137
|
+
skipPatterns: ['---'] // skip YAML frontmatter
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
For this story, focus on the current agent schema fields only. The `injectionStrategy` will be added in a separate Phase 2 epic.
|
|
142
|
+
|
|
143
|
+
### Critical Guardrails
|
|
144
|
+
|
|
145
|
+
- **Only modify `lib/agents.js`** — no changes to installer.js, cli.js, or bmad.js [Source: architecture.md, NFR13]
|
|
146
|
+
- **Use `path.join()` for all paths** [Source: architecture.md#Enforcement-Guidelines]
|
|
147
|
+
- **No `process.platform` checks outside agents.js** — use `os.platform()` inside `getProjectPath()`/`getGlobalPath()` only [Source: architecture.md#Anti-Patterns]
|
|
148
|
+
- **No new npm dependencies** [Source: architecture.md#Anti-Patterns]
|
|
149
|
+
|
|
150
|
+
### Project Structure Notes
|
|
151
|
+
|
|
152
|
+
- Files to modify: `lib/agents.js` (add agent entry)
|
|
153
|
+
- Files to create: `_bmad-output/implementation-artifacts/vs-agent-research.md` (research findings)
|
|
154
|
+
- No changes to installer, CLI, or BMAD modules
|
|
155
|
+
|
|
156
|
+
### References
|
|
157
|
+
|
|
158
|
+
- [Source: _bmad-output/planning-artifacts/epics.md#Epic-4] — Story 4.1 and 4.2 definitions
|
|
159
|
+
- [Source: _bmad-output/planning-artifacts/prd.md#IDE-Agent-Integration-Model] — VS listed as gap
|
|
160
|
+
- [Source: _bmad-output/planning-artifacts/architecture.md#Extensibility-Model] — Agent registry model (NFR13)
|
|
161
|
+
- [Source: _bmad-output/planning-artifacts/architecture.md#Decision-P2-1] — Injection strategy pattern
|
|
162
|
+
- [Source: _bmad-output/planning-artifacts/architecture.md#Module-Boundaries] — agents.js responsibility
|
|
163
|
+
- [Source: lib/agents.js] — Current agent registry (11 agents: 7 IDE + 4 BMAD)
|
|
164
|
+
|
|
165
|
+
## Dev Agent Record
|
|
166
|
+
|
|
167
|
+
### Agent Model Used
|
|
168
|
+
|
|
169
|
+
### Debug Log References
|
|
170
|
+
|
|
171
|
+
### Completion Notes List
|
|
172
|
+
|
|
173
|
+
### File List
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Story 4.2: Visual Studio Skill Template Format
|
|
2
|
+
|
|
3
|
+
Status: ready-for-dev
|
|
4
|
+
|
|
5
|
+
<!-- Note: Validation is optional. Run validate-create-story for quality check before dev-story. -->
|
|
6
|
+
<!-- Dependency: Story 4-1 must be completed first (research findings determine this story's implementation) -->
|
|
7
|
+
|
|
8
|
+
## Story
|
|
9
|
+
|
|
10
|
+
As an **engineer**,
|
|
11
|
+
I want skills to install correctly into Visual Studio with proper format translation,
|
|
12
|
+
So that my VS AI assistant receives the same methodology content as other agents.
|
|
13
|
+
|
|
14
|
+
## Acceptance Criteria
|
|
15
|
+
|
|
16
|
+
1. **Given** a skill with no VS-specific template exists
|
|
17
|
+
**When** installed to the VS agent
|
|
18
|
+
**Then** the `SKILL.md` fallback content is used (standard template resolution chain)
|
|
19
|
+
**And** the content is valid for VS's expected format
|
|
20
|
+
|
|
21
|
+
2. **Given** VS requires a format different from standard markdown
|
|
22
|
+
**When** a skill needs VS-specific content
|
|
23
|
+
**Then** a `visual-studio.md` (or format-appropriate) template can be added to the skill
|
|
24
|
+
**And** the template resolution chain picks it up automatically
|
|
25
|
+
|
|
26
|
+
3. **Given** skills are installed to both VS and other agents simultaneously
|
|
27
|
+
**When** the install completes
|
|
28
|
+
**Then** each agent receives the correct format (VS-specific or fallback)
|
|
29
|
+
**And** the manifest tracks both installations independently
|
|
30
|
+
|
|
31
|
+
4. **Given** the VS agent has resource mapping rules
|
|
32
|
+
**When** a skill with `references/` or `assets/` is installed
|
|
33
|
+
**Then** supporting files are mapped to the correct VS directories per the resource map
|
|
34
|
+
|
|
35
|
+
## Tasks / Subtasks
|
|
36
|
+
|
|
37
|
+
- [ ] Task 1: Determine VS template requirements (AC: #1, #2)
|
|
38
|
+
- [ ] 1.1: Based on Story 4-1 research, determine if VS needs a format different from standard markdown
|
|
39
|
+
- [ ] 1.2: If VS uses markdown (like most agents): no template format work needed — SKILL.md fallback works
|
|
40
|
+
- [ ] 1.3: If VS needs a different format: define the template transformation requirements
|
|
41
|
+
- [ ] 1.4: Determine the template filename: likely `visual-studio.md` matching the agent registry key
|
|
42
|
+
- [ ] Task 2: Define resource mapping for VS (AC: #4)
|
|
43
|
+
- [ ] 2.1: Based on Story 4-1 research, determine where VS expects supporting files (references/, assets/)
|
|
44
|
+
- [ ] 2.2: **Only if VS uses non-standard directory names**: add `resourceMap` to the VS agent entry in `lib/agents.js`. Currently only `cline` has a resourceMap (maps `references` → `docs`, `assets` → `templates` at `agents.js:122-125`). Example:
|
|
45
|
+
```javascript
|
|
46
|
+
resourceMap: {
|
|
47
|
+
'references': 'docs',
|
|
48
|
+
'assets': 'templates'
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
- [ ] 2.3: If VS uses standard directory names (`references/`, `assets/`), **omit `resourceMap` entirely** — do not set to null/empty (follow pattern of the other 10 agents that have no resourceMap)
|
|
52
|
+
- [ ] Task 3: Test template resolution for VS (AC: #1, #2, #3)
|
|
53
|
+
- [ ] 3.1: Install a skill WITHOUT a VS template — verify SKILL.md fallback works
|
|
54
|
+
- [ ] 3.2: If VS-specific template created: install a skill WITH a VS template — verify template is used
|
|
55
|
+
- [ ] 3.3: Install skills to VS + another agent simultaneously — verify both get correct content
|
|
56
|
+
- [ ] 3.4: Verify manifest tracks VS installations correctly
|
|
57
|
+
- [ ] Task 4: Create VS-specific templates for critical skills (AC: #2) — if needed
|
|
58
|
+
- [ ] 4.1: If VS needs format-specific templates, create them for high-priority skills (e.g., `git-workflow-skill`, `code-documentation`)
|
|
59
|
+
- [ ] 4.2: If VS uses standard markdown, this task is a no-op — SKILL.md fallback is sufficient
|
|
60
|
+
|
|
61
|
+
## Dev Notes
|
|
62
|
+
|
|
63
|
+
### Epic Scope Note
|
|
64
|
+
|
|
65
|
+
This story covers template format verification — a scope not in the original epics (which defined 4.2 as "Add Visual Studio Agent to Registry"). The registry addition is handled in Story 4-1. This story focuses on ensuring the template resolution chain works correctly for the VS agent.
|
|
66
|
+
|
|
67
|
+
### Architecture Compliance
|
|
68
|
+
|
|
69
|
+
- **Template resolution chain:** `templates/<agent-id>.md` -> `templates/generic.md` -> `SKILL.md`. The template filename must match the agent's `id` field in `agents.js` (e.g., if VS agent has `id: 'visual-studio'`, then template is `templates/visual-studio.md`). The `template` field on the agent config specifies which template to use as default (e.g., `template: 'generic'`). [Source: architecture.md#Extensibility-Model]
|
|
70
|
+
- **Adding a new agent target must not require changes to existing skills** (NFR11). The SKILL.md fallback ensures all existing skills work with VS out of the box.
|
|
71
|
+
- **Resource mapping** is optional per-agent in the registry. Only `cline` currently uses it. The installer reads resourceMap from agents.js if present and remaps directory names accordingly. [Source: architecture.md#Module-Boundaries, lib/agents.js:122-125]
|
|
72
|
+
|
|
73
|
+
### Dependency on Story 4-1
|
|
74
|
+
|
|
75
|
+
This story **cannot be implemented** until Story 4-1's research is complete. The research determines:
|
|
76
|
+
1. Whether VS needs a different format (markdown vs JSON vs other)
|
|
77
|
+
2. Where VS expects skill files (directory paths)
|
|
78
|
+
3. How resources (references, assets) are mapped
|
|
79
|
+
4. What the template filename should be
|
|
80
|
+
|
|
81
|
+
**If VS uses `.github/copilot-instructions.md`** (same as VS Code Copilot):
|
|
82
|
+
- This story is minimal — the existing `copilot` agent template format already works
|
|
83
|
+
- Resource mapping may already be defined in the `copilot` agent entry
|
|
84
|
+
- The main work is verifying the existing template chain works for VS
|
|
85
|
+
|
|
86
|
+
**If VS has a unique configuration mechanism:**
|
|
87
|
+
- Template format definition is needed
|
|
88
|
+
- Resource mapping must be researched and configured
|
|
89
|
+
- Some skills may need VS-specific templates
|
|
90
|
+
|
|
91
|
+
### Most Likely Scenario
|
|
92
|
+
|
|
93
|
+
VS Copilot likely shares the `.github/copilot-instructions.md` mechanism with VS Code. In this case:
|
|
94
|
+
- All existing skills work via SKILL.md fallback (no VS templates needed)
|
|
95
|
+
- Skills with `copilot.md` templates work for both VS and VS Code
|
|
96
|
+
- This story becomes primarily a verification/testing story
|
|
97
|
+
|
|
98
|
+
### Critical Guardrails
|
|
99
|
+
|
|
100
|
+
- **Do not modify existing skills** unless VS genuinely needs a different format [Source: NFR11]
|
|
101
|
+
- **Only modify `lib/agents.js`** for resource mapping updates [Source: architecture.md, NFR13]
|
|
102
|
+
- **Use `path.join()` for all paths** [Source: architecture.md#Enforcement-Guidelines]
|
|
103
|
+
- **No new npm dependencies** [Source: architecture.md#Anti-Patterns]
|
|
104
|
+
|
|
105
|
+
### Project Structure Notes
|
|
106
|
+
|
|
107
|
+
- Files to modify: `lib/agents.js` (resource map update for VS agent — may already be done in 4-1)
|
|
108
|
+
- Files to create: VS-specific templates in individual skills ONLY if research shows VS needs them
|
|
109
|
+
- No changes to installer logic, CLI, or BMAD modules
|
|
110
|
+
|
|
111
|
+
### References
|
|
112
|
+
|
|
113
|
+
- [Source: _bmad-output/planning-artifacts/epics.md#Epic-4] — Story 4.2 definition
|
|
114
|
+
- [Source: _bmad-output/planning-artifacts/prd.md#IDE-Agent-Integration-Model] — Agent integration points table
|
|
115
|
+
- [Source: _bmad-output/planning-artifacts/architecture.md#Extensibility-Model] — Template resolution priority chain
|
|
116
|
+
- [Source: _bmad-output/planning-artifacts/architecture.md#Module-Boundaries] — agents.js resource mapping
|
|
117
|
+
- [Source: _bmad-output/planning-artifacts/prd.md#NFR11] — New agents don't require changes to existing skills
|
|
118
|
+
- [Source: lib/agents.js] — Agent registry with resource maps
|
|
119
|
+
- [Source: _bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md] — Prerequisite story
|
|
120
|
+
|
|
121
|
+
## Dev Agent Record
|
|
122
|
+
|
|
123
|
+
### Agent Model Used
|
|
124
|
+
|
|
125
|
+
### Debug Log References
|
|
126
|
+
|
|
127
|
+
### Completion Notes List
|
|
128
|
+
|
|
129
|
+
### File List
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# Story 5.5: Explicit Parameter Passing to bmad-method
|
|
2
|
+
|
|
3
|
+
Status: review
|
|
4
|
+
|
|
5
|
+
<!-- Note: Validation is optional. Run validate-create-story for quality check before dev-story. -->
|
|
6
|
+
<!-- Epic: 5 — Bundled BMAD Installation (Phase 2) -->
|
|
7
|
+
<!-- Sprint Phase: Phase A — Installation Fixes (next release) -->
|
|
8
|
+
<!-- Dependencies: Stories 5.1-5.4 (all done). Story 5.6 (space-in-path) shares same code — coordinate. -->
|
|
9
|
+
|
|
10
|
+
## Story
|
|
11
|
+
|
|
12
|
+
As a **DevOps engineer**,
|
|
13
|
+
I want ma-agents to pass all collected installation parameters to bmad-method as explicit CLI flags,
|
|
14
|
+
so that BMAD is fully configured for all selected platforms (including OpenCode) without relying on the broken silent install mode.
|
|
15
|
+
|
|
16
|
+
## Acceptance Criteria
|
|
17
|
+
|
|
18
|
+
1. **Given** the user selects platforms during the ma-agents wizard (e.g., claude-code, cursor, opencode)
|
|
19
|
+
**When** bmad.js invokes bmad-method
|
|
20
|
+
**Then** it passes `--tools claude-code,cursor,opencode` explicitly
|
|
21
|
+
**And** bmad-method configures all selected platforms correctly
|
|
22
|
+
|
|
23
|
+
2. **Given** the user provides their name and language preference during the ma-agents wizard
|
|
24
|
+
**When** bmad.js invokes bmad-method
|
|
25
|
+
**Then** it passes `--user-name`, `--communication-language`, `--document-output-language`, and `--output-folder` as explicit flags
|
|
26
|
+
**And** bmad-method uses these values without prompting
|
|
27
|
+
|
|
28
|
+
3. **Given** all BMAD-relevant parameters are passed as explicit CLI flags
|
|
29
|
+
**When** the `--yes` flag is also included
|
|
30
|
+
**Then** bmad-method skips prompts only for parameters already supplied via flags
|
|
31
|
+
**And** applies its own defaults for any new parameters ma-agents hasn't mapped (FR125)
|
|
32
|
+
**And** no interactive BMAD prompt appears to the user (FR126)
|
|
33
|
+
|
|
34
|
+
4. **Given** the installer runs in CI/CD mode (`--yes --force`)
|
|
35
|
+
**When** bmad.js constructs the bmad-method command
|
|
36
|
+
**Then** it uses the same `buildBmadArgs()` function with pre-determined default answers
|
|
37
|
+
**And** produces identical BMAD configuration as interactive mode (FR127)
|
|
38
|
+
|
|
39
|
+
5. **Given** the extension module exists at `lib/bmad-extension/`
|
|
40
|
+
**When** bmad.js invokes bmad-method
|
|
41
|
+
**Then** it passes `--custom-content` with the quoted path to the extension module
|
|
42
|
+
**And** bmad-method validates the module.yaml and deploys the extension
|
|
43
|
+
|
|
44
|
+
6. **Given** bmad-method is invoked with `--action update` for existing installations
|
|
45
|
+
**When** the update completes
|
|
46
|
+
**Then** all explicit parameters are applied to the update
|
|
47
|
+
**And** existing customizations are preserved per bmad-method's update behavior
|
|
48
|
+
|
|
49
|
+
## Tasks / Subtasks
|
|
50
|
+
|
|
51
|
+
- [x] Task 1: Create `buildBmadArgs()` function in `lib/bmad.js` (AC: #1, #2, #3, #5)
|
|
52
|
+
- [x] 1.1 Define `buildBmadArgs(installContext)` that returns a complete command string
|
|
53
|
+
- [x] 1.2 Map all available parameters to bmad-method CLI flags (see parameter mapping table below)
|
|
54
|
+
- [x] 1.3 Quote ALL path arguments with double quotes for space-in-path safety (AC ties to Story 5.6)
|
|
55
|
+
- [x] 1.4 Always include `--yes` flag to suppress interactive prompts
|
|
56
|
+
- [x] 1.5 Include `--custom-content` pointing to `lib/bmad-extension/` if it exists
|
|
57
|
+
- [x] Task 2: Update `installBmad()` to use `buildBmadArgs()` (AC: #1, #2, #3)
|
|
58
|
+
- [x] 2.1 Replace string-concatenation command building with `buildBmadArgs()` call
|
|
59
|
+
- [x] 2.2 Pass `action: 'install'` in the install context
|
|
60
|
+
- [x] 2.3 Verify `prePopulateBmadCache(force)` still runs BEFORE execSync
|
|
61
|
+
- [x] Task 3: Update `updateBmad()` to use `buildBmadArgs()` (AC: #6)
|
|
62
|
+
- [x] 3.1 Replace string-concatenation command building with `buildBmadArgs()` call
|
|
63
|
+
- [x] 3.2 Pass `action: 'update'` in the install context
|
|
64
|
+
- [x] Task 4: Update `applyCustomizations()` recompile step to use `buildBmadArgs()` (AC: #3, #4)
|
|
65
|
+
- [x] 4.1 Replace the recompile command at current line ~130 with `buildBmadArgs()` call
|
|
66
|
+
- [x] 4.2 This call uses `action: 'install'` (it's a recompile, not update)
|
|
67
|
+
- [x] Task 5: Update function signatures to accept install context (AC: #2, #4)
|
|
68
|
+
- [x] 5.1 Add `userName`, `commLang`, `docLang`, `outputFolder` parameters (with defaults)
|
|
69
|
+
- [x] 5.2 Verify `cli.js` call sites are backward-compatible with new optional params (no changes needed — defaults apply)
|
|
70
|
+
- [x] 5.3 Ensure CI/CD path (`--yes`) uses same `buildBmadArgs()` with default values (FR127)
|
|
71
|
+
- [x] Task 6: Manual smoke test (AC: #1-#6)
|
|
72
|
+
- [x] 6.1 Run `npx ma-agents install --yes` and verify command output includes all explicit flags
|
|
73
|
+
- [x] 6.2 Verify `_bmad/` output includes all expected modules and tool configurations
|
|
74
|
+
- [x] 6.3 Test update path on existing installation
|
|
75
|
+
|
|
76
|
+
## Dev Notes
|
|
77
|
+
|
|
78
|
+
### Core Change: Replace ad-hoc command building with `buildBmadArgs()`
|
|
79
|
+
|
|
80
|
+
The current `lib/bmad.js` builds bmad-method commands via string concatenation in 3 places (lines 26, 52, 130). Each duplicates the pattern: `getBmadCommand('install --yes --directory "..."')` + manual `+= --modules` + manual `+= --tools`. This story replaces all 3 with a single `buildBmadArgs(installContext)` function per architecture Decision P2-6.
|
|
81
|
+
|
|
82
|
+
### Current State of `lib/bmad.js` (428 lines)
|
|
83
|
+
|
|
84
|
+
**3 command construction sites to replace:**
|
|
85
|
+
|
|
86
|
+
| Function | Line | Current pattern | Action flag |
|
|
87
|
+
|---|---|---|---|
|
|
88
|
+
| `installBmad()` | 26 | `getBmadCommand('install --yes --directory "..."')` + modules + tools | `install` |
|
|
89
|
+
| `updateBmad()` | 52 | `getBmadCommand('install --action update --yes --directory "..."')` + modules + tools | `update` |
|
|
90
|
+
| `applyCustomizations()` | 130 | `getBmadCommand('install --yes --directory "..."')` + modules + tools | `install` (recompile) |
|
|
91
|
+
|
|
92
|
+
**What is NOT changing:**
|
|
93
|
+
- `getBmadCommand(args)` stays — it resolves `bmad-npx-wrapper.js` via `require.resolve()` (Story 5.1)
|
|
94
|
+
- `prePopulateBmadCache(force)` stays — cache pre-population logic is correct (Story 5.3)
|
|
95
|
+
- `deployMethodology()` stays — runs AFTER execSync, unrelated to parameter passing
|
|
96
|
+
- `restoreGitDir()` stays — internal cache helper
|
|
97
|
+
- `applyCustomizations()` stages 1-7 (file copy, extension deploy, workflow deploy) stay — only the recompile execSync changes
|
|
98
|
+
|
|
99
|
+
### `buildBmadArgs()` Reference Implementation (from Architecture P2-6)
|
|
100
|
+
|
|
101
|
+
```javascript
|
|
102
|
+
function buildBmadArgs(installContext) {
|
|
103
|
+
const bmadPath = require.resolve('bmad-method/tools/bmad-npx-wrapper.js');
|
|
104
|
+
const args = [
|
|
105
|
+
'node', `"${bmadPath}"`, 'install',
|
|
106
|
+
'--directory', `"${installContext.projectRoot}"`,
|
|
107
|
+
'--modules', installContext.modules.join(','),
|
|
108
|
+
'--tools', installContext.tools.length > 0 ? installContext.tools.join(',') : 'none',
|
|
109
|
+
'--yes',
|
|
110
|
+
];
|
|
111
|
+
// Optional params — only include if provided (let bmad-method default otherwise)
|
|
112
|
+
if (installContext.userName) {
|
|
113
|
+
args.push('--user-name', `"${installContext.userName}"`);
|
|
114
|
+
}
|
|
115
|
+
if (installContext.commLang) {
|
|
116
|
+
args.push('--communication-language', installContext.commLang);
|
|
117
|
+
}
|
|
118
|
+
if (installContext.docLang) {
|
|
119
|
+
args.push('--document-output-language', installContext.docLang);
|
|
120
|
+
}
|
|
121
|
+
if (installContext.outputFolder) {
|
|
122
|
+
args.push('--output-folder', installContext.outputFolder);
|
|
123
|
+
}
|
|
124
|
+
// Extension module — only if directory exists
|
|
125
|
+
const extensionPath = path.join(__dirname, 'bmad-extension');
|
|
126
|
+
if (fs.existsSync(extensionPath)) {
|
|
127
|
+
args.push('--custom-content', `"${extensionPath}"`);
|
|
128
|
+
}
|
|
129
|
+
if (installContext.action === 'update') {
|
|
130
|
+
args.push('--action', 'update');
|
|
131
|
+
}
|
|
132
|
+
return args.join(' ');
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Parameter Mapping Table (FR123)
|
|
137
|
+
|
|
138
|
+
| ma-agents source | bmad-method flag | Current state | Notes |
|
|
139
|
+
|---|---|---|---|
|
|
140
|
+
| `projectRoot` (detected) | `--directory` | Already passed (Story 5.4 fix) | **Must quote for spaces** |
|
|
141
|
+
| `tools` array from wizard | `--tools` | Already passed | Fixes OpenCode bug — previously not configured |
|
|
142
|
+
| `modules` array | `--modules` | Already passed | Default: `['bmm', 'bmb']` |
|
|
143
|
+
| `userName` | `--user-name` | **NOT passed** — new | Optional; let bmad-method default if absent |
|
|
144
|
+
| `commLang` | `--communication-language` | **NOT passed** — new | Optional; defaults to "English" |
|
|
145
|
+
| `docLang` | `--document-output-language` | **NOT passed** — new | Optional; defaults to "English" |
|
|
146
|
+
| `outputFolder` | `--output-folder` | **NOT passed** — new | Optional; defaults to "_bmad-output" |
|
|
147
|
+
| extension module path | `--custom-content` | **NOT passed** — new | Path to `lib/bmad-extension/`; quote for spaces |
|
|
148
|
+
| install vs update | `--action` | Already passed for update | `install` (default) or `update` |
|
|
149
|
+
| `--yes` | `--yes` | Already passed | Suppresses prompts for supplied params only |
|
|
150
|
+
|
|
151
|
+
### bmad-method v6.0.4 CLI Flags (Verified from `node_modules`)
|
|
152
|
+
|
|
153
|
+
From `node_modules/bmad-method/tools/cli/commands/install.js` lines 14-26:
|
|
154
|
+
```
|
|
155
|
+
--directory <path> Installation directory
|
|
156
|
+
--modules <modules> Comma-separated list of module IDs
|
|
157
|
+
--tools <tools> Comma-separated list of tools/IDEs
|
|
158
|
+
--custom-content <paths> Comma-separated list of custom module paths
|
|
159
|
+
--action <type> install, update, quick-update, compile-agents
|
|
160
|
+
--user-name <name> Name for agents to use
|
|
161
|
+
--communication-language <lang> Language for agent communication
|
|
162
|
+
--document-output-language <lang> Language for document output
|
|
163
|
+
--output-folder <path> Output folder relative to project root
|
|
164
|
+
-y, --yes Accept all defaults and skip prompts
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Critical: `--custom-content` Replaces Manual Extension Deployment
|
|
168
|
+
|
|
169
|
+
Currently `applyCustomizations()` manually copies `lib/bmad-extension/` to `_bmad/extensions/ma-agents-skills/` (lines 156-162). With `--custom-content`, bmad-method handles this natively. **However**, the manual copy may still be needed for the recompile step in `applyCustomizations()` if bmad-method's `--custom-content` doesn't deploy to the same target path. Verify during implementation:
|
|
170
|
+
- Does `--custom-content` deploy to `_bmad/extensions/<module-name>/`?
|
|
171
|
+
- If yes: the manual `fs.copy` at line 160 can be removed (bmad-method handles it)
|
|
172
|
+
- If no: keep the manual copy AND pass `--custom-content` (belt-and-suspenders)
|
|
173
|
+
|
|
174
|
+
### Wizard Gap: `userName`, `commLang`, `docLang` Not Collected
|
|
175
|
+
|
|
176
|
+
The `bin/cli.js` wizard does NOT currently prompt for user name, communication language, document output language, or output folder. These are new parameters from FR123. For this story:
|
|
177
|
+
- Add the new params to function signatures with sensible defaults
|
|
178
|
+
- Pass defaults to `buildBmadArgs()` — bmad-method's `--yes` behavior will apply its own defaults for unprovided params
|
|
179
|
+
- **Do NOT add wizard prompts in this story** — that's a future enhancement. The goal is to stop the silent install from skipping config, not to collect new data from users yet.
|
|
180
|
+
|
|
181
|
+
### Three Bugs This Story Fixes
|
|
182
|
+
|
|
183
|
+
1. **OpenCode not configured**: `--tools` explicitly lists all selected platforms including opencode (currently tools ARE passed, but this ensures consistency through `buildBmadArgs()`)
|
|
184
|
+
2. **Spaces in paths**: All path arguments quoted in `buildBmadArgs()` — `--directory "d:\My Projects\agents"` (ties to Story 5.6)
|
|
185
|
+
3. **Silent install skips config**: `--yes` combined with explicit flags means bmad-method applies full config from flags, defaults only for unmapped params
|
|
186
|
+
|
|
187
|
+
### Project Structure Notes
|
|
188
|
+
|
|
189
|
+
- **Primary file**: `lib/bmad.js` — all changes in this file (existing 428 lines)
|
|
190
|
+
- **Secondary file**: `bin/cli.js` — update call sites to pass new optional params (existing patterns)
|
|
191
|
+
- **No new files created**
|
|
192
|
+
- **No new dependencies**
|
|
193
|
+
- Extension module at `lib/bmad-extension/` stays unchanged — just referenced by `--custom-content`
|
|
194
|
+
|
|
195
|
+
### References
|
|
196
|
+
|
|
197
|
+
- [Source: architecture.md, Decision P2-6] — Full `buildBmadArgs()` architecture with parameter mapping table
|
|
198
|
+
- [Source: epics.md, Story 5.5 lines 531-577] — Acceptance criteria and technical notes
|
|
199
|
+
- [Source: epics.md, Story 5.6 lines 578-603] — Space-in-path bug fix (shares code with this story)
|
|
200
|
+
- [Source: prd.md, FR123-FR127] — Explicit parameter passing requirements
|
|
201
|
+
- [Source: prd.md, NFR20-NFR21] — Version pinning and deterministic installation
|
|
202
|
+
- [Source: lib/bmad.js lines 25-49] — Current `installBmad()` implementation
|
|
203
|
+
- [Source: lib/bmad.js lines 51-75] — Current `updateBmad()` implementation
|
|
204
|
+
- [Source: lib/bmad.js lines 77-200] — Current `applyCustomizations()` with recompile at line 130
|
|
205
|
+
- [Source: node_modules/bmad-method/tools/cli/commands/install.js lines 14-26] — Verified CLI flag definitions
|
|
206
|
+
- [Source: bin/cli.js lines 374-432] — Call sites for installBmad/updateBmad/applyCustomizations
|
|
207
|
+
- [Source: 5-4-validate-bundled-installation.md] — Previous story: critical `--directory` bug fix, validation results
|
|
208
|
+
|
|
209
|
+
## Previous Story Intelligence (5.4)
|
|
210
|
+
|
|
211
|
+
**Critical bug found and fixed**: All 3 `getBmadCommand()` callsites were missing `--directory "${projectRoot}"`. bmad-method v6.0.4 only skips the directory prompt when `--directory` is explicitly provided; without it, non-TTY `execSync` silently exits with code 0 and no `_bmad/` is created. This was fixed in Story 5.4.
|
|
212
|
+
|
|
213
|
+
**Learnings to apply:**
|
|
214
|
+
- bmad-method silently succeeds when params are missing — always verify `_bmad/` output after install
|
|
215
|
+
- The `--directory` parameter MUST be quoted for paths with spaces (discovered but not fully fixed in 5.4 — this story completes the fix)
|
|
216
|
+
- `force` parameter must thread through all callsites — verify `buildBmadArgs()` doesn't drop it
|
|
217
|
+
- The `ac#3 status gap` (BMAD module status not surfaced by `npx ma-agents status`) is out of scope
|
|
218
|
+
|
|
219
|
+
**From Story 5.3 code review:**
|
|
220
|
+
- `prePopulateBmadCache()` removed `projectRoot` param — call is `prePopulateBmadCache(force)` only
|
|
221
|
+
- `fs.existsSync()` replaced with `await fs.pathExists()` — use async consistently
|
|
222
|
+
- Summary log only prints when `copied > 0 || replaced > 0` — correct behavior
|
|
223
|
+
|
|
224
|
+
## Git Intelligence
|
|
225
|
+
|
|
226
|
+
Recent commits (descending):
|
|
227
|
+
```
|
|
228
|
+
998fa13 docs(planning): add F9 migration, F10 multi-repo, F6 explicit params, Epic 17 sprint rework
|
|
229
|
+
8e88686 chore(release): bump version to 2.21.0
|
|
230
|
+
63610de feat(epic-13): auto-generate project-context.md at install time
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Current version: **2.21.0**. bmad-method pinned at **6.0.4** in `package.json` line 29.
|
|
234
|
+
|
|
235
|
+
No recent code changes to `lib/bmad.js` since Story 5.4 — the file is stable and ready for modification.
|
|
236
|
+
|
|
237
|
+
## Dev Agent Record
|
|
238
|
+
|
|
239
|
+
### Agent Model Used
|
|
240
|
+
|
|
241
|
+
Claude Opus 4.6 (1M context)
|
|
242
|
+
|
|
243
|
+
### Debug Log References
|
|
244
|
+
|
|
245
|
+
- Verified bmad-method `--custom-content` deploys to `_bmad/custom/` NOT `_bmad/extensions/` — kept manual extension copy (belt-and-suspenders approach per Dev Notes)
|
|
246
|
+
- cli.js call sites unchanged since new params use default destructured options `{} = {}` — backward compatible without modification
|
|
247
|
+
|
|
248
|
+
### Completion Notes List
|
|
249
|
+
|
|
250
|
+
- Created `buildBmadArgs(ctx)` function implementing Architecture Decision P2-6, replacing 3 ad-hoc string-concatenation command construction sites
|
|
251
|
+
- `buildBmadArgs()` delegates to existing `getBmadCommand()` for wrapper path resolution (preserving Story 5.1 fix)
|
|
252
|
+
- All 3 callsites (`installBmad`, `updateBmad`, `applyCustomizations` recompile) now use `buildBmadArgs()`
|
|
253
|
+
- Added `{ userName, commLang, docLang, outputFolder }` options object to `installBmad()`, `updateBmad()`, and `applyCustomizations()` with empty-string defaults
|
|
254
|
+
- `--custom-content` automatically included when `lib/bmad-extension/` directory exists
|
|
255
|
+
- ALL string arguments double-quoted for space-in-path safety: `--directory`, `--user-name`, `--communication-language`, `--document-output-language`, `--output-folder`, `--custom-content` (ties to Story 5.6)
|
|
256
|
+
- Input validation added: `buildBmadArgs()` throws clear error on missing `projectRoot` or non-array `modules`
|
|
257
|
+
- Graceful handling of undefined/null `tools` array (defaults to `--tools none`)
|
|
258
|
+
- 31 unit tests covering all parameter combinations, quoting, edge cases, input validation, and function signatures
|
|
259
|
+
- Full regression suite: 148 tests pass, 0 failures
|
|
260
|
+
- Code review findings addressed: H1 (--output-folder quoting), H2 (language flag quoting), M2 (Task 5.2 clarification), M3/M4 (unconditional --custom-content test + edge case), M5 (input validation), L1 (null tools test)
|
|
261
|
+
- M1 (shell injection via execSync) noted as pre-existing pattern — deferred to future wizard story when user-facing params are collected
|
|
262
|
+
|
|
263
|
+
### File List
|
|
264
|
+
|
|
265
|
+
- `lib/bmad.js` — Added `buildBmadArgs()`, updated `installBmad()`, `updateBmad()`, `applyCustomizations()` signatures and command construction
|
|
266
|
+
- `test/build-bmad-args.test.js` — New: 22 unit tests for `buildBmadArgs()` and updated function signatures
|
|
267
|
+
- `package.json` — Added `build-bmad-args.test.js` to test script
|
|
268
|
+
- `_bmad-output/implementation-artifacts/sprint-status.yaml` — Status: ready-for-dev → review
|
|
269
|
+
- `_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md` — Story file updates (tasks, status, dev record)
|
|
270
|
+
|
|
271
|
+
## Change Log
|
|
272
|
+
|
|
273
|
+
- 2026-03-26: Implemented Story 5.5 — replaced 3 ad-hoc command construction sites with single `buildBmadArgs()` function per Architecture Decision P2-6. Added explicit parameter passing for `--user-name`, `--communication-language`, `--document-output-language`, `--output-folder`, and `--custom-content` flags. All string arguments double-quoted for space safety. 31 tests, 0 regressions.
|
|
274
|
+
- 2026-03-26: Addressed code review findings — 2 High, 5 Medium, 1 Low. Fixed inconsistent quoting (H1/H2), added input validation (M5), improved test coverage (M3/M4/L1), clarified Task 5.2 (M2). Shell injection concern (M1) noted for future wizard story.
|