bmad-method 4.10.2 → 4.11.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/.vscode/settings.json +1 -0
- package/CHANGELOG.md +19 -0
- package/bmad-core/core-config.yml +20 -26
- package/bmad-core/tasks/create-next-story.md +9 -9
- package/bmad-core/tasks/shard-doc.md +25 -7
- package/dist/agents/analyst.txt +58 -0
- package/dist/agents/bmad-master.txt +99 -13
- package/dist/agents/bmad-orchestrator.txt +137 -0
- package/dist/agents/sm.txt +41 -13
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +79 -0
- package/dist/teams/team-all.txt +179 -14
- package/dist/teams/team-fullstack.txt +138 -1
- package/dist/teams/team-ide-minimal.txt +178 -13
- package/dist/teams/team-no-ui.txt +138 -1
- package/docs/user-guide.md +22 -22
- package/package.json +1 -1
- package/tools/installer/lib/installer.js +12 -2
- package/tools/installer/package.json +1 -1
|
@@ -149,6 +149,11 @@ loading:
|
|
|
149
149
|
- Agents: Only when transforming
|
|
150
150
|
- Templates/Tasks: Only when executing
|
|
151
151
|
- Always indicate loading
|
|
152
|
+
kb-mode-behavior:
|
|
153
|
+
- When *kb-mode is invoked, use kb-mode-interaction task
|
|
154
|
+
- Don't dump all KB content immediately
|
|
155
|
+
- Present topic areas and wait for user selection
|
|
156
|
+
- Provide focused, contextual responses
|
|
152
157
|
workflow-guidance:
|
|
153
158
|
- Discover available workflows in the bundle at runtime
|
|
154
159
|
- Understand each workflow's purpose, options, and decision points
|
|
@@ -162,6 +167,7 @@ dependencies:
|
|
|
162
167
|
tasks:
|
|
163
168
|
- advanced-elicitation
|
|
164
169
|
- create-doc
|
|
170
|
+
- kb-mode-interaction
|
|
165
171
|
data:
|
|
166
172
|
- bmad-kb
|
|
167
173
|
utils:
|
|
@@ -562,6 +568,79 @@ If template specifies a checklist:
|
|
|
562
568
|
- Template markup is for AI processing only - never expose to users
|
|
563
569
|
==================== END: tasks#create-doc ====================
|
|
564
570
|
|
|
571
|
+
==================== START: tasks#kb-mode-interaction ====================
|
|
572
|
+
# KB Mode Interaction Task
|
|
573
|
+
|
|
574
|
+
## Purpose
|
|
575
|
+
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
|
|
576
|
+
|
|
577
|
+
## Instructions
|
|
578
|
+
|
|
579
|
+
When entering KB mode (*kb-mode), follow these steps:
|
|
580
|
+
|
|
581
|
+
### 1. Welcome and Guide
|
|
582
|
+
Announce entering KB mode with a brief, friendly introduction:
|
|
583
|
+
|
|
584
|
+
"I've entered KB mode and have access to the full BMAD knowledge base. I can help you with detailed information about any aspect of BMAD-METHOD."
|
|
585
|
+
|
|
586
|
+
### 2. Present Topic Areas
|
|
587
|
+
Offer a concise list of main topic areas the user might want to explore:
|
|
588
|
+
|
|
589
|
+
**What would you like to know more about?**
|
|
590
|
+
|
|
591
|
+
1. **Setup & Installation** - Getting started with BMAD
|
|
592
|
+
2. **Workflows** - Choosing the right workflow for your project
|
|
593
|
+
3. **Web vs IDE** - When to use each environment
|
|
594
|
+
4. **Agents** - Understanding specialized agents and their roles
|
|
595
|
+
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
596
|
+
6. **Agile Process** - How BMAD implements Agile methodologies
|
|
597
|
+
7. **Configuration** - Customizing BMAD for your needs
|
|
598
|
+
8. **Best Practices** - Tips for effective BMAD usage
|
|
599
|
+
|
|
600
|
+
Or ask me about anything else related to BMAD-METHOD!
|
|
601
|
+
|
|
602
|
+
### 3. Respond Contextually
|
|
603
|
+
- Wait for user's specific question or topic selection
|
|
604
|
+
- Provide focused, relevant information from the knowledge base
|
|
605
|
+
- Offer to dive deeper or explore related topics
|
|
606
|
+
- Keep responses concise unless user asks for detailed explanations
|
|
607
|
+
|
|
608
|
+
### 4. Interactive Exploration
|
|
609
|
+
- After answering, suggest related topics they might find helpful
|
|
610
|
+
- Maintain conversational flow rather than data dumping
|
|
611
|
+
- Use examples when appropriate
|
|
612
|
+
- Reference specific documentation sections when relevant
|
|
613
|
+
|
|
614
|
+
### 5. Exit Gracefully
|
|
615
|
+
When user is done or wants to exit KB mode:
|
|
616
|
+
- Summarize key points discussed if helpful
|
|
617
|
+
- Remind them they can return to KB mode anytime with *kb-mode
|
|
618
|
+
- Suggest next steps based on what was discussed
|
|
619
|
+
|
|
620
|
+
## Example Interaction
|
|
621
|
+
|
|
622
|
+
**User**: *kb-mode
|
|
623
|
+
|
|
624
|
+
**Assistant**: I've entered KB mode and have access to the full BMAD knowledge base. I can help you with detailed information about any aspect of BMAD-METHOD.
|
|
625
|
+
|
|
626
|
+
**What would you like to know more about?**
|
|
627
|
+
|
|
628
|
+
1. **Setup & Installation** - Getting started with BMAD
|
|
629
|
+
2. **Workflows** - Choosing the right workflow for your project
|
|
630
|
+
3. **Web vs IDE** - When to use each environment
|
|
631
|
+
4. **Agents** - Understanding specialized agents and their roles
|
|
632
|
+
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
633
|
+
6. **Agile Process** - How BMAD implements Agile methodologies
|
|
634
|
+
7. **Configuration** - Customizing BMAD for your needs
|
|
635
|
+
8. **Best Practices** - Tips for effective BMAD usage
|
|
636
|
+
|
|
637
|
+
Or ask me about anything else related to BMAD-METHOD!
|
|
638
|
+
|
|
639
|
+
**User**: Tell me about workflows
|
|
640
|
+
|
|
641
|
+
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
|
|
642
|
+
==================== END: tasks#kb-mode-interaction ====================
|
|
643
|
+
|
|
565
644
|
==================== START: data#bmad-kb ====================
|
|
566
645
|
# BMAD Knowledge Base
|
|
567
646
|
|
|
@@ -631,6 +710,64 @@ npx bmad-method install
|
|
|
631
710
|
|
|
632
711
|
**Cost-Saving Tip**: Create large documents (PRDs, architecture) in web UI, then copy to `docs/prd.md` and `docs/architecture.md` in your project before switching to IDE for development.
|
|
633
712
|
|
|
713
|
+
## Core Configuration (core-config.yml)
|
|
714
|
+
|
|
715
|
+
**New in V4**: The `bmad-core/core-config.yml` file is a critical innovation that enables BMAD to work seamlessly with any project structure, providing maximum flexibility and backwards compatibility.
|
|
716
|
+
|
|
717
|
+
### What is core-config.yml?
|
|
718
|
+
|
|
719
|
+
This configuration file acts as a map for BMAD agents, telling them exactly where to find your project documents and how they're structured. It enables:
|
|
720
|
+
|
|
721
|
+
- **Version Flexibility**: Work with V3, V4, or custom document structures
|
|
722
|
+
- **Custom Locations**: Define where your documents and shards live
|
|
723
|
+
- **Developer Context**: Specify which files the dev agent should always load
|
|
724
|
+
- **Debug Support**: Built-in logging for troubleshooting
|
|
725
|
+
|
|
726
|
+
### Key Configuration Areas
|
|
727
|
+
|
|
728
|
+
#### PRD Configuration
|
|
729
|
+
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
|
|
730
|
+
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
|
|
731
|
+
- **prdShardedLocation**: Where to find sharded epic files
|
|
732
|
+
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
|
|
733
|
+
|
|
734
|
+
#### Architecture Configuration
|
|
735
|
+
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
|
|
736
|
+
- **architectureSharded**: Whether architecture is split into components
|
|
737
|
+
- **architectureShardedLocation**: Where sharded architecture files live
|
|
738
|
+
|
|
739
|
+
#### Developer Files
|
|
740
|
+
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
|
|
741
|
+
- **devDebugLog**: Where dev agent logs repeated failures
|
|
742
|
+
- **agentCoreDump**: Export location for chat conversations
|
|
743
|
+
|
|
744
|
+
### Why It Matters
|
|
745
|
+
|
|
746
|
+
1. **No Forced Migrations**: Keep your existing document structure
|
|
747
|
+
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
|
|
748
|
+
3. **Custom Workflows**: Configure BMAD to match your team's process
|
|
749
|
+
4. **Intelligent Agents**: Agents automatically adapt to your configuration
|
|
750
|
+
|
|
751
|
+
### Common Configurations
|
|
752
|
+
|
|
753
|
+
**Legacy V3 Project**:
|
|
754
|
+
```yaml
|
|
755
|
+
prdVersion: v3
|
|
756
|
+
prdSharded: false
|
|
757
|
+
architectureVersion: v3
|
|
758
|
+
architectureSharded: false
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
**V4 Optimized Project**:
|
|
762
|
+
```yaml
|
|
763
|
+
prdVersion: v4
|
|
764
|
+
prdSharded: true
|
|
765
|
+
prdShardedLocation: docs/prd
|
|
766
|
+
architectureVersion: v4
|
|
767
|
+
architectureSharded: true
|
|
768
|
+
architectureShardedLocation: docs/architecture
|
|
769
|
+
```
|
|
770
|
+
|
|
634
771
|
## Core Philosophy
|
|
635
772
|
|
|
636
773
|
### Vibe CEO'ing
|
|
@@ -2626,14 +2763,14 @@ To identify the next logical story based on project progress and epic definition
|
|
|
2626
2763
|
2. Run the BMAD installer against your project to upgrade and add the file automatically
|
|
2627
2764
|
Please add and configure core-config.yml before proceeding."
|
|
2628
2765
|
- Extract the following key configurations:
|
|
2629
|
-
- `
|
|
2766
|
+
- `devStoryLocation`: Where to save story files
|
|
2630
2767
|
- `prd.prdSharded`: Whether PRD is sharded or monolithic
|
|
2631
|
-
- `prd.
|
|
2768
|
+
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
|
|
2632
2769
|
- `prd.prdShardedLocation`: Location of sharded epic files
|
|
2633
2770
|
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
|
|
2634
2771
|
- `architecture.architectureVersion`: Architecture document version
|
|
2635
2772
|
- `architecture.architectureSharded`: Whether architecture is sharded
|
|
2636
|
-
- `architecture.
|
|
2773
|
+
- `architecture.architectureFile`: Location of monolithic architecture
|
|
2637
2774
|
- `architecture.architectureShardedLocation`: Location of sharded architecture files
|
|
2638
2775
|
|
|
2639
2776
|
### 1. Identify Next Story for Preparation
|
|
@@ -2642,11 +2779,11 @@ To identify the next logical story based on project progress and epic definition
|
|
|
2642
2779
|
|
|
2643
2780
|
- Based on `prdSharded` from config:
|
|
2644
2781
|
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
|
|
2645
|
-
- **If `prdSharded: false`**: Load the full PRD from `
|
|
2782
|
+
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
|
|
2646
2783
|
|
|
2647
2784
|
#### 1.2 Review Existing Stories
|
|
2648
2785
|
|
|
2649
|
-
- Check `
|
|
2786
|
+
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
|
|
2650
2787
|
- If the directory exists and has at least 1 file, find the highest-numbered story file.
|
|
2651
2788
|
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
|
|
2652
2789
|
- Verify its `Status` is 'Done' (or equivalent).
|
|
@@ -2666,12 +2803,40 @@ To identify the next logical story based on project progress and epic definition
|
|
|
2666
2803
|
```
|
|
2667
2804
|
|
|
2668
2805
|
- Proceed only if user selects option 3 (Override) or if the last story was 'Done'.
|
|
2669
|
-
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and
|
|
2670
|
-
-
|
|
2806
|
+
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and parse it to find ALL stories in that epic. **ALWAYS select the next sequential story** (e.g., if last was 2.2, next MUST be 2.3).
|
|
2807
|
+
- If the next sequential story has unmet prerequisites, present this to the user:
|
|
2808
|
+
|
|
2809
|
+
```plaintext
|
|
2810
|
+
ALERT: Next story has unmet prerequisites:
|
|
2811
|
+
Story: {epicNum}.{storyNum} - {Story Title}
|
|
2812
|
+
Prerequisites not met: [list specific prerequisites]
|
|
2813
|
+
|
|
2814
|
+
Would you like to:
|
|
2815
|
+
1. Create the story anyway (mark prerequisites as pending)
|
|
2816
|
+
2. Skip to a different story (requires your specific instruction)
|
|
2817
|
+
3. Cancel story creation
|
|
2818
|
+
|
|
2819
|
+
Please choose an option (1/2/3):
|
|
2820
|
+
```
|
|
2821
|
+
|
|
2822
|
+
- If there are no more stories in the current epic (e.g., 2.9 was done and there is no 2.10):
|
|
2823
|
+
|
|
2824
|
+
```plaintext
|
|
2825
|
+
Epic {epicNum} Complete: All stories in Epic {epicNum} have been completed.
|
|
2826
|
+
|
|
2827
|
+
Would you like to:
|
|
2828
|
+
1. Begin Epic {epicNum + 1} with story {epicNum + 1}.1
|
|
2829
|
+
2. Select a specific story to work on
|
|
2830
|
+
3. Cancel story creation
|
|
2831
|
+
|
|
2832
|
+
Please choose an option (1/2/3):
|
|
2833
|
+
```
|
|
2834
|
+
|
|
2835
|
+
- **CRITICAL**: NEVER automatically skip to another epic or non-sequential story. The user MUST explicitly instruct which story to create if skipping the sequential order.
|
|
2671
2836
|
|
|
2672
2837
|
- **If no story files exist in `docs/stories/`:**
|
|
2673
|
-
- The next story is the first story
|
|
2674
|
-
- If
|
|
2838
|
+
- The next story is ALWAYS 1.1 (the first story of the first epic).
|
|
2839
|
+
- If story 1.1 has unmet prerequisites, follow the same alert process as above.
|
|
2675
2840
|
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
|
|
2676
2841
|
|
|
2677
2842
|
### 2. Gather Core Story Requirements (from Epic)
|
|
@@ -2707,13 +2872,13 @@ Based on configuration loaded in Step 0:
|
|
|
2707
2872
|
- Follow the structured reading order in section 4.2 below
|
|
2708
2873
|
|
|
2709
2874
|
- **If `architectureVersion: v4` and `architectureSharded: false`**:
|
|
2710
|
-
- Load the monolithic architecture from `
|
|
2875
|
+
- Load the monolithic architecture from `architectureFile`
|
|
2711
2876
|
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
|
|
2712
2877
|
|
|
2713
2878
|
- **If `architectureVersion` is NOT v4**:
|
|
2714
2879
|
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
|
|
2715
2880
|
- If `architectureSharded: true`: Search sharded files by filename relevance
|
|
2716
|
-
- If `architectureSharded: false`: Search within monolithic `
|
|
2881
|
+
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
|
|
2717
2882
|
|
|
2718
2883
|
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
|
|
2719
2884
|
|
|
@@ -2770,7 +2935,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
|
|
|
2770
2935
|
|
|
2771
2936
|
### 6. Populate Story Template with Full Context
|
|
2772
2937
|
|
|
2773
|
-
- Create a new story file: `{
|
|
2938
|
+
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
|
|
2774
2939
|
- Use the Story Template to structure the file.
|
|
2775
2940
|
- Fill in:
|
|
2776
2941
|
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
|
|
@@ -2817,7 +2982,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
|
|
|
2817
2982
|
- Verify all source references are included for technical details
|
|
2818
2983
|
- Ensure tasks align with both epic requirements and architecture constraints
|
|
2819
2984
|
- Update status to "Draft"
|
|
2820
|
-
- Save the story file to `{
|
|
2985
|
+
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
|
|
2821
2986
|
|
|
2822
2987
|
### 9. Report Completion
|
|
2823
2988
|
|
|
@@ -152,6 +152,11 @@ loading:
|
|
|
152
152
|
- Agents: Only when transforming
|
|
153
153
|
- Templates/Tasks: Only when executing
|
|
154
154
|
- Always indicate loading
|
|
155
|
+
kb-mode-behavior:
|
|
156
|
+
- When *kb-mode is invoked, use kb-mode-interaction task
|
|
157
|
+
- Don't dump all KB content immediately
|
|
158
|
+
- Present topic areas and wait for user selection
|
|
159
|
+
- Provide focused, contextual responses
|
|
155
160
|
workflow-guidance:
|
|
156
161
|
- Discover available workflows in the bundle at runtime
|
|
157
162
|
- Understand each workflow's purpose, options, and decision points
|
|
@@ -165,6 +170,7 @@ dependencies:
|
|
|
165
170
|
tasks:
|
|
166
171
|
- advanced-elicitation
|
|
167
172
|
- create-doc
|
|
173
|
+
- kb-mode-interaction
|
|
168
174
|
data:
|
|
169
175
|
- bmad-kb
|
|
170
176
|
utils:
|
|
@@ -595,6 +601,79 @@ If template specifies a checklist:
|
|
|
595
601
|
- Template markup is for AI processing only - never expose to users
|
|
596
602
|
==================== END: tasks#create-doc ====================
|
|
597
603
|
|
|
604
|
+
==================== START: tasks#kb-mode-interaction ====================
|
|
605
|
+
# KB Mode Interaction Task
|
|
606
|
+
|
|
607
|
+
## Purpose
|
|
608
|
+
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
|
|
609
|
+
|
|
610
|
+
## Instructions
|
|
611
|
+
|
|
612
|
+
When entering KB mode (*kb-mode), follow these steps:
|
|
613
|
+
|
|
614
|
+
### 1. Welcome and Guide
|
|
615
|
+
Announce entering KB mode with a brief, friendly introduction:
|
|
616
|
+
|
|
617
|
+
"I've entered KB mode and have access to the full BMAD knowledge base. I can help you with detailed information about any aspect of BMAD-METHOD."
|
|
618
|
+
|
|
619
|
+
### 2. Present Topic Areas
|
|
620
|
+
Offer a concise list of main topic areas the user might want to explore:
|
|
621
|
+
|
|
622
|
+
**What would you like to know more about?**
|
|
623
|
+
|
|
624
|
+
1. **Setup & Installation** - Getting started with BMAD
|
|
625
|
+
2. **Workflows** - Choosing the right workflow for your project
|
|
626
|
+
3. **Web vs IDE** - When to use each environment
|
|
627
|
+
4. **Agents** - Understanding specialized agents and their roles
|
|
628
|
+
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
629
|
+
6. **Agile Process** - How BMAD implements Agile methodologies
|
|
630
|
+
7. **Configuration** - Customizing BMAD for your needs
|
|
631
|
+
8. **Best Practices** - Tips for effective BMAD usage
|
|
632
|
+
|
|
633
|
+
Or ask me about anything else related to BMAD-METHOD!
|
|
634
|
+
|
|
635
|
+
### 3. Respond Contextually
|
|
636
|
+
- Wait for user's specific question or topic selection
|
|
637
|
+
- Provide focused, relevant information from the knowledge base
|
|
638
|
+
- Offer to dive deeper or explore related topics
|
|
639
|
+
- Keep responses concise unless user asks for detailed explanations
|
|
640
|
+
|
|
641
|
+
### 4. Interactive Exploration
|
|
642
|
+
- After answering, suggest related topics they might find helpful
|
|
643
|
+
- Maintain conversational flow rather than data dumping
|
|
644
|
+
- Use examples when appropriate
|
|
645
|
+
- Reference specific documentation sections when relevant
|
|
646
|
+
|
|
647
|
+
### 5. Exit Gracefully
|
|
648
|
+
When user is done or wants to exit KB mode:
|
|
649
|
+
- Summarize key points discussed if helpful
|
|
650
|
+
- Remind them they can return to KB mode anytime with *kb-mode
|
|
651
|
+
- Suggest next steps based on what was discussed
|
|
652
|
+
|
|
653
|
+
## Example Interaction
|
|
654
|
+
|
|
655
|
+
**User**: *kb-mode
|
|
656
|
+
|
|
657
|
+
**Assistant**: I've entered KB mode and have access to the full BMAD knowledge base. I can help you with detailed information about any aspect of BMAD-METHOD.
|
|
658
|
+
|
|
659
|
+
**What would you like to know more about?**
|
|
660
|
+
|
|
661
|
+
1. **Setup & Installation** - Getting started with BMAD
|
|
662
|
+
2. **Workflows** - Choosing the right workflow for your project
|
|
663
|
+
3. **Web vs IDE** - When to use each environment
|
|
664
|
+
4. **Agents** - Understanding specialized agents and their roles
|
|
665
|
+
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
666
|
+
6. **Agile Process** - How BMAD implements Agile methodologies
|
|
667
|
+
7. **Configuration** - Customizing BMAD for your needs
|
|
668
|
+
8. **Best Practices** - Tips for effective BMAD usage
|
|
669
|
+
|
|
670
|
+
Or ask me about anything else related to BMAD-METHOD!
|
|
671
|
+
|
|
672
|
+
**User**: Tell me about workflows
|
|
673
|
+
|
|
674
|
+
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
|
|
675
|
+
==================== END: tasks#kb-mode-interaction ====================
|
|
676
|
+
|
|
598
677
|
==================== START: data#bmad-kb ====================
|
|
599
678
|
# BMAD Knowledge Base
|
|
600
679
|
|
|
@@ -664,6 +743,64 @@ npx bmad-method install
|
|
|
664
743
|
|
|
665
744
|
**Cost-Saving Tip**: Create large documents (PRDs, architecture) in web UI, then copy to `docs/prd.md` and `docs/architecture.md` in your project before switching to IDE for development.
|
|
666
745
|
|
|
746
|
+
## Core Configuration (core-config.yml)
|
|
747
|
+
|
|
748
|
+
**New in V4**: The `bmad-core/core-config.yml` file is a critical innovation that enables BMAD to work seamlessly with any project structure, providing maximum flexibility and backwards compatibility.
|
|
749
|
+
|
|
750
|
+
### What is core-config.yml?
|
|
751
|
+
|
|
752
|
+
This configuration file acts as a map for BMAD agents, telling them exactly where to find your project documents and how they're structured. It enables:
|
|
753
|
+
|
|
754
|
+
- **Version Flexibility**: Work with V3, V4, or custom document structures
|
|
755
|
+
- **Custom Locations**: Define where your documents and shards live
|
|
756
|
+
- **Developer Context**: Specify which files the dev agent should always load
|
|
757
|
+
- **Debug Support**: Built-in logging for troubleshooting
|
|
758
|
+
|
|
759
|
+
### Key Configuration Areas
|
|
760
|
+
|
|
761
|
+
#### PRD Configuration
|
|
762
|
+
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
|
|
763
|
+
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
|
|
764
|
+
- **prdShardedLocation**: Where to find sharded epic files
|
|
765
|
+
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
|
|
766
|
+
|
|
767
|
+
#### Architecture Configuration
|
|
768
|
+
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
|
|
769
|
+
- **architectureSharded**: Whether architecture is split into components
|
|
770
|
+
- **architectureShardedLocation**: Where sharded architecture files live
|
|
771
|
+
|
|
772
|
+
#### Developer Files
|
|
773
|
+
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
|
|
774
|
+
- **devDebugLog**: Where dev agent logs repeated failures
|
|
775
|
+
- **agentCoreDump**: Export location for chat conversations
|
|
776
|
+
|
|
777
|
+
### Why It Matters
|
|
778
|
+
|
|
779
|
+
1. **No Forced Migrations**: Keep your existing document structure
|
|
780
|
+
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
|
|
781
|
+
3. **Custom Workflows**: Configure BMAD to match your team's process
|
|
782
|
+
4. **Intelligent Agents**: Agents automatically adapt to your configuration
|
|
783
|
+
|
|
784
|
+
### Common Configurations
|
|
785
|
+
|
|
786
|
+
**Legacy V3 Project**:
|
|
787
|
+
```yaml
|
|
788
|
+
prdVersion: v3
|
|
789
|
+
prdSharded: false
|
|
790
|
+
architectureVersion: v3
|
|
791
|
+
architectureSharded: false
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
**V4 Optimized Project**:
|
|
795
|
+
```yaml
|
|
796
|
+
prdVersion: v4
|
|
797
|
+
prdSharded: true
|
|
798
|
+
prdShardedLocation: docs/prd
|
|
799
|
+
architectureVersion: v4
|
|
800
|
+
architectureSharded: true
|
|
801
|
+
architectureShardedLocation: docs/architecture
|
|
802
|
+
```
|
|
803
|
+
|
|
667
804
|
## Core Philosophy
|
|
668
805
|
|
|
669
806
|
### Vibe CEO'ing
|
|
@@ -8291,7 +8428,7 @@ workflow:
|
|
|
8291
8428
|
|
|
8292
8429
|
sequence:
|
|
8293
8430
|
- step: service_analysis
|
|
8294
|
-
|
|
8431
|
+
agent: architect
|
|
8295
8432
|
action: analyze existing project and use task document-project
|
|
8296
8433
|
creates: multiple documents per the document-project template
|
|
8297
8434
|
notes: "Review existing service documentation, codebase, performance metrics, and identify integration dependencies."
|
package/docs/user-guide.md
CHANGED
|
@@ -895,18 +895,18 @@ This configuration file acts as a map for BMAD agents, telling them exactly wher
|
|
|
895
895
|
#### Configuration Structure
|
|
896
896
|
|
|
897
897
|
```yaml
|
|
898
|
-
|
|
899
|
-
|
|
898
|
+
coreProjectLocation:
|
|
899
|
+
devStoryLocation: docs/stories # Where completed stories are saved
|
|
900
900
|
|
|
901
901
|
prd:
|
|
902
|
-
|
|
902
|
+
prdFile: docs/prd.md
|
|
903
903
|
prdVersion: v4 # v3 or v4
|
|
904
904
|
prdSharded: true # false if epics are embedded in PRD
|
|
905
905
|
prdShardedLocation: docs/prd # Where sharded epics live
|
|
906
906
|
epicFilePattern: epic-{n}*.md # Pattern for epic files
|
|
907
907
|
|
|
908
908
|
architecture:
|
|
909
|
-
|
|
909
|
+
architectureFile: docs/architecture.md
|
|
910
910
|
architectureVersion: v4 # v3 or v4
|
|
911
911
|
architectureSharded: true # false if monolithic
|
|
912
912
|
architectureShardedLocation: docs/architecture
|
|
@@ -932,7 +932,7 @@ The Scrum Master agent uses these settings to locate epics:
|
|
|
932
932
|
|
|
933
933
|
```yaml
|
|
934
934
|
prd:
|
|
935
|
-
|
|
935
|
+
prdFile: docs/prd.md
|
|
936
936
|
prdVersion: v4
|
|
937
937
|
prdSharded: true
|
|
938
938
|
prdShardedLocation: docs/prd
|
|
@@ -943,7 +943,7 @@ prd:
|
|
|
943
943
|
|
|
944
944
|
```yaml
|
|
945
945
|
prd:
|
|
946
|
-
|
|
946
|
+
prdFile: docs/prd.md
|
|
947
947
|
prdVersion: v3
|
|
948
948
|
prdSharded: false # Epics are inside PRD
|
|
949
949
|
```
|
|
@@ -952,7 +952,7 @@ prd:
|
|
|
952
952
|
|
|
953
953
|
```yaml
|
|
954
954
|
prd:
|
|
955
|
-
|
|
955
|
+
prdFile: docs/product-requirements.md
|
|
956
956
|
prdVersion: v4
|
|
957
957
|
prdSharded: true
|
|
958
958
|
prdShardedLocation: docs # Epics in docs/ not docs/prd/
|
|
@@ -967,7 +967,7 @@ Similar flexibility for architecture documents:
|
|
|
967
967
|
|
|
968
968
|
```yaml
|
|
969
969
|
architecture:
|
|
970
|
-
|
|
970
|
+
architectureFile: docs/architecture.md
|
|
971
971
|
architectureVersion: v4
|
|
972
972
|
architectureSharded: true
|
|
973
973
|
architectureShardedLocation: docs/architecture
|
|
@@ -977,7 +977,7 @@ architecture:
|
|
|
977
977
|
|
|
978
978
|
```yaml
|
|
979
979
|
architecture:
|
|
980
|
-
|
|
980
|
+
architectureFile: docs/technical-architecture.md
|
|
981
981
|
architectureVersion: v3
|
|
982
982
|
architectureSharded: false # All in one file
|
|
983
983
|
```
|
|
@@ -1021,14 +1021,14 @@ Export entire chat conversations for preservation or analysis. The `{n}` is repl
|
|
|
1021
1021
|
##### Legacy V3 Project
|
|
1022
1022
|
|
|
1023
1023
|
```yaml
|
|
1024
|
-
|
|
1025
|
-
|
|
1024
|
+
coreProjectLocation:
|
|
1025
|
+
devStoryLocation: docs/stories
|
|
1026
1026
|
prd:
|
|
1027
|
-
|
|
1027
|
+
prdFile: docs/prd.md
|
|
1028
1028
|
prdVersion: v3
|
|
1029
1029
|
prdSharded: false
|
|
1030
1030
|
architecture:
|
|
1031
|
-
|
|
1031
|
+
architectureFile: docs/architecture.md
|
|
1032
1032
|
architectureVersion: v3
|
|
1033
1033
|
architectureSharded: false
|
|
1034
1034
|
devLoadAlwaysFiles: []
|
|
@@ -1037,14 +1037,14 @@ core-project-information:
|
|
|
1037
1037
|
##### Hybrid Project (V3 PRD, V4 Architecture)
|
|
1038
1038
|
|
|
1039
1039
|
```yaml
|
|
1040
|
-
|
|
1041
|
-
|
|
1040
|
+
coreProjectLocation:
|
|
1041
|
+
devStoryLocation: .ai/stories
|
|
1042
1042
|
prd:
|
|
1043
|
-
|
|
1043
|
+
prdFile: docs/product-requirements.md
|
|
1044
1044
|
prdVersion: v3
|
|
1045
1045
|
prdSharded: false
|
|
1046
1046
|
architecture:
|
|
1047
|
-
|
|
1047
|
+
architectureFile: docs/architecture.md
|
|
1048
1048
|
architectureVersion: v4
|
|
1049
1049
|
architectureSharded: true
|
|
1050
1050
|
architectureShardedLocation: docs/architecture
|
|
@@ -1055,16 +1055,16 @@ core-project-information:
|
|
|
1055
1055
|
##### Custom Organization
|
|
1056
1056
|
|
|
1057
1057
|
```yaml
|
|
1058
|
-
|
|
1059
|
-
|
|
1058
|
+
coreProjectLocation:
|
|
1059
|
+
devStoryLocation: development/completed-stories
|
|
1060
1060
|
prd:
|
|
1061
|
-
|
|
1061
|
+
prdFile: planning/requirements.md
|
|
1062
1062
|
prdVersion: v4
|
|
1063
1063
|
prdSharded: true
|
|
1064
1064
|
prdShardedLocation: planning/epics
|
|
1065
1065
|
epicFilePattern: requirement-{n}.md
|
|
1066
1066
|
architecture:
|
|
1067
|
-
|
|
1067
|
+
architectureFile: technical/system-design.md
|
|
1068
1068
|
architectureVersion: v4
|
|
1069
1069
|
architectureSharded: true
|
|
1070
1070
|
architectureShardedLocation: technical/components
|
|
@@ -1122,7 +1122,7 @@ customTechnicalDocuments:
|
|
|
1122
1122
|
|
|
1123
1123
|
**Architecture Not Loading:**
|
|
1124
1124
|
|
|
1125
|
-
- Verify `
|
|
1125
|
+
- Verify `architectureFile` path
|
|
1126
1126
|
- Check `architectureVersion` setting
|
|
1127
1127
|
- Confirm sharding configuration matches reality
|
|
1128
1128
|
|
package/package.json
CHANGED
|
@@ -350,7 +350,12 @@ class Installer {
|
|
|
350
350
|
// Install web bundles if requested
|
|
351
351
|
if (config.includeWebBundles && config.webBundlesDirectory) {
|
|
352
352
|
spinner.text = "Installing web bundles...";
|
|
353
|
-
|
|
353
|
+
// Resolve web bundles directory using the same logic as the main installation directory
|
|
354
|
+
const originalCwd = process.env.INIT_CWD || process.env.PWD || process.cwd();
|
|
355
|
+
let resolvedWebBundlesDir = path.isAbsolute(config.webBundlesDirectory)
|
|
356
|
+
? config.webBundlesDirectory
|
|
357
|
+
: path.resolve(originalCwd, config.webBundlesDirectory);
|
|
358
|
+
await this.installWebBundles(resolvedWebBundlesDir, config, spinner);
|
|
354
359
|
}
|
|
355
360
|
|
|
356
361
|
// Set up IDE integration if requested
|
|
@@ -608,7 +613,12 @@ class Installer {
|
|
|
608
613
|
|
|
609
614
|
if (config.includeWebBundles && config.webBundlesDirectory) {
|
|
610
615
|
const bundleInfo = this.getWebBundleInfo(config);
|
|
611
|
-
|
|
616
|
+
// Resolve the web bundles directory for display
|
|
617
|
+
const originalCwd = process.env.INIT_CWD || process.env.PWD || process.cwd();
|
|
618
|
+
const resolvedWebBundlesDir = path.isAbsolute(config.webBundlesDirectory)
|
|
619
|
+
? config.webBundlesDirectory
|
|
620
|
+
: path.resolve(originalCwd, config.webBundlesDirectory);
|
|
621
|
+
console.log(chalk.green(`✓ Web bundles (${bundleInfo}) installed to: ${resolvedWebBundlesDir}`));
|
|
612
622
|
}
|
|
613
623
|
|
|
614
624
|
if (ides.length > 0) {
|