bmad-method 4.28.0 → 4.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/bmad-core/agents/bmad-master.md +0 -2
- package/bmad-core/agents/bmad-orchestrator.md +0 -3
- package/bmad-core/core-config.yaml +1 -5
- package/bmad-core/data/bmad-kb.md +2 -2
- package/bmad-core/tasks/correct-course.md +9 -12
- package/bmad-core/tasks/create-brownfield-story.md +10 -61
- package/bmad-core/tasks/create-deep-research-prompt.md +5 -17
- package/bmad-core/tasks/create-next-story.md +3 -4
- package/bmad-core/tasks/document-project.md +37 -13
- package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +1 -1
- package/bmad-core/tasks/kb-mode-interaction.md +8 -3
- package/bmad-core/tasks/review-story.md +3 -3
- package/bmad-core/tasks/shard-doc.md +5 -9
- package/common/tasks/create-doc.md +4 -0
- package/dist/agents/analyst.txt +43 -31
- package/dist/agents/architect.txt +42 -30
- package/dist/agents/bmad-master.txt +61 -602
- package/dist/agents/bmad-orchestrator.txt +7 -548
- package/dist/agents/pm.txt +19 -38
- package/dist/agents/po.txt +14 -21
- package/dist/agents/qa.txt +3 -3
- package/dist/agents/sm.txt +11 -15
- package/dist/agents/ux-expert.txt +6 -18
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +5 -17
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +50 -579
- package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +5 -17
- package/dist/teams/team-all.txt +70 -607
- package/dist/teams/team-fullstack.txt +65 -601
- package/dist/teams/team-ide-minimal.txt +26 -575
- package/dist/teams/team-no-ui.txt +64 -600
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -0
- package/expansion-packs/bmad-creator-tools/config.yaml +1 -0
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -0
- package/package.json +1 -1
- package/tools/installer/lib/ide-setup.js +325 -12
- package/tools/installer/package.json +1 -1
- package/bmad-core/tasks/create-workflow-plan.md +0 -289
- package/bmad-core/tasks/doc-migration-task.md +0 -143
- package/bmad-core/tasks/update-workflow-plan.md +0 -248
- package/docs/template-markup-references.md +0 -86
|
@@ -200,7 +200,7 @@ Generate well-structured research prompts that:
|
|
|
200
200
|
|
|
201
201
|
## Research Type Selection
|
|
202
202
|
|
|
203
|
-
|
|
203
|
+
CRITICAL: First, help the user select the most appropriate research focus based on their needs and any input documents they've provided.
|
|
204
204
|
|
|
205
205
|
### 1. Research Focus Options
|
|
206
206
|
|
|
@@ -263,15 +263,13 @@ Present these numbered options to the user:
|
|
|
263
263
|
- Consider regulatory and legal implications
|
|
264
264
|
|
|
265
265
|
9. **Custom Research Focus**
|
|
266
|
-
|
|
266
|
+
|
|
267
267
|
- User-defined research objectives
|
|
268
268
|
- Specialized domain investigation
|
|
269
269
|
- Cross-functional research needs
|
|
270
270
|
|
|
271
271
|
### 2. Input Processing
|
|
272
272
|
|
|
273
|
-
[[LLM: Based on the selected research type and any provided inputs (project brief, brainstorming results, etc.), extract relevant context and constraints.]]
|
|
274
|
-
|
|
275
273
|
**If Project Brief provided:**
|
|
276
274
|
|
|
277
275
|
- Extract key product concepts and goals
|
|
@@ -304,11 +302,11 @@ Present these numbered options to the user:
|
|
|
304
302
|
|
|
305
303
|
### 3. Research Prompt Structure
|
|
306
304
|
|
|
307
|
-
|
|
305
|
+
CRITICAL: collaboratively develop a comprehensive research prompt with these components.
|
|
308
306
|
|
|
309
307
|
#### A. Research Objectives
|
|
310
308
|
|
|
311
|
-
|
|
309
|
+
CRITICAL: collaborate with the user to articulate clear, specific objectives for the research.
|
|
312
310
|
|
|
313
311
|
- Primary research goal and purpose
|
|
314
312
|
- Key decisions the research will inform
|
|
@@ -317,7 +315,7 @@ Present these numbered options to the user:
|
|
|
317
315
|
|
|
318
316
|
#### B. Research Questions
|
|
319
317
|
|
|
320
|
-
|
|
318
|
+
CRITICAL: collaborate with the user to develop specific, actionable research questions organized by theme.
|
|
321
319
|
|
|
322
320
|
**Core Questions:**
|
|
323
321
|
|
|
@@ -333,8 +331,6 @@ Present these numbered options to the user:
|
|
|
333
331
|
|
|
334
332
|
#### C. Research Methodology
|
|
335
333
|
|
|
336
|
-
[[LLM: Specify appropriate research methods based on the type and objectives.]]
|
|
337
|
-
|
|
338
334
|
**Data Collection Methods:**
|
|
339
335
|
|
|
340
336
|
- Secondary research sources
|
|
@@ -351,8 +347,6 @@ Present these numbered options to the user:
|
|
|
351
347
|
|
|
352
348
|
#### D. Output Requirements
|
|
353
349
|
|
|
354
|
-
[[LLM: Define how research findings should be structured and presented.]]
|
|
355
|
-
|
|
356
350
|
**Format Specifications:**
|
|
357
351
|
|
|
358
352
|
- Executive summary requirements
|
|
@@ -369,8 +363,6 @@ Present these numbered options to the user:
|
|
|
369
363
|
|
|
370
364
|
### 4. Prompt Generation
|
|
371
365
|
|
|
372
|
-
[[LLM: Synthesize all elements into a comprehensive, ready-to-use research prompt.]]
|
|
373
|
-
|
|
374
366
|
**Research Prompt Template:**
|
|
375
367
|
|
|
376
368
|
```markdown
|
|
@@ -439,8 +431,6 @@ Present these numbered options to the user:
|
|
|
439
431
|
|
|
440
432
|
### 5. Review and Refinement
|
|
441
433
|
|
|
442
|
-
[[LLM: Present the draft research prompt for user review and refinement.]]
|
|
443
|
-
|
|
444
434
|
1. **Present Complete Prompt**
|
|
445
435
|
|
|
446
436
|
- Show the full research prompt
|
|
@@ -462,8 +452,6 @@ Present these numbered options to the user:
|
|
|
462
452
|
|
|
463
453
|
### 6. Next Steps Guidance
|
|
464
454
|
|
|
465
|
-
[[LLM: Provide clear guidance on how to use the research prompt.]]
|
|
466
|
-
|
|
467
455
|
**Execution Options:**
|
|
468
456
|
|
|
469
457
|
1. **Use with AI Research Assistant**: Provide this prompt to an AI model with research capabilities
|
|
@@ -498,9 +486,9 @@ Generate comprehensive documentation for existing projects optimized for AI deve
|
|
|
498
486
|
|
|
499
487
|
### 1. Initial Project Analysis
|
|
500
488
|
|
|
501
|
-
|
|
489
|
+
**CRITICAL:** First, check if a PRD or requirements document exists in context. If yes, use it to focus your documentation efforts on relevant areas only.
|
|
502
490
|
|
|
503
|
-
**IF PRD EXISTS**:
|
|
491
|
+
**IF PRD EXISTS**:
|
|
504
492
|
|
|
505
493
|
- Review the PRD to understand what enhancement/feature is planned
|
|
506
494
|
- Identify which modules, services, or areas will be affected
|
|
@@ -546,11 +534,10 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
546
534
|
- Are there any existing documentation standards or formats you prefer?
|
|
547
535
|
- What level of technical detail should the documentation target? (junior developers, senior developers, mixed team)
|
|
548
536
|
- Is there a specific feature or enhancement you're planning? (This helps focus documentation)
|
|
549
|
-
]]
|
|
550
537
|
|
|
551
538
|
### 2. Deep Codebase Analysis
|
|
552
539
|
|
|
553
|
-
|
|
540
|
+
CRITICAL: Before generating documentation, conduct extensive analysis of the existing codebase:
|
|
554
541
|
|
|
555
542
|
1. **Explore Key Areas**:
|
|
556
543
|
- Entry points (main files, index files, app initializers)
|
|
@@ -573,13 +560,14 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
573
560
|
- Document workarounds and technical debt
|
|
574
561
|
- Note areas that differ from standard patterns
|
|
575
562
|
|
|
576
|
-
**IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
|
|
563
|
+
**IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
|
|
577
564
|
|
|
578
565
|
### 3. Core Documentation Generation
|
|
579
566
|
|
|
580
567
|
[[LLM: Generate a comprehensive BROWNFIELD architecture document that reflects the ACTUAL state of the codebase.
|
|
581
568
|
|
|
582
569
|
**CRITICAL**: This is NOT an aspirational architecture document. Document what EXISTS, including:
|
|
570
|
+
|
|
583
571
|
- Technical debt and workarounds
|
|
584
572
|
- Inconsistent patterns between different parts
|
|
585
573
|
- Legacy code that can't be changed
|
|
@@ -591,13 +579,16 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
591
579
|
# [Project Name] Brownfield Architecture Document
|
|
592
580
|
|
|
593
581
|
## Introduction
|
|
582
|
+
|
|
594
583
|
This document captures the CURRENT STATE of the [Project Name] codebase, including technical debt, workarounds, and real-world patterns. It serves as a reference for AI agents working on enhancements.
|
|
595
584
|
|
|
596
585
|
### Document Scope
|
|
586
|
+
|
|
597
587
|
[If PRD provided: "Focused on areas relevant to: {enhancement description}"]
|
|
598
588
|
[If no PRD: "Comprehensive documentation of entire system"]
|
|
599
589
|
|
|
600
590
|
### Change Log
|
|
591
|
+
|
|
601
592
|
| Date | Version | Description | Author |
|
|
602
593
|
|------|---------|-------------|--------|
|
|
603
594
|
| [Date] | 1.0 | Initial brownfield analysis | [Analyst] |
|
|
@@ -605,6 +596,7 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
605
596
|
## Quick Reference - Key Files and Entry Points
|
|
606
597
|
|
|
607
598
|
### Critical Files for Understanding the System
|
|
599
|
+
|
|
608
600
|
- **Main Entry**: `src/index.js` (or actual entry point)
|
|
609
601
|
- **Configuration**: `config/app.config.js`, `.env.example`
|
|
610
602
|
- **Core Business Logic**: `src/services/`, `src/domain/`
|
|
@@ -613,22 +605,25 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
613
605
|
- **Key Algorithms**: [List specific files with complex logic]
|
|
614
606
|
|
|
615
607
|
### If PRD Provided - Enhancement Impact Areas
|
|
608
|
+
|
|
616
609
|
[Highlight which files/modules will be affected by the planned enhancement]
|
|
617
610
|
|
|
618
611
|
## High Level Architecture
|
|
619
612
|
|
|
620
613
|
### Technical Summary
|
|
621
|
-
[Real assessment of architecture - mention if it's well-structured or has issues]
|
|
622
614
|
|
|
623
615
|
### Actual Tech Stack (from package.json/requirements.txt)
|
|
616
|
+
|
|
624
617
|
| Category | Technology | Version | Notes |
|
|
625
618
|
|----------|------------|---------|--------|
|
|
626
619
|
| Runtime | Node.js | 16.x | [Any constraints] |
|
|
627
620
|
| Framework | Express | 4.18.2 | [Custom middleware?] |
|
|
628
621
|
| Database | PostgreSQL | 13 | [Connection pooling setup] |
|
|
629
|
-
|
|
622
|
+
|
|
623
|
+
etc...
|
|
630
624
|
|
|
631
625
|
### Repository Structure Reality Check
|
|
626
|
+
|
|
632
627
|
- Type: [Monorepo/Polyrepo/Hybrid]
|
|
633
628
|
- Package Manager: [npm/yarn/pnpm]
|
|
634
629
|
- Notable: [Any unusual structure decisions]
|
|
@@ -636,7 +631,8 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
636
631
|
## Source Tree and Module Organization
|
|
637
632
|
|
|
638
633
|
### Project Structure (Actual)
|
|
639
|
-
|
|
634
|
+
|
|
635
|
+
```text
|
|
640
636
|
project-root/
|
|
641
637
|
├── src/
|
|
642
638
|
│ ├── controllers/ # HTTP request handlers
|
|
@@ -650,6 +646,7 @@ project-root/
|
|
|
650
646
|
```
|
|
651
647
|
|
|
652
648
|
### Key Modules and Their Purpose
|
|
649
|
+
|
|
653
650
|
- **User Management**: `src/services/userService.js` - Handles all user operations
|
|
654
651
|
- **Authentication**: `src/middleware/auth.js` - JWT-based, custom implementation
|
|
655
652
|
- **Payment Processing**: `src/legacy/payment.js` - CRITICAL: Do not refactor, tightly coupled
|
|
@@ -658,12 +655,14 @@ project-root/
|
|
|
658
655
|
## Data Models and APIs
|
|
659
656
|
|
|
660
657
|
### Data Models
|
|
658
|
+
|
|
661
659
|
Instead of duplicating, reference actual model files:
|
|
662
660
|
- **User Model**: See `src/models/User.js`
|
|
663
661
|
- **Order Model**: See `src/models/Order.js`
|
|
664
662
|
- **Related Types**: TypeScript definitions in `src/types/`
|
|
665
663
|
|
|
666
664
|
### API Specifications
|
|
665
|
+
|
|
667
666
|
- **OpenAPI Spec**: `docs/api/openapi.yaml` (if exists)
|
|
668
667
|
- **Postman Collection**: `docs/api/postman-collection.json`
|
|
669
668
|
- **Manual Endpoints**: [List any undocumented endpoints discovered]
|
|
@@ -671,12 +670,14 @@ Instead of duplicating, reference actual model files:
|
|
|
671
670
|
## Technical Debt and Known Issues
|
|
672
671
|
|
|
673
672
|
### Critical Technical Debt
|
|
673
|
+
|
|
674
674
|
1. **Payment Service**: Legacy code in `src/legacy/payment.js` - tightly coupled, no tests
|
|
675
675
|
2. **User Service**: Different pattern than other services, uses callbacks instead of promises
|
|
676
676
|
3. **Database Migrations**: Manually tracked, no proper migration tool
|
|
677
677
|
4. **[Other significant debt]**
|
|
678
678
|
|
|
679
679
|
### Workarounds and Gotchas
|
|
680
|
+
|
|
680
681
|
- **Environment Variables**: Must set `NODE_ENV=production` even for staging (historical reason)
|
|
681
682
|
- **Database Connections**: Connection pool hardcoded to 10, changing breaks payment service
|
|
682
683
|
- **[Other workarounds developers need to know]**
|
|
@@ -684,13 +685,16 @@ Instead of duplicating, reference actual model files:
|
|
|
684
685
|
## Integration Points and External Dependencies
|
|
685
686
|
|
|
686
687
|
### External Services
|
|
688
|
+
|
|
687
689
|
| Service | Purpose | Integration Type | Key Files |
|
|
688
690
|
|---------|---------|------------------|-----------|
|
|
689
691
|
| Stripe | Payments | REST API | `src/integrations/stripe/` |
|
|
690
692
|
| SendGrid | Emails | SDK | `src/services/emailService.js` |
|
|
691
|
-
|
|
693
|
+
|
|
694
|
+
etc...
|
|
692
695
|
|
|
693
696
|
### Internal Integration Points
|
|
697
|
+
|
|
694
698
|
- **Frontend Communication**: REST API on port 3000, expects specific headers
|
|
695
699
|
- **Background Jobs**: Redis queue, see `src/workers/`
|
|
696
700
|
- **[Other integrations]**
|
|
@@ -698,11 +702,13 @@ Instead of duplicating, reference actual model files:
|
|
|
698
702
|
## Development and Deployment
|
|
699
703
|
|
|
700
704
|
### Local Development Setup
|
|
705
|
+
|
|
701
706
|
1. Actual steps that work (not ideal steps)
|
|
702
707
|
2. Known issues with setup
|
|
703
708
|
3. Required environment variables (see `.env.example`)
|
|
704
709
|
|
|
705
710
|
### Build and Deployment Process
|
|
711
|
+
|
|
706
712
|
- **Build Command**: `npm run build` (webpack config in `webpack.config.js`)
|
|
707
713
|
- **Deployment**: Manual deployment via `scripts/deploy.sh`
|
|
708
714
|
- **Environments**: Dev, Staging, Prod (see `config/environments/`)
|
|
@@ -710,12 +716,14 @@ Instead of duplicating, reference actual model files:
|
|
|
710
716
|
## Testing Reality
|
|
711
717
|
|
|
712
718
|
### Current Test Coverage
|
|
719
|
+
|
|
713
720
|
- Unit Tests: 60% coverage (Jest)
|
|
714
721
|
- Integration Tests: Minimal, in `tests/integration/`
|
|
715
722
|
- E2E Tests: None
|
|
716
723
|
- Manual Testing: Primary QA method
|
|
717
724
|
|
|
718
725
|
### Running Tests
|
|
726
|
+
|
|
719
727
|
```bash
|
|
720
728
|
npm test # Runs unit tests
|
|
721
729
|
npm run test:integration # Runs integration tests (requires local DB)
|
|
@@ -724,6 +732,7 @@ npm run test:integration # Runs integration tests (requires local DB)
|
|
|
724
732
|
## If Enhancement PRD Provided - Impact Analysis
|
|
725
733
|
|
|
726
734
|
### Files That Will Need Modification
|
|
735
|
+
|
|
727
736
|
Based on the enhancement requirements, these files will be affected:
|
|
728
737
|
- `src/services/userService.js` - Add new user fields
|
|
729
738
|
- `src/models/User.js` - Update schema
|
|
@@ -731,11 +740,13 @@ Based on the enhancement requirements, these files will be affected:
|
|
|
731
740
|
- [etc...]
|
|
732
741
|
|
|
733
742
|
### New Files/Modules Needed
|
|
743
|
+
|
|
734
744
|
- `src/services/newFeatureService.js` - New business logic
|
|
735
745
|
- `src/models/NewFeature.js` - New data model
|
|
736
746
|
- [etc...]
|
|
737
747
|
|
|
738
748
|
### Integration Considerations
|
|
749
|
+
|
|
739
750
|
- Will need to integrate with existing auth middleware
|
|
740
751
|
- Must follow existing response format in `src/utils/responseFormatter.js`
|
|
741
752
|
- [Other integration points]
|
|
@@ -743,6 +754,7 @@ Based on the enhancement requirements, these files will be affected:
|
|
|
743
754
|
## Appendix - Useful Commands and Scripts
|
|
744
755
|
|
|
745
756
|
### Frequently Used Commands
|
|
757
|
+
|
|
746
758
|
```bash
|
|
747
759
|
npm run dev # Start development server
|
|
748
760
|
npm run build # Production build
|
|
@@ -751,14 +763,13 @@ npm run seed # Seed test data
|
|
|
751
763
|
```
|
|
752
764
|
|
|
753
765
|
### Debugging and Troubleshooting
|
|
766
|
+
|
|
754
767
|
- **Logs**: Check `logs/app.log` for application logs
|
|
755
768
|
- **Debug Mode**: Set `DEBUG=app:*` for verbose logging
|
|
756
769
|
- **Common Issues**: See `docs/troubleshooting.md`]]
|
|
757
770
|
|
|
758
771
|
### 4. Document Delivery
|
|
759
772
|
|
|
760
|
-
[[LLM: After generating the complete architecture document:
|
|
761
|
-
|
|
762
773
|
1. **In Web UI (Gemini, ChatGPT, Claude)**:
|
|
763
774
|
- Present the entire document in one response (or multiple if too long)
|
|
764
775
|
- Tell user to copy and save as `docs/brownfield-architecture.md` or `docs/project-architecture.md`
|
|
@@ -770,6 +781,7 @@ npm run seed # Seed test data
|
|
|
770
781
|
- Can be sharded later using PO agent if desired
|
|
771
782
|
|
|
772
783
|
The document should be comprehensive enough that future agents can understand:
|
|
784
|
+
|
|
773
785
|
- The actual state of the system (not idealized)
|
|
774
786
|
- Where to find key files and logic
|
|
775
787
|
- What technical debt exists
|
|
@@ -778,7 +790,7 @@ The document should be comprehensive enough that future agents can understand:
|
|
|
778
790
|
|
|
779
791
|
### 5. Quality Assurance
|
|
780
792
|
|
|
781
|
-
|
|
793
|
+
CRITICAL: Before finalizing the document:
|
|
782
794
|
|
|
783
795
|
1. **Accuracy Check**: Verify all technical details match the actual codebase
|
|
784
796
|
2. **Completeness Review**: Ensure all major system components are documented
|
|
@@ -786,7 +798,7 @@ The document should be comprehensive enough that future agents can understand:
|
|
|
786
798
|
4. **Clarity Assessment**: Check that explanations are clear for AI agents
|
|
787
799
|
5. **Navigation**: Ensure document has clear section structure for easy reference
|
|
788
800
|
|
|
789
|
-
Apply the advanced elicitation task after major sections to refine based on user feedback.
|
|
801
|
+
Apply the advanced elicitation task after major sections to refine based on user feedback.
|
|
790
802
|
|
|
791
803
|
## Success Criteria
|
|
792
804
|
|