aiag-cli 2.19.0 → 3.1.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/.claude/commands/bmad/bmm/agents/analyst.md +14 -0
- package/.claude/commands/bmad/bmm/agents/architect.md +14 -0
- package/.claude/commands/bmad/bmm/agents/dev.md +14 -0
- package/.claude/commands/bmad/bmm/agents/pm.md +14 -0
- package/.claude/commands/bmad/bmm/agents/quick-flow-solo-dev.md +14 -0
- package/.claude/commands/bmad/bmm/agents/sm.md +14 -0
- package/.claude/commands/bmad/bmm/agents/tea.md +14 -0
- package/.claude/commands/bmad/bmm/agents/tech-writer.md +14 -0
- package/.claude/commands/bmad/bmm/agents/ux-designer.md +14 -0
- package/.claude/commands/bmad/bmm/workflows/check-implementation-readiness.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/code-review.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/correct-course.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-architecture.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-excalidraw-diagram.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-product-brief.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/create-story.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/dev-story.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/document-project.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/generate-project-context.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/prd.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/quick-dev.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/quick-spec.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/research.md +5 -0
- package/.claude/commands/bmad/bmm/workflows/retrospective.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/sprint-status.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-atdd.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-automate.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-ci.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-framework.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-nfr.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-test-design.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-test-review.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/testarch-trace.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/workflow-init.md +13 -0
- package/.claude/commands/bmad/bmm/workflows/workflow-status.md +13 -0
- package/.claude/commands/bmad/core/agents/bmad-master.md +14 -0
- package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
- package/.claude/commands/bmad/core/tasks/shard-doc.md +9 -0
- package/.claude/commands/bmad/core/workflows/brainstorming.md +5 -0
- package/.claude/commands/bmad/core/workflows/party-mode.md +5 -0
- package/_bmad/_config/agent-manifest.csv +11 -0
- package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-tea.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
- package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
- package/_bmad/_config/files-manifest.csv +290 -0
- package/_bmad/_config/ides/claude-code.yaml +6 -0
- package/_bmad/_config/manifest.yaml +9 -0
- package/_bmad/_config/task-manifest.csv +5 -0
- package/_bmad/_config/tool-manifest.csv +1 -0
- package/_bmad/_config/workflow-manifest.csv +35 -0
- package/_bmad/bmm/agents/analyst.md +76 -0
- package/_bmad/bmm/agents/architect.md +68 -0
- package/_bmad/bmm/agents/dev.md +70 -0
- package/_bmad/bmm/agents/pm.md +72 -0
- package/_bmad/bmm/agents/quick-flow-solo-dev.md +68 -0
- package/_bmad/bmm/agents/sm.md +71 -0
- package/_bmad/bmm/agents/tea.md +71 -0
- package/_bmad/bmm/agents/tech-writer.md +72 -0
- package/_bmad/bmm/agents/ux-designer.md +68 -0
- package/_bmad/bmm/config.yaml +18 -0
- package/_bmad/bmm/data/README.md +29 -0
- package/_bmad/bmm/data/documentation-standards.md +262 -0
- package/_bmad/bmm/data/project-context-template.md +40 -0
- package/_bmad/bmm/teams/default-party.csv +21 -0
- package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
- package/_bmad/bmm/testarch/knowledge/api-request.md +442 -0
- package/_bmad/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/_bmad/bmm/testarch/knowledge/auth-session.md +552 -0
- package/_bmad/bmm/testarch/knowledge/burn-in.md +273 -0
- package/_bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/_bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/_bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/_bmad/bmm/testarch/knowledge/data-factories.md +500 -0
- package/_bmad/bmm/testarch/knowledge/email-auth.md +721 -0
- package/_bmad/bmm/testarch/knowledge/error-handling.md +725 -0
- package/_bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/_bmad/bmm/testarch/knowledge/file-utils.md +463 -0
- package/_bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/_bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/_bmad/bmm/testarch/knowledge/intercept-network-call.md +430 -0
- package/_bmad/bmm/testarch/knowledge/log.md +429 -0
- package/_bmad/bmm/testarch/knowledge/network-error-monitor.md +405 -0
- package/_bmad/bmm/testarch/knowledge/network-first.md +486 -0
- package/_bmad/bmm/testarch/knowledge/network-recorder.md +527 -0
- package/_bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/_bmad/bmm/testarch/knowledge/overview.md +286 -0
- package/_bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/_bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/_bmad/bmm/testarch/knowledge/recurse.md +421 -0
- package/_bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/_bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/_bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/_bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/_bmad/bmm/testarch/knowledge/test-quality.md +664 -0
- package/_bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/_bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/_bmad/bmm/testarch/tea-index.csv +34 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +194 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/_bmad/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +13 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +11 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +231 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +10 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
- package/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +150 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +59 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +173 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
- package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
- package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/_bmad/bmm/workflows/document-project/workflow.yaml +28 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
- package/_bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/_bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
- package/_bmad/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/_bmad/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
- package/_bmad/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/_bmad/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/_bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
- package/_bmad/bmm/workflows/testarch/ci/checklist.md +248 -0
- package/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/_bmad/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/_bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
- package/_bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/_bmad/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/_bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
- package/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
- package/_bmad/bmm/workflows/testarch/test-design/checklist.md +235 -0
- package/_bmad/bmm/workflows/testarch/test-design/instructions.md +788 -0
- package/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
- package/_bmad/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/_bmad/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
- package/_bmad/bmm/workflows/testarch/trace/checklist.md +655 -0
- package/_bmad/bmm/workflows/testarch/trace/instructions.md +1047 -0
- package/_bmad/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/_bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
- package/_bmad/bmm/workflows/workflow-status/init/instructions.md +346 -0
- package/_bmad/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
- package/_bmad/bmm/workflows/workflow-status/instructions.md +395 -0
- package/_bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
- package/_bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
- package/_bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
- package/_bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
- package/_bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/_bmad/bmm/workflows/workflow-status/workflow.yaml +30 -0
- package/_bmad/core/agents/bmad-master.md +57 -0
- package/_bmad/core/config.yaml +9 -0
- package/_bmad/core/resources/excalidraw/README.md +160 -0
- package/_bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/_bmad/core/resources/excalidraw/library-loader.md +50 -0
- package/_bmad/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/_bmad/core/tasks/index-docs.xml +65 -0
- package/_bmad/core/tasks/review-adversarial-general.xml +41 -0
- package/_bmad/core/tasks/shard-doc.xml +109 -0
- package/_bmad/core/tasks/workflow.xml +235 -0
- package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/_bmad/core/workflows/brainstorming/template.md +15 -0
- package/_bmad/core/workflows/brainstorming/workflow.md +58 -0
- package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -0
- package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -0
- package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
- package/_bmad/core/workflows/party-mode/workflow.md +206 -0
- package/dist/cli.js +13 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +109 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/prd.d.ts +7 -5
- package/dist/commands/prd.d.ts.map +1 -1
- package/dist/commands/prd.js +165 -197
- package/dist/commands/prd.js.map +1 -1
- package/dist/types.d.ts +101 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bmadRunner.d.ts +111 -0
- package/dist/utils/bmadRunner.d.ts.map +1 -0
- package/dist/utils/bmadRunner.js +380 -0
- package/dist/utils/bmadRunner.js.map +1 -0
- package/dist/utils/messages.d.ts +2 -0
- package/dist/utils/messages.d.ts.map +1 -1
- package/dist/utils/messages.js +3 -1
- package/dist/utils/messages.js.map +1 -1
- package/package.json +5 -2
package/dist/commands/init.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
+
import * as yaml from 'yaml';
|
|
3
4
|
import { fileURLToPath } from 'url';
|
|
4
5
|
import { dirname } from 'path';
|
|
5
6
|
import { aiagExists, readFeatureList } from '../utils/featureList.js';
|
|
@@ -10,6 +11,63 @@ import { installSkillIfNeeded, bundledSkillExists } from '../skills/installer.js
|
|
|
10
11
|
const __filename = fileURLToPath(import.meta.url);
|
|
11
12
|
const __dirname = dirname(__filename);
|
|
12
13
|
const AIAG_DIR = '.aiag';
|
|
14
|
+
const BMAD_DIR = '.aiag/_bmad'; // BMAD 프레임워크 (변경: _bmad → .aiag/_bmad)
|
|
15
|
+
const BMAD_OUTPUT_DIR = '.aiag/_bmad-output'; // BMAD 출력 디렉토리
|
|
16
|
+
const CLAUDE_DIR = '.claude';
|
|
17
|
+
/**
|
|
18
|
+
* 디렉토리를 재귀적으로 복사
|
|
19
|
+
*/
|
|
20
|
+
function copyDirectoryRecursive(src, dest) {
|
|
21
|
+
// 소스가 없으면 스킵
|
|
22
|
+
if (!fs.existsSync(src)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// 대상 디렉토리 생성
|
|
26
|
+
if (!fs.existsSync(dest)) {
|
|
27
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
30
|
+
for (const entry of entries) {
|
|
31
|
+
const srcPath = path.join(src, entry.name);
|
|
32
|
+
const destPath = path.join(dest, entry.name);
|
|
33
|
+
if (entry.isDirectory()) {
|
|
34
|
+
copyDirectoryRecursive(srcPath, destPath);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
fs.copyFileSync(srcPath, destPath);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* .claude 디렉토리 복사 (settings.local.json은 기존 유지 또는 병합)
|
|
43
|
+
*/
|
|
44
|
+
function copyClaudeDirectory(src, dest) {
|
|
45
|
+
if (!fs.existsSync(src)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// 대상 디렉토리 생성
|
|
49
|
+
if (!fs.existsSync(dest)) {
|
|
50
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
51
|
+
}
|
|
52
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
53
|
+
for (const entry of entries) {
|
|
54
|
+
const srcPath = path.join(src, entry.name);
|
|
55
|
+
const destPath = path.join(dest, entry.name);
|
|
56
|
+
if (entry.isDirectory()) {
|
|
57
|
+
// commands 디렉토리는 재귀 복사
|
|
58
|
+
copyDirectoryRecursive(srcPath, destPath);
|
|
59
|
+
}
|
|
60
|
+
else if (entry.name === 'settings.local.json') {
|
|
61
|
+
// settings.local.json은 기존 파일이 있으면 유지
|
|
62
|
+
if (!fs.existsSync(destPath)) {
|
|
63
|
+
fs.copyFileSync(srcPath, destPath);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
fs.copyFileSync(srcPath, destPath);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
13
71
|
export async function init(options = {}) {
|
|
14
72
|
const baseDir = process.cwd();
|
|
15
73
|
// 1. 이미 초기화되어 있는지 확인
|
|
@@ -223,6 +281,36 @@ echo "'aiag next'로 다음 기능 확인"
|
|
|
223
281
|
: '# testCommand Fix Agent Template\n\n(문서 참조)';
|
|
224
282
|
fs.writeFileSync(path.join(baseDir, AIAG_DIR, 'templates', 'testcommand-fix-agent.md'), testCommandFixTemplate);
|
|
225
283
|
console.log(` ${icons.success} ${messages.init.files.templates}`);
|
|
284
|
+
// _bmad 디렉토리 복사 (BMAD 프레임워크) → .aiag/_bmad로 설치
|
|
285
|
+
const bmadSrcDir = path.join(__dirname, '../../_bmad');
|
|
286
|
+
const bmadDestDir = path.join(baseDir, BMAD_DIR);
|
|
287
|
+
if (fs.existsSync(bmadSrcDir)) {
|
|
288
|
+
copyDirectoryRecursive(bmadSrcDir, bmadDestDir);
|
|
289
|
+
console.log(` ${icons.success} .aiag/_bmad/ (BMAD 프레임워크)`);
|
|
290
|
+
// BMAD 출력 디렉토리 구조 생성
|
|
291
|
+
const bmadOutputDir = path.join(baseDir, BMAD_OUTPUT_DIR);
|
|
292
|
+
const planningArtifacts = path.join(bmadOutputDir, 'planning-artifacts');
|
|
293
|
+
const implementationArtifacts = path.join(bmadOutputDir, 'implementation-artifacts');
|
|
294
|
+
if (!fs.existsSync(planningArtifacts)) {
|
|
295
|
+
fs.mkdirSync(planningArtifacts, { recursive: true });
|
|
296
|
+
}
|
|
297
|
+
if (!fs.existsSync(implementationArtifacts)) {
|
|
298
|
+
fs.mkdirSync(implementationArtifacts, { recursive: true });
|
|
299
|
+
}
|
|
300
|
+
console.log(` ${icons.success} .aiag/_bmad-output/ (BMAD 출력 디렉토리)`);
|
|
301
|
+
// BMAD config.yaml 경로 업데이트 (설치된 위치에 맞게)
|
|
302
|
+
const bmadConfigPath = path.join(bmadDestDir, 'bmm/config.yaml');
|
|
303
|
+
if (fs.existsSync(bmadConfigPath)) {
|
|
304
|
+
updateBmadConfigPaths(bmadConfigPath, path.basename(baseDir));
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// .claude 디렉토리 복사 (Claude Code 명령어)
|
|
308
|
+
const claudeSrcDir = path.join(__dirname, '../../.claude');
|
|
309
|
+
const claudeDestDir = path.join(baseDir, CLAUDE_DIR);
|
|
310
|
+
if (fs.existsSync(claudeSrcDir)) {
|
|
311
|
+
copyClaudeDirectory(claudeSrcDir, claudeDestDir);
|
|
312
|
+
console.log(` ${icons.success} .claude/ (Claude Code 명령어)`);
|
|
313
|
+
}
|
|
226
314
|
// .vscode/settings.json 생성
|
|
227
315
|
createVscodeSettings(baseDir);
|
|
228
316
|
}
|
|
@@ -277,4 +365,25 @@ function createVscodeSettings(baseDir) {
|
|
|
277
365
|
fs.writeFileSync(vscodeSettingsPath, JSON.stringify(vscodeSettings, null, 2));
|
|
278
366
|
console.log(` ${icons.success} ${messages.init.files.vscode}`);
|
|
279
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* BMAD config.yaml의 경로를 .aiag 기준으로 업데이트
|
|
370
|
+
*/
|
|
371
|
+
function updateBmadConfigPaths(configPath, projectName) {
|
|
372
|
+
try {
|
|
373
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
374
|
+
const config = yaml.parse(content);
|
|
375
|
+
// 프로젝트 이름 업데이트
|
|
376
|
+
config.project_name = projectName;
|
|
377
|
+
// 경로를 .aiag/_bmad-output 기준으로 업데이트
|
|
378
|
+
config.output_folder = '{project-root}/.aiag/_bmad-output';
|
|
379
|
+
config.planning_artifacts = '{project-root}/.aiag/_bmad-output/planning-artifacts';
|
|
380
|
+
config.implementation_artifacts = '{project-root}/.aiag/_bmad-output/implementation-artifacts';
|
|
381
|
+
// 저장
|
|
382
|
+
const updatedContent = yaml.stringify(config);
|
|
383
|
+
fs.writeFileSync(configPath, updatedContent, 'utf-8');
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
// config 업데이트 실패 시 무시 (기본값 사용)
|
|
387
|
+
}
|
|
388
|
+
}
|
|
280
389
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/prd.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* aiag prd 명령어
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* BMAD (BMad Method) workflow-init을 사용하여 PRD를 생성합니다.
|
|
5
|
+
* - aiag prd : workflow-init → PRD 생성 (Create 모드)
|
|
6
|
+
* - aiag prd --validate : PRD 검증 (Validate 모드)
|
|
7
|
+
* - aiag prd --edit : PRD 편집 (Edit 모드)
|
|
6
8
|
*/
|
|
7
|
-
import type {
|
|
9
|
+
import type { BmadPrdOptions } from '../types.js';
|
|
8
10
|
/**
|
|
9
|
-
* PRD
|
|
11
|
+
* PRD 명령어 메인 함수
|
|
10
12
|
*/
|
|
11
|
-
export declare function prd(options?:
|
|
13
|
+
export declare function prd(options?: BmadPrdOptions): Promise<void>;
|
|
12
14
|
//# sourceMappingURL=prd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAsHpE;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsJrE"}
|
package/dist/commands/prd.js
CHANGED
|
@@ -1,257 +1,225 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* aiag prd 명령어
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* BMAD (BMad Method) workflow-init을 사용하여 PRD를 생성합니다.
|
|
5
|
+
* - aiag prd : workflow-init → PRD 생성 (Create 모드)
|
|
6
|
+
* - aiag prd --validate : PRD 검증 (Validate 모드)
|
|
7
|
+
* - aiag prd --edit : PRD 편집 (Edit 모드)
|
|
6
8
|
*/
|
|
7
9
|
import { spawn } from 'child_process';
|
|
8
10
|
import fs from 'fs';
|
|
9
11
|
import path from 'path';
|
|
10
|
-
import os from 'os';
|
|
11
12
|
import chalk from 'chalk';
|
|
12
13
|
import ora from 'ora';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { runPrdSkill } from '../skills/runner.js';
|
|
16
|
-
import { printHeader, printSuccess, printError, printWarning, printInfo } from '../utils/output.js';
|
|
17
|
-
import { getPrdInfo } from '../utils/prd.js';
|
|
14
|
+
import { printHeader, printSuccess, printError, printWarning, printInfo, icons, colors, } from '../utils/output.js';
|
|
15
|
+
import { isBmadInstalled, loadBmadConfig, loadWorkflowStatus, scanProjectState, initBmadOutputDirs, loadWorkflowInitInstructions, loadPrdWorkflowInstructions, loadPmAgent, getPrdOutputPath, hasExistingPrd, loadExistingPrd, buildWorkflowPrompt, } from '../utils/bmadRunner.js';
|
|
18
16
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @param afterTimestamp 이 시간 이후에 생성된 파일만 검색
|
|
21
|
-
* @returns 파일 경로 또는 null
|
|
17
|
+
* BMAD 워크플로우 모드 결정
|
|
22
18
|
*/
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return null;
|
|
19
|
+
function determineWorkflowMode(options) {
|
|
20
|
+
if (options.mode) {
|
|
21
|
+
return options.mode;
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
.filter(f => f.endsWith('.md'))
|
|
30
|
-
.map(f => ({
|
|
31
|
-
name: f,
|
|
32
|
-
path: path.join(plansDir, f),
|
|
33
|
-
mtime: fs.statSync(path.join(plansDir, f)).mtimeMs,
|
|
34
|
-
}))
|
|
35
|
-
.filter(f => f.mtime >= afterTimestamp)
|
|
36
|
-
.sort((a, b) => b.mtime - a.mtime);
|
|
37
|
-
return files.length > 0 ? files[0].path : null;
|
|
23
|
+
return 'create';
|
|
38
24
|
}
|
|
39
25
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* @param targetDir 대상 디렉토리
|
|
43
|
-
* @returns 복사된 파일 경로
|
|
26
|
+
* Claude Code 대화형 세션 시작
|
|
27
|
+
* BMAD 워크플로우를 실행하기 위해 claude 명령어를 호출합니다.
|
|
44
28
|
*/
|
|
45
|
-
function
|
|
46
|
-
const targetPath = path.join(targetDir, 'PRD.md');
|
|
47
|
-
// 기존 파일이 있으면 백업
|
|
48
|
-
if (fs.existsSync(targetPath)) {
|
|
49
|
-
const backupPath = path.join(targetDir, `PRD.backup.${Date.now()}.md`);
|
|
50
|
-
fs.renameSync(targetPath, backupPath);
|
|
51
|
-
}
|
|
52
|
-
fs.copyFileSync(sourcePath, targetPath);
|
|
53
|
-
return targetPath;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* TaskMaster 확인 (npx 사용)
|
|
57
|
-
* npx는 패키지가 없으면 자동 설치하므로 PATH 문제 없이 동작
|
|
58
|
-
* E2B 같은 일회성 환경에서도 즉시 실행 가능
|
|
59
|
-
*
|
|
60
|
-
* 주의: task-master-ai 패키지는 MCP 서버와 CLI를 모두 포함
|
|
61
|
-
* - task-master-ai: MCP 서버 (대기 상태 유지)
|
|
62
|
-
* - task-master: CLI 도구 (실행 후 종료)
|
|
63
|
-
* 따라서 npx -p task-master-ai task-master 형식으로 호출해야 함
|
|
64
|
-
*/
|
|
65
|
-
async function checkTaskMasterWithNpx() {
|
|
29
|
+
async function runClaudeWithBmadWorkflow(workflowType, mode, baseDir) {
|
|
66
30
|
return new Promise((resolve) => {
|
|
67
|
-
//
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
31
|
+
// BMAD 설정 로드
|
|
32
|
+
const config = loadBmadConfig(baseDir);
|
|
33
|
+
if (!config) {
|
|
34
|
+
resolve({ success: false, error: 'BMAD config.yaml을 로드할 수 없습니다.' });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// 워크플로우 지시사항 로드
|
|
38
|
+
let instructions;
|
|
39
|
+
if (workflowType === 'init') {
|
|
40
|
+
instructions = loadWorkflowInitInstructions(baseDir);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
instructions = loadPrdWorkflowInstructions(mode, baseDir);
|
|
44
|
+
}
|
|
45
|
+
if (!instructions) {
|
|
46
|
+
resolve({ success: false, error: 'BMAD 워크플로우 지시사항을 로드할 수 없습니다.' });
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// PM 에이전트 정보 로드 (향후 사용)
|
|
50
|
+
loadPmAgent(baseDir);
|
|
51
|
+
// 기존 PRD 로드 (validate/edit 모드용)
|
|
52
|
+
let existingPrd;
|
|
53
|
+
if (mode !== 'create') {
|
|
54
|
+
existingPrd = loadExistingPrd(baseDir) ?? undefined;
|
|
55
|
+
if (!existingPrd) {
|
|
56
|
+
resolve({
|
|
57
|
+
success: false,
|
|
58
|
+
error: `기존 PRD를 찾을 수 없습니다: ${getPrdOutputPath(baseDir)}`,
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// 프롬프트 구성
|
|
64
|
+
const prompt = buildWorkflowPrompt(workflowType, mode, config, {
|
|
65
|
+
existingPrd,
|
|
66
|
+
projectName: path.basename(baseDir),
|
|
71
67
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
// Claude Code 실행 (대화형 모드)
|
|
69
|
+
// -p 옵션으로 초기 프롬프트 전달
|
|
70
|
+
const claudeArgs = ['-p', prompt, '--allowedTools', 'Read,Write,Edit,Bash,Glob,Grep'];
|
|
71
|
+
const claude = spawn('claude', claudeArgs, {
|
|
72
|
+
cwd: baseDir,
|
|
73
|
+
stdio: 'inherit', // 대화형 모드 - stdin/stdout/stderr 연결
|
|
74
|
+
shell: true,
|
|
75
75
|
});
|
|
76
|
-
|
|
76
|
+
claude.on('close', (code) => {
|
|
77
77
|
if (code === 0) {
|
|
78
|
-
resolve({
|
|
78
|
+
resolve({ success: true });
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
81
|
resolve({
|
|
82
|
-
|
|
83
|
-
error:
|
|
82
|
+
success: false,
|
|
83
|
+
error: `Claude 프로세스가 비정상 종료됨 (exit code: ${code})`,
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
|
-
|
|
87
|
+
claude.on('error', (err) => {
|
|
88
88
|
resolve({
|
|
89
|
-
|
|
90
|
-
error: `
|
|
89
|
+
success: false,
|
|
90
|
+
error: `Claude 실행 실패: ${err.message}`,
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
-
// 타임아웃 (5분 - npx가 패키지 다운로드할 시간 포함)
|
|
94
|
-
setTimeout(() => {
|
|
95
|
-
child.kill();
|
|
96
|
-
resolve({
|
|
97
|
-
available: false,
|
|
98
|
-
error: 'TaskMaster 확인 타임아웃 (5분 초과)',
|
|
99
|
-
});
|
|
100
|
-
}, 300000);
|
|
101
93
|
});
|
|
102
94
|
}
|
|
103
95
|
/**
|
|
104
|
-
* PRD
|
|
96
|
+
* PRD 명령어 메인 함수
|
|
105
97
|
*/
|
|
106
98
|
export async function prd(options = {}) {
|
|
107
99
|
const baseDir = process.cwd();
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
const mode = determineWorkflowMode(options);
|
|
101
|
+
// 헤더 출력
|
|
102
|
+
const headerText = mode === 'create'
|
|
103
|
+
? 'AIAG PRD Generator (BMAD Method)'
|
|
104
|
+
: mode === 'validate'
|
|
105
|
+
? 'AIAG PRD Validator (BMAD Method)'
|
|
106
|
+
: 'AIAG PRD Editor (BMAD Method)';
|
|
107
|
+
printHeader(headerText);
|
|
114
108
|
console.log();
|
|
115
|
-
// 1.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const fullFromPath = path.isAbsolute(fromPath) ? fromPath : path.join(baseDir, fromPath);
|
|
120
|
-
if (!fs.existsSync(fullFromPath)) {
|
|
121
|
-
printError(`파일을 찾을 수 없습니다: ${fromPath}`);
|
|
122
|
-
process.exit(1);
|
|
123
|
-
}
|
|
124
|
-
const docInfo = getPrdInfo(fullFromPath);
|
|
125
|
-
printInfo(`기존 문서 로드: ${docInfo.relativePath} (${docInfo.sizeKB} KB)`);
|
|
126
|
-
existingDocContent = fs.readFileSync(fullFromPath, 'utf-8');
|
|
127
|
-
existingDocPath = fromPath;
|
|
128
|
-
if (existingDocContent.length < 100) {
|
|
129
|
-
printWarning('문서 내용이 매우 짧습니다. 충분한 정보가 포함되어 있는지 확인하세요.');
|
|
130
|
-
}
|
|
109
|
+
// 1. BMAD 설치 확인
|
|
110
|
+
const spinner = ora('BMAD 프레임워크 확인 중...').start();
|
|
111
|
+
if (!isBmadInstalled(baseDir)) {
|
|
112
|
+
spinner.fail('BMAD가 설치되어 있지 않습니다');
|
|
131
113
|
console.log();
|
|
114
|
+
printError('먼저 aiag init을 실행하여 프로젝트를 초기화하세요.');
|
|
115
|
+
console.log(chalk.cyan(' aiag init'));
|
|
116
|
+
process.exit(1);
|
|
132
117
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
if (!
|
|
137
|
-
|
|
138
|
-
console.log();
|
|
139
|
-
printError(taskMasterResult.error || '알 수 없는 오류');
|
|
140
|
-
console.log();
|
|
141
|
-
printInfo('수동 설치 방법:');
|
|
142
|
-
console.log(chalk.gray(' npm install -g task-master-ai'));
|
|
143
|
-
console.log(chalk.gray(' 또는 npx task-master-ai --version 으로 직접 확인'));
|
|
144
|
-
console.log();
|
|
118
|
+
spinner.succeed('BMAD 프레임워크 확인됨');
|
|
119
|
+
// 2. BMAD config 로드
|
|
120
|
+
const config = loadBmadConfig(baseDir);
|
|
121
|
+
if (!config) {
|
|
122
|
+
printError('BMAD config.yaml을 로드할 수 없습니다.');
|
|
145
123
|
process.exit(1);
|
|
146
124
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
125
|
+
// 3. 프로젝트 상태 스캔
|
|
126
|
+
spinner.start('프로젝트 상태 스캔 중...');
|
|
127
|
+
const projectState = scanProjectState(baseDir);
|
|
128
|
+
spinner.succeed(`프로젝트 상태: ${projectState.state}`);
|
|
129
|
+
// 4. 출력 디렉토리 초기화
|
|
130
|
+
initBmadOutputDirs(baseDir);
|
|
131
|
+
// 5. 모드별 사전 검증
|
|
132
|
+
if (mode === 'validate' || mode === 'edit') {
|
|
133
|
+
if (!hasExistingPrd(baseDir)) {
|
|
134
|
+
console.log();
|
|
135
|
+
printError(`기존 PRD를 찾을 수 없습니다.`);
|
|
136
|
+
printInfo(`예상 경로: ${getPrdOutputPath(baseDir)}`);
|
|
137
|
+
console.log();
|
|
138
|
+
printInfo('먼저 PRD를 생성하세요:');
|
|
139
|
+
console.log(chalk.cyan(' aiag prd'));
|
|
156
140
|
process.exit(1);
|
|
157
141
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
142
|
+
const existingPrdPath = getPrdOutputPath(baseDir);
|
|
143
|
+
const stats = fs.statSync(existingPrdPath);
|
|
144
|
+
printInfo(`기존 PRD 로드됨: ${path.relative(baseDir, existingPrdPath)}`);
|
|
145
|
+
console.log(chalk.dim(` 크기: ${(stats.size / 1024).toFixed(1)} KB`));
|
|
146
|
+
console.log(chalk.dim(` 수정일: ${stats.mtime.toLocaleDateString()}`));
|
|
162
147
|
}
|
|
163
|
-
//
|
|
164
|
-
const
|
|
165
|
-
if (
|
|
166
|
-
console.log();
|
|
167
|
-
printWarning(`기존 PRD 발견: ${outputPath}`);
|
|
168
|
-
printInfo('새 PRD 생성 시 기존 파일이 백업됩니다.');
|
|
148
|
+
// 6. 워크플로우 상태 확인
|
|
149
|
+
const workflowStatus = loadWorkflowStatus(baseDir);
|
|
150
|
+
if (workflowStatus) {
|
|
169
151
|
console.log();
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
console.log(chalk.gray(` 모드: ${isConversionMode ? '변환 모드' : '대화형 모드'}`));
|
|
176
|
-
if (isConversionMode) {
|
|
177
|
-
console.log(chalk.gray(` 소스 문서: ${fromPath}`));
|
|
152
|
+
printInfo('기존 워크플로우 상태 발견:');
|
|
153
|
+
console.log(chalk.dim(` 트랙: ${workflowStatus.selected_track}`));
|
|
154
|
+
console.log(chalk.dim(` 유형: ${workflowStatus.field_type}`));
|
|
155
|
+
if (workflowStatus.current_workflow) {
|
|
156
|
+
console.log(chalk.dim(` 진행 중: ${workflowStatus.current_workflow}`));
|
|
178
157
|
}
|
|
179
|
-
console.log(chalk.gray(` 출력 경로: ${outputPath}`));
|
|
180
|
-
console.log(chalk.gray(` 템플릿: ${template}`));
|
|
181
|
-
console.log(chalk.gray(` 작업 디렉토리: ${baseDir}`));
|
|
182
|
-
return;
|
|
183
158
|
}
|
|
184
|
-
//
|
|
159
|
+
// 7. 워크플로우 실행 안내
|
|
185
160
|
console.log();
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
161
|
+
console.log(colors.bold('BMAD 워크플로우 시작'));
|
|
162
|
+
console.log(colors.dim('─'.repeat(40)));
|
|
163
|
+
switch (mode) {
|
|
164
|
+
case 'create':
|
|
165
|
+
console.log(`${icons.info} workflow-init을 실행하여 프로젝트를 설정합니다.`);
|
|
166
|
+
console.log(`${icons.info} PM 에이전트(John)가 PRD 생성을 안내합니다.`);
|
|
167
|
+
console.log(`${icons.info} 질문에 답변하여 PRD를 완성하세요.`);
|
|
168
|
+
break;
|
|
169
|
+
case 'validate':
|
|
170
|
+
console.log(`${icons.info} 기존 PRD를 검증합니다.`);
|
|
171
|
+
console.log(`${icons.info} 완전성과 일관성을 확인합니다.`);
|
|
172
|
+
break;
|
|
173
|
+
case 'edit':
|
|
174
|
+
console.log(`${icons.info} 기존 PRD를 편집합니다.`);
|
|
175
|
+
console.log(`${icons.info} 수정할 섹션을 지정하세요.`);
|
|
176
|
+
break;
|
|
193
177
|
}
|
|
194
178
|
console.log();
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
existingDocPath,
|
|
203
|
-
onProgress: (message) => {
|
|
204
|
-
if (options.verbose) {
|
|
205
|
-
console.log(chalk.gray(`[진행] ${message}`));
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
});
|
|
179
|
+
console.log(chalk.yellow('Claude Code 대화형 세션을 시작합니다...'));
|
|
180
|
+
console.log(chalk.dim('(Ctrl+C로 종료)'));
|
|
181
|
+
console.log();
|
|
182
|
+
// 8. Claude Code 실행
|
|
183
|
+
const workflowType = mode === 'create' ? 'init' : 'prd';
|
|
184
|
+
const result = await runClaudeWithBmadWorkflow(workflowType, mode, baseDir);
|
|
185
|
+
// 9. 결과 처리
|
|
209
186
|
console.log();
|
|
210
|
-
// 7. 결과 처리
|
|
211
187
|
if (result.success) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
catch (copyError) {
|
|
223
|
-
printWarning(`PRD 파일 복사 실패: ${copyError}`);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// 스킬이 직접 생성한 파일 표시
|
|
227
|
-
if (result.filesCreated && result.filesCreated.length > 0) {
|
|
228
|
-
printInfo('생성된 파일:');
|
|
229
|
-
for (const file of result.filesCreated) {
|
|
230
|
-
console.log(chalk.gray(` • ${file}`));
|
|
231
|
-
}
|
|
188
|
+
const prdPath = getPrdOutputPath(baseDir);
|
|
189
|
+
if (fs.existsSync(prdPath)) {
|
|
190
|
+
printSuccess(mode === 'create'
|
|
191
|
+
? 'PRD 생성 완료!'
|
|
192
|
+
: mode === 'validate'
|
|
193
|
+
? 'PRD 검증 완료!'
|
|
194
|
+
: 'PRD 편집 완료!');
|
|
195
|
+
console.log();
|
|
196
|
+
printInfo(`PRD 경로: ${path.relative(baseDir, prdPath)}`);
|
|
232
197
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
198
|
+
else {
|
|
199
|
+
printWarning('워크플로우가 완료되었지만 PRD 파일이 생성되지 않았습니다.');
|
|
200
|
+
printInfo('Claude Code 세션에서 PRD 생성을 완료했는지 확인하세요.');
|
|
236
201
|
}
|
|
237
|
-
|
|
238
|
-
|
|
202
|
+
console.log();
|
|
203
|
+
printInfo('다음 단계:');
|
|
204
|
+
if (mode === 'create') {
|
|
205
|
+
console.log(chalk.cyan(' aiag prd --validate ') + chalk.gray('# PRD 검증'));
|
|
206
|
+
console.log(chalk.cyan(' aiag feature ') + chalk.gray('# Feature 목록 생성'));
|
|
239
207
|
}
|
|
240
|
-
if (
|
|
241
|
-
console.log(chalk.
|
|
208
|
+
else if (mode === 'validate') {
|
|
209
|
+
console.log(chalk.cyan(' aiag prd --edit ') + chalk.gray('# PRD 수정'));
|
|
210
|
+
console.log(chalk.cyan(' aiag feature ') + chalk.gray('# Feature 목록 생성'));
|
|
242
211
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
console.log(chalk.gray(` 소요 시간: ${minutes}분 ${seconds}초`));
|
|
212
|
+
else {
|
|
213
|
+
console.log(chalk.cyan(' aiag prd --validate ') + chalk.gray('# 수정 사항 검증'));
|
|
214
|
+
console.log(chalk.cyan(' aiag feature ') + chalk.gray('# Feature 목록 재생성'));
|
|
247
215
|
}
|
|
248
|
-
console.log();
|
|
249
|
-
printInfo('다음 단계:');
|
|
250
|
-
console.log(chalk.cyan(' aiag feature ') + chalk.gray('# PRD에서 Feature 목록 생성'));
|
|
251
|
-
console.log(chalk.cyan(' aiag validate ') + chalk.gray('# Feature 목록 검증'));
|
|
252
216
|
}
|
|
253
217
|
else {
|
|
254
|
-
printError(
|
|
218
|
+
printError(mode === 'create'
|
|
219
|
+
? 'PRD 생성 실패'
|
|
220
|
+
: mode === 'validate'
|
|
221
|
+
? 'PRD 검증 실패'
|
|
222
|
+
: 'PRD 편집 실패');
|
|
255
223
|
if (result.error) {
|
|
256
224
|
console.log(chalk.red(` ${result.error}`));
|
|
257
225
|
}
|