Compare commits

..

8 Commits

Author SHA1 Message Date
semantic-release-bot
730d51eb95 chore(release): 4.12.0 [skip ci]
# [4.12.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.11.0...v4.12.0) (2025-06-23)

### Features

* **dev-agent:** add quality gates to prevent task completion with failing validations ([#261](https://github.com/bmadcode/BMAD-METHOD/issues/261)) ([45110ff](45110ffffe))
2025-06-23 02:49:40 +00:00
gabadi
45110ffffe feat(dev-agent): add quality gates to prevent task completion with failing validations (#261)
Issue Being Solved:
Dev agent was marking tasks as complete even when tests/lint/typecheck failed,
causing broken code to reach merge and creating technical debt.

Gap in System:
Missing explicit quality gates in dev agent configuration to block task completion
until all automated validations pass.

Solution:
- Add "Quality Gate Discipline" core principle
- Update task execution flow: Execute validations→Only if ALL pass→Update [x]
- Add "Failing validations" to blocking conditions
- Simplify completion criteria to focus on validation success

Alignment with BMAD Core Principles:
- Quality-First: Prevents defective code progression through workflow
- Agent Excellence: Ensures dev agent maintains high standards
- Technology Agnostic: Uses generic "validations" concept vs specific tools

Small, focused change that strengthens existing dev agent without architectural changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-22 21:49:18 -05:00
semantic-release-bot
c19772498a chore(release): 4.11.0 [skip ci]
# [4.11.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.3...v4.11.0) (2025-06-21)

### Bug Fixes

* resolve web bundles directory path when using relative paths in NPX installer ([5c8485d](5c8485d09f))

### Features

* add markdown-tree integration for document sharding ([540578b](540578b39d))
2025-06-21 20:26:47 +00:00
Brian Madison
540578b39d feat: add markdown-tree integration for document sharding
- Add markdownExploder setting to core-config.yml
- Update shard-doc task to use md-tree command when enabled
- Implement proper fallback handling when tool is unavailable
- Update core-config structure to remove nested wrapper
- Fix field naming to use camelCase throughout
2025-06-21 15:26:09 -05:00
Brian Madison
5c8485d09f fix: resolve web bundles directory path when using relative paths in NPX installer
When users enter "." as the installation directory, the web bundles directory
path was not being resolved correctly, causing the bundles to not be copied.
This fix ensures the web bundles directory is resolved using the same logic
as the main installation directory, resolving relative paths from the original
working directory where npx was executed.
2025-06-21 14:55:44 -05:00
Brian Madison
cd058ee7ed correct config name to source-tree in dev agent loader 2025-06-20 16:21:27 -05:00
semantic-release-bot
835075e992 chore(release): 4.10.3 [skip ci]
## [4.10.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.2...v4.10.3) (2025-06-20)

### Bug Fixes

* bundle update ([2cf3ba1](2cf3ba1ab8))
2025-06-20 04:50:24 +00:00
Brian Madison
2cf3ba1ab8 fix: bundle update 2025-06-19 23:49:57 -05:00
20 changed files with 1171 additions and 129 deletions

View File

@@ -24,6 +24,7 @@
"Immer",
"implementability",
"Inclusivity",
"kayvan",
"Luxon",
"MERN",
"mgmt",

View File

@@ -1,3 +1,29 @@
# [4.12.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.11.0...v4.12.0) (2025-06-23)
### Features
* **dev-agent:** add quality gates to prevent task completion with failing validations ([#261](https://github.com/bmadcode/BMAD-METHOD/issues/261)) ([45110ff](https://github.com/bmadcode/BMAD-METHOD/commit/45110ffffe6d29cc08e227e22a901892185dfbd2))
# [4.11.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.3...v4.11.0) (2025-06-21)
### Bug Fixes
* resolve web bundles directory path when using relative paths in NPX installer ([5c8485d](https://github.com/bmadcode/BMAD-METHOD/commit/5c8485d09ffec60ad4965ced62f4595890cb7535))
### Features
* add markdown-tree integration for document sharding ([540578b](https://github.com/bmadcode/BMAD-METHOD/commit/540578b39d1815e41e11f0e87545de3f09ee54e1))
## [4.10.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.2...v4.10.3) (2025-06-20)
### Bug Fixes
* bundle update ([2cf3ba1](https://github.com/bmadcode/BMAD-METHOD/commit/2cf3ba1ab8dd7e52584bef16a96e65e7d2513c4f))
## [4.10.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.1...v4.10.2) (2025-06-20)

View File

@@ -32,6 +32,7 @@ core_principles:
- CRITICAL: Dev Record Only - ONLY update story file Dev Agent Record sections (checkboxes/Debug Log/Completion Notes/Change Log)
- Strive for Sequential Task Execution - Complete tasks 1-by-1 and mark [x] as completed
- Test-Driven Quality - Write tests alongside code. Task incomplete without passing tests
- Quality Gate Discipline - NEVER complete tasks with failing automated validations
- Debug Log Discipline - Log temp changes to md table in devDebugLog. Revert after fix.
- Block Only When Critical - HALT for: missing approval/ambiguous reqs/3 failures/missing config
- Code Excellence - Clean, secure, maintainable code per loaded standards
@@ -45,15 +46,15 @@ commands: # All commands require * prefix when used (e.g., *help)
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
task-execution:
flow: "Read task→Implement→Write tests→Pass tests→Update [x]→Next task"
flow: "Read task→Implement→Write tests→Execute validations→Only if ALL pass→Update [x]→Next task"
updates-ONLY:
- "Checkboxes: [ ] not started | [-] in progress | [x] complete"
- "Debug Log: | Task | File | Change | Reverted? |"
- "Completion Notes: Deviations only, <50 words"
- "Change Log: Requirement changes only"
blocking: "Unapproved deps | Ambiguous after story check | 3 failures | Missing config"
done: "Code matches reqs + Tests pass + Follows standards + No lint errors"
completion: "All [x]→Lint→Tests(100%)→Integration(if noted)→Coverage(80%+)→E2E(if noted)→DoD→Summary→HALT"
blocking: "Unapproved deps | Ambiguous after story check | 3 failures | Missing config | Failing validations"
done: "Code matches reqs + All validations pass + Follows standards"
completion: "All [x]→Validations pass→Integration(if noted)→E2E(if noted)→DoD→Summary→HALT"
dependencies:
tasks:

View File

@@ -1,26 +1,20 @@
core-project-information:
dev-story-location: docs/stories # alternate could be .ai/stories if preferred for example
prd:
prd-file: docs/prd.md
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
epicFilePattern: epic-{n}*.md
architecture:
architecture-file: docs/architecture.md
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
# if you have a front-end architecture document, uncomment the following and validate the file path
# front-end-architecture:
# front-end-architecture-file: docs/front-end-architecture.md
# architectureVersion: v4
# architectureSharded: true
# architectureShardedLocation: docs/architecture
customTechnicalDocuments: null # list other documents only if you want the SM to read them when creating stories
devLoadAlwaysFiles:
- docs/architecture/coding-standards.md
- docs/architecture/tech-stack.md
- docs/architecture/project-structure.md
devDebugLog: .ai/debug-log.md
agentCoreDump: .ai/core-dump{n}.md
markdownExploder: true
prd:
prdFile: docs/prd.md
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
epicFilePattern: epic-{n}*.md
architecture:
architectureFile: docs/architecture.md
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
customTechnicalDocuments: null
devLoadAlwaysFiles:
- docs/architecture/coding-standards.md
- docs/architecture/tech-stack.md
- docs/architecture/source-tree.md
devDebugLog: .ai/debug-log.md
devStoryLocation: docs/stories
agentCoreDump: .ai/core-dump{n}.md

View File

@@ -17,14 +17,14 @@ To identify the next logical story based on project progress and epic definition
2. Run the BMAD installer against your project to upgrade and add the file automatically
Please add and configure core-config.yml before proceeding."
- Extract the following key configurations:
- `dev-story-location`: Where to save story files
- `devStoryLocation`: Where to save story files
- `prd.prdSharded`: Whether PRD is sharded or monolithic
- `prd.prd-file`: Location of monolithic PRD (if not sharded)
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
- `prd.prdShardedLocation`: Location of sharded epic files
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
- `architecture.architectureVersion`: Architecture document version
- `architecture.architectureSharded`: Whether architecture is sharded
- `architecture.architecture-file`: Location of monolithic architecture
- `architecture.architectureFile`: Location of monolithic architecture
- `architecture.architectureShardedLocation`: Location of sharded architecture files
### 1. Identify Next Story for Preparation
@@ -33,11 +33,11 @@ To identify the next logical story based on project progress and epic definition
- Based on `prdSharded` from config:
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
- **If `prdSharded: false`**: Load the full PRD from `prd-file` and extract epics from section headings (## Epic N or ### Epic N)
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
#### 1.2 Review Existing Stories
- Check `dev-story-location` from config (e.g., `docs/stories/`) for existing story files
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
- If the directory exists and has at least 1 file, find the highest-numbered story file.
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
- Verify its `Status` is 'Done' (or equivalent).
@@ -126,13 +126,13 @@ Based on configuration loaded in Step 0:
- Follow the structured reading order in section 4.2 below
- **If `architectureVersion: v4` and `architectureSharded: false`**:
- Load the monolithic architecture from `architecture-file`
- Load the monolithic architecture from `architectureFile`
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
- **If `architectureVersion` is NOT v4**:
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
- If `architectureSharded: true`: Search sharded files by filename relevance
- If `architectureSharded: false`: Search within monolithic `architecture-file` for relevant sections
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
@@ -189,7 +189,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
### 6. Populate Story Template with Full Context
- Create a new story file: `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config).
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
- Use the Story Template to structure the file.
- Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
@@ -236,7 +236,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
- Verify all source references are included for technical details
- Ensure tasks align with both epic requirements and architecture constraints
- Update status to "Draft"
- Save the story file to `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config)
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
### 9. Report Completion

View File

@@ -6,9 +6,27 @@
- Create a folder structure to organize the sharded documents
- Maintain all content integrity including code blocks, diagrams, and markdown formatting
## Recommended Method: @kayvan/markdown-tree-parser
## Primary Method: Automatic with markdown-tree
[[LLM: First, suggest the user install and use the @kayvan/markdown-tree-parser tool if the md-tree command is unavailable so we can have the best performance and reliable document sharding. Let the user know this will save cost of having the LLM to the expensive sharding operation. Give instructions for MPV NPX and PNPM global installs.]]
[[LLM: First, check if markdownExploder is set to true in bmad-core/core-config.yml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
If the command fails (especially with an error indicating the command is not found or not available), inform the user: "The markdownExploder setting is enabled but the md-tree command is not available. Please either:
1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
2. Or set markdownExploder to false in bmad-core/core-config.yml
**IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
1. Set markdownExploder to true in bmad-core/core-config.yml
2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
I will now proceed with the manual sharding process."
Then proceed with the manual method below ONLY if markdownExploder is false.]]
### Installation and Usage
@@ -41,19 +59,19 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
---
## Manual Method (if @kayvan/markdown-tree-parser is not available)
## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
[[LLM: Only proceed with the manual instructions below if the user cannot or does not want to use @kayvan/markdown-tree-parser.]]
### Task Instructions
### 1. Identify Document and Target Location
1. Identify Document and Target Location
- Determine which document to shard (user-provided path)
- Create a new folder under `docs/` with the same name as the document (without extension)
- Example: `docs/prd.md` → create folder `docs/prd/`
### 2. Parse and Extract Sections
2. Parse and Extract Sections
[[LLM: When sharding the document:
@@ -63,7 +81,7 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
- Extract the section heading and ALL content until the next level 2 section
- Include all subsections, code blocks, diagrams, lists, tables, etc.
- Be extremely careful with:
- Fenced code blocks (```) - ensure you capture the full block including closing backticks
- Fenced code blocks (```) - ensure you capture the full block including closing backticks and account for potential misleading level 2's that are actually part of a fenced section example
- Mermaid diagrams - preserve the complete diagram syntax
- Nested markdown elements
- Multi-line content that might contain ## inside code blocks
@@ -82,7 +100,7 @@ For each extracted section:
2. **Adjust heading levels**:
- The level 2 heading becomes level 1 (# instead of ##)
- The level 2 heading becomes level 1 (# instead of ##) in the sharded new document
- All subsection levels decrease by 1:
```txt

View File

@@ -1679,6 +1679,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing

View File

@@ -1734,14 +1734,14 @@ To identify the next logical story based on project progress and epic definition
2. Run the BMAD installer against your project to upgrade and add the file automatically
Please add and configure core-config.yml before proceeding."
- Extract the following key configurations:
- `dev-story-location`: Where to save story files
- `devStoryLocation`: Where to save story files
- `prd.prdSharded`: Whether PRD is sharded or monolithic
- `prd.prd-file`: Location of monolithic PRD (if not sharded)
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
- `prd.prdShardedLocation`: Location of sharded epic files
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
- `architecture.architectureVersion`: Architecture document version
- `architecture.architectureSharded`: Whether architecture is sharded
- `architecture.architecture-file`: Location of monolithic architecture
- `architecture.architectureFile`: Location of monolithic architecture
- `architecture.architectureShardedLocation`: Location of sharded architecture files
### 1. Identify Next Story for Preparation
@@ -1750,11 +1750,11 @@ To identify the next logical story based on project progress and epic definition
- Based on `prdSharded` from config:
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
- **If `prdSharded: false`**: Load the full PRD from `prd-file` and extract epics from section headings (## Epic N or ### Epic N)
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
#### 1.2 Review Existing Stories
- Check `dev-story-location` from config (e.g., `docs/stories/`) for existing story files
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
- If the directory exists and has at least 1 file, find the highest-numbered story file.
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
- Verify its `Status` is 'Done' (or equivalent).
@@ -1774,12 +1774,40 @@ To identify the next logical story based on project progress and epic definition
```
- Proceed only if user selects option 3 (Override) or if the last story was 'Done'.
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and check for a story numbered `{lastStoryNum + 1}`. If it exists and its prerequisites (per Epic File) are met, this is the next story.
- Else (story not found or prerequisites not met): The next story is the first story in the next Epic File (e.g., look for `epic-{lastEpicNum + 1}*.md`, then `epic-{lastEpicNum + 2}*.md`, etc.) whose prerequisites are met.
- 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).
- If the next sequential story has unmet prerequisites, present this to the user:
```plaintext
ALERT: Next story has unmet prerequisites:
Story: {epicNum}.{storyNum} - {Story Title}
Prerequisites not met: [list specific prerequisites]
Would you like to:
1. Create the story anyway (mark prerequisites as pending)
2. Skip to a different story (requires your specific instruction)
3. Cancel story creation
Please choose an option (1/2/3):
```
- If there are no more stories in the current epic (e.g., 2.9 was done and there is no 2.10):
```plaintext
Epic {epicNum} Complete: All stories in Epic {epicNum} have been completed.
Would you like to:
1. Begin Epic {epicNum + 1} with story {epicNum + 1}.1
2. Select a specific story to work on
3. Cancel story creation
Please choose an option (1/2/3):
```
- **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.
- **If no story files exist in `docs/stories/`:**
- The next story is the first story in the first epic file (look for `epic-1-*.md`, then `epic-2-*.md`, etc.) whose prerequisites are met.
- If no suitable story with met prerequisites is found, report to the user that story creation is blocked, specifying what prerequisites are pending. HALT task.
- The next story is ALWAYS 1.1 (the first story of the first epic).
- If story 1.1 has unmet prerequisites, follow the same alert process as above.
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
### 2. Gather Core Story Requirements (from Epic)
@@ -1815,13 +1843,13 @@ Based on configuration loaded in Step 0:
- Follow the structured reading order in section 4.2 below
- **If `architectureVersion: v4` and `architectureSharded: false`**:
- Load the monolithic architecture from `architecture-file`
- Load the monolithic architecture from `architectureFile`
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
- **If `architectureVersion` is NOT v4**:
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
- If `architectureSharded: true`: Search sharded files by filename relevance
- If `architectureSharded: false`: Search within monolithic `architecture-file` for relevant sections
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
@@ -1878,7 +1906,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
### 6. Populate Story Template with Full Context
- Create a new story file: `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config).
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
- Use the Story Template to structure the file.
- Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
@@ -1925,7 +1953,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
- Verify all source references are included for technical details
- Ensure tasks align with both epic requirements and architecture constraints
- Update status to "Draft"
- Save the story file to `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config)
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
### 9. Report Completion
@@ -8486,6 +8514,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing

View File

@@ -136,6 +136,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -149,6 +154,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -329,6 +335,79 @@ If template specifies a checklist:
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: data#bmad-kb ====================
# BMAD Knowledge Base
@@ -398,6 +477,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing

54
dist/agents/sm.txt vendored
View File

@@ -109,14 +109,14 @@ To identify the next logical story based on project progress and epic definition
2. Run the BMAD installer against your project to upgrade and add the file automatically
Please add and configure core-config.yml before proceeding."
- Extract the following key configurations:
- `dev-story-location`: Where to save story files
- `devStoryLocation`: Where to save story files
- `prd.prdSharded`: Whether PRD is sharded or monolithic
- `prd.prd-file`: Location of monolithic PRD (if not sharded)
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
- `prd.prdShardedLocation`: Location of sharded epic files
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
- `architecture.architectureVersion`: Architecture document version
- `architecture.architectureSharded`: Whether architecture is sharded
- `architecture.architecture-file`: Location of monolithic architecture
- `architecture.architectureFile`: Location of monolithic architecture
- `architecture.architectureShardedLocation`: Location of sharded architecture files
### 1. Identify Next Story for Preparation
@@ -125,11 +125,11 @@ To identify the next logical story based on project progress and epic definition
- Based on `prdSharded` from config:
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
- **If `prdSharded: false`**: Load the full PRD from `prd-file` and extract epics from section headings (## Epic N or ### Epic N)
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
#### 1.2 Review Existing Stories
- Check `dev-story-location` from config (e.g., `docs/stories/`) for existing story files
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
- If the directory exists and has at least 1 file, find the highest-numbered story file.
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
- Verify its `Status` is 'Done' (or equivalent).
@@ -149,12 +149,40 @@ To identify the next logical story based on project progress and epic definition
```
- Proceed only if user selects option 3 (Override) or if the last story was 'Done'.
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and check for a story numbered `{lastStoryNum + 1}`. If it exists and its prerequisites (per Epic File) are met, this is the next story.
- Else (story not found or prerequisites not met): The next story is the first story in the next Epic File (e.g., look for `epic-{lastEpicNum + 1}*.md`, then `epic-{lastEpicNum + 2}*.md`, etc.) whose prerequisites are met.
- 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).
- If the next sequential story has unmet prerequisites, present this to the user:
```plaintext
ALERT: Next story has unmet prerequisites:
Story: {epicNum}.{storyNum} - {Story Title}
Prerequisites not met: [list specific prerequisites]
Would you like to:
1. Create the story anyway (mark prerequisites as pending)
2. Skip to a different story (requires your specific instruction)
3. Cancel story creation
Please choose an option (1/2/3):
```
- If there are no more stories in the current epic (e.g., 2.9 was done and there is no 2.10):
```plaintext
Epic {epicNum} Complete: All stories in Epic {epicNum} have been completed.
Would you like to:
1. Begin Epic {epicNum + 1} with story {epicNum + 1}.1
2. Select a specific story to work on
3. Cancel story creation
Please choose an option (1/2/3):
```
- **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.
- **If no story files exist in `docs/stories/`:**
- The next story is the first story in the first epic file (look for `epic-1-*.md`, then `epic-2-*.md`, etc.) whose prerequisites are met.
- If no suitable story with met prerequisites is found, report to the user that story creation is blocked, specifying what prerequisites are pending. HALT task.
- The next story is ALWAYS 1.1 (the first story of the first epic).
- If story 1.1 has unmet prerequisites, follow the same alert process as above.
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
### 2. Gather Core Story Requirements (from Epic)
@@ -190,13 +218,13 @@ Based on configuration loaded in Step 0:
- Follow the structured reading order in section 4.2 below
- **If `architectureVersion: v4` and `architectureSharded: false`**:
- Load the monolithic architecture from `architecture-file`
- Load the monolithic architecture from `architectureFile`
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
- **If `architectureVersion` is NOT v4**:
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
- If `architectureSharded: true`: Search sharded files by filename relevance
- If `architectureSharded: false`: Search within monolithic `architecture-file` for relevant sections
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
@@ -253,7 +281,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
### 6. Populate Story Template with Full Context
- Create a new story file: `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config).
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
- Use the Story Template to structure the file.
- Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
@@ -300,7 +328,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
- Verify all source references are included for technical details
- Ensure tasks align with both epic requirements and architecture constraints
- Update status to "Draft"
- Save the story file to `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config)
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
### 9. Report Completion

View File

@@ -214,6 +214,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -227,6 +232,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -2234,6 +2240,79 @@ Templates in the BMAD method use standardized markup for AI processing. These co
- All template-specific instructions are embedded within templates
==================== END: utils#template-format ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: utils#workflow-management ====================
# Workflow Management

View File

@@ -153,6 +153,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -166,6 +171,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -816,6 +822,79 @@ If template specifies a checklist:
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: data#bmad-kb ====================
# BMAD Knowledge Base
@@ -885,6 +964,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing
@@ -8519,14 +8656,14 @@ To identify the next logical story based on project progress and epic definition
2. Run the BMAD installer against your project to upgrade and add the file automatically
Please add and configure core-config.yml before proceeding."
- Extract the following key configurations:
- `dev-story-location`: Where to save story files
- `devStoryLocation`: Where to save story files
- `prd.prdSharded`: Whether PRD is sharded or monolithic
- `prd.prd-file`: Location of monolithic PRD (if not sharded)
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
- `prd.prdShardedLocation`: Location of sharded epic files
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
- `architecture.architectureVersion`: Architecture document version
- `architecture.architectureSharded`: Whether architecture is sharded
- `architecture.architecture-file`: Location of monolithic architecture
- `architecture.architectureFile`: Location of monolithic architecture
- `architecture.architectureShardedLocation`: Location of sharded architecture files
### 1. Identify Next Story for Preparation
@@ -8535,11 +8672,11 @@ To identify the next logical story based on project progress and epic definition
- Based on `prdSharded` from config:
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
- **If `prdSharded: false`**: Load the full PRD from `prd-file` and extract epics from section headings (## Epic N or ### Epic N)
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
#### 1.2 Review Existing Stories
- Check `dev-story-location` from config (e.g., `docs/stories/`) for existing story files
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
- If the directory exists and has at least 1 file, find the highest-numbered story file.
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
- Verify its `Status` is 'Done' (or equivalent).
@@ -8559,12 +8696,40 @@ To identify the next logical story based on project progress and epic definition
```
- Proceed only if user selects option 3 (Override) or if the last story was 'Done'.
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and check for a story numbered `{lastStoryNum + 1}`. If it exists and its prerequisites (per Epic File) are met, this is the next story.
- Else (story not found or prerequisites not met): The next story is the first story in the next Epic File (e.g., look for `epic-{lastEpicNum + 1}*.md`, then `epic-{lastEpicNum + 2}*.md`, etc.) whose prerequisites are met.
- 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).
- If the next sequential story has unmet prerequisites, present this to the user:
```plaintext
ALERT: Next story has unmet prerequisites:
Story: {epicNum}.{storyNum} - {Story Title}
Prerequisites not met: [list specific prerequisites]
Would you like to:
1. Create the story anyway (mark prerequisites as pending)
2. Skip to a different story (requires your specific instruction)
3. Cancel story creation
Please choose an option (1/2/3):
```
- If there are no more stories in the current epic (e.g., 2.9 was done and there is no 2.10):
```plaintext
Epic {epicNum} Complete: All stories in Epic {epicNum} have been completed.
Would you like to:
1. Begin Epic {epicNum + 1} with story {epicNum + 1}.1
2. Select a specific story to work on
3. Cancel story creation
Please choose an option (1/2/3):
```
- **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.
- **If no story files exist in `docs/stories/`:**
- The next story is the first story in the first epic file (look for `epic-1-*.md`, then `epic-2-*.md`, etc.) whose prerequisites are met.
- If no suitable story with met prerequisites is found, report to the user that story creation is blocked, specifying what prerequisites are pending. HALT task.
- The next story is ALWAYS 1.1 (the first story of the first epic).
- If story 1.1 has unmet prerequisites, follow the same alert process as above.
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
### 2. Gather Core Story Requirements (from Epic)
@@ -8600,13 +8765,13 @@ Based on configuration loaded in Step 0:
- Follow the structured reading order in section 4.2 below
- **If `architectureVersion: v4` and `architectureSharded: false`**:
- Load the monolithic architecture from `architecture-file`
- Load the monolithic architecture from `architectureFile`
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
- **If `architectureVersion` is NOT v4**:
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
- If `architectureSharded: true`: Search sharded files by filename relevance
- If `architectureSharded: false`: Search within monolithic `architecture-file` for relevant sections
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
@@ -8663,7 +8828,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
### 6. Populate Story Template with Full Context
- Create a new story file: `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config).
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
- Use the Story Template to structure the file.
- Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
@@ -8710,7 +8875,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
- Verify all source references are included for technical details
- Ensure tasks align with both epic requirements and architecture constraints
- Update status to "Draft"
- Save the story file to `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config)
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
### 9. Report Completion
@@ -9452,7 +9617,7 @@ workflow:
sequence:
- step: service_analysis
agent: architect
agent: architect
action: analyze existing project and use task document-project
creates: multiple documents per the document-project template
notes: "Review existing service documentation, codebase, performance metrics, and identify integration dependencies."

View File

@@ -157,6 +157,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -170,6 +175,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -663,6 +669,79 @@ If template specifies a checklist:
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: data#bmad-kb ====================
# BMAD Knowledge Base
@@ -732,6 +811,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing
@@ -8809,7 +8946,7 @@ workflow:
sequence:
- step: service_analysis
agent: architect
agent: architect
action: analyze existing project and use task document-project
creates: multiple documents per the document-project template
notes: "Review existing service documentation, codebase, performance metrics, and identify integration dependencies."

View File

@@ -149,6 +149,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -162,6 +167,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -562,6 +568,79 @@ If template specifies a checklist:
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: data#bmad-kb ====================
# BMAD Knowledge Base
@@ -631,6 +710,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing
@@ -2626,14 +2763,14 @@ To identify the next logical story based on project progress and epic definition
2. Run the BMAD installer against your project to upgrade and add the file automatically
Please add and configure core-config.yml before proceeding."
- Extract the following key configurations:
- `dev-story-location`: Where to save story files
- `devStoryLocation`: Where to save story files
- `prd.prdSharded`: Whether PRD is sharded or monolithic
- `prd.prd-file`: Location of monolithic PRD (if not sharded)
- `prd.prdFile`: Location of monolithic PRD (if not sharded)
- `prd.prdShardedLocation`: Location of sharded epic files
- `prd.epicFilePattern`: Pattern for epic files (e.g., `epic-{n}*.md`)
- `architecture.architectureVersion`: Architecture document version
- `architecture.architectureSharded`: Whether architecture is sharded
- `architecture.architecture-file`: Location of monolithic architecture
- `architecture.architectureFile`: Location of monolithic architecture
- `architecture.architectureShardedLocation`: Location of sharded architecture files
### 1. Identify Next Story for Preparation
@@ -2642,11 +2779,11 @@ To identify the next logical story based on project progress and epic definition
- Based on `prdSharded` from config:
- **If `prdSharded: true`**: Look for epic files in `prdShardedLocation` using `epicFilePattern`
- **If `prdSharded: false`**: Load the full PRD from `prd-file` and extract epics from section headings (## Epic N or ### Epic N)
- **If `prdSharded: false`**: Load the full PRD from `prdFile` and extract epics from section headings (## Epic N or ### Epic N)
#### 1.2 Review Existing Stories
- Check `dev-story-location` from config (e.g., `docs/stories/`) for existing story files
- Check `devStoryLocation` from config (e.g., `docs/stories/`) for existing story files
- If the directory exists and has at least 1 file, find the highest-numbered story file.
- **If a highest story file exists (`{lastEpicNum}.{lastStoryNum}.story.md`):**
- Verify its `Status` is 'Done' (or equivalent).
@@ -2666,12 +2803,40 @@ To identify the next logical story based on project progress and epic definition
```
- Proceed only if user selects option 3 (Override) or if the last story was 'Done'.
- If proceeding: Look for the Epic File for `{lastEpicNum}` (e.g., `epic-{lastEpicNum}*.md`) and check for a story numbered `{lastStoryNum + 1}`. If it exists and its prerequisites (per Epic File) are met, this is the next story.
- Else (story not found or prerequisites not met): The next story is the first story in the next Epic File (e.g., look for `epic-{lastEpicNum + 1}*.md`, then `epic-{lastEpicNum + 2}*.md`, etc.) whose prerequisites are met.
- 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).
- If the next sequential story has unmet prerequisites, present this to the user:
```plaintext
ALERT: Next story has unmet prerequisites:
Story: {epicNum}.{storyNum} - {Story Title}
Prerequisites not met: [list specific prerequisites]
Would you like to:
1. Create the story anyway (mark prerequisites as pending)
2. Skip to a different story (requires your specific instruction)
3. Cancel story creation
Please choose an option (1/2/3):
```
- If there are no more stories in the current epic (e.g., 2.9 was done and there is no 2.10):
```plaintext
Epic {epicNum} Complete: All stories in Epic {epicNum} have been completed.
Would you like to:
1. Begin Epic {epicNum + 1} with story {epicNum + 1}.1
2. Select a specific story to work on
3. Cancel story creation
Please choose an option (1/2/3):
```
- **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.
- **If no story files exist in `docs/stories/`:**
- The next story is the first story in the first epic file (look for `epic-1-*.md`, then `epic-2-*.md`, etc.) whose prerequisites are met.
- If no suitable story with met prerequisites is found, report to the user that story creation is blocked, specifying what prerequisites are pending. HALT task.
- The next story is ALWAYS 1.1 (the first story of the first epic).
- If story 1.1 has unmet prerequisites, follow the same alert process as above.
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
### 2. Gather Core Story Requirements (from Epic)
@@ -2707,13 +2872,13 @@ Based on configuration loaded in Step 0:
- Follow the structured reading order in section 4.2 below
- **If `architectureVersion: v4` and `architectureSharded: false`**:
- Load the monolithic architecture from `architecture-file`
- Load the monolithic architecture from `architectureFile`
- Extract relevant sections based on v4 structure (tech stack, project structure, etc.)
- **If `architectureVersion` is NOT v4**:
- Inform user: "Architecture document is not v4 format. Will use best judgment to find relevant information."
- If `architectureSharded: true`: Search sharded files by filename relevance
- If `architectureSharded: false`: Search within monolithic `architecture-file` for relevant sections
- If `architectureSharded: false`: Search within monolithic `architectureFile` for relevant sections
#### 4.2 Recommended Reading Order Based on Story Type (v4 Sharded Only)
@@ -2770,7 +2935,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
### 6. Populate Story Template with Full Context
- Create a new story file: `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config).
- Create a new story file: `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config).
- Use the Story Template to structure the file.
- Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`
@@ -2817,7 +2982,7 @@ Format references as: `[Source: architecture/{filename}.md#{section}]`
- Verify all source references are included for technical details
- Ensure tasks align with both epic requirements and architecture constraints
- Update status to "Draft"
- Save the story file to `{dev-story-location}/{epicNum}.{storyNum}.story.md` (using location from config)
- Save the story file to `{devStoryLocation}/{epicNum}.{storyNum}.story.md` (using location from config)
### 9. Report Completion

View File

@@ -152,6 +152,11 @@ loading:
- Agents: Only when transforming
- Templates/Tasks: Only when executing
- Always indicate loading
kb-mode-behavior:
- When *kb-mode is invoked, use kb-mode-interaction task
- Don't dump all KB content immediately
- Present topic areas and wait for user selection
- Provide focused, contextual responses
workflow-guidance:
- Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points
@@ -165,6 +170,7 @@ dependencies:
tasks:
- advanced-elicitation
- create-doc
- kb-mode-interaction
data:
- bmad-kb
utils:
@@ -595,6 +601,79 @@ If template specifies a checklist:
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc ====================
==================== START: tasks#kb-mode-interaction ====================
# KB Mode Interaction Task
## Purpose
Provide a user-friendly interface to the BMAD knowledge base without overwhelming users with information upfront.
## Instructions
When entering KB mode (*kb-mode), follow these steps:
### 1. Welcome and Guide
Announce entering KB mode with a brief, friendly introduction:
"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."
### 2. Present Topic Areas
Offer a concise list of main topic areas the user might want to explore:
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
### 3. Respond Contextually
- Wait for user's specific question or topic selection
- Provide focused, relevant information from the knowledge base
- Offer to dive deeper or explore related topics
- Keep responses concise unless user asks for detailed explanations
### 4. Interactive Exploration
- After answering, suggest related topics they might find helpful
- Maintain conversational flow rather than data dumping
- Use examples when appropriate
- Reference specific documentation sections when relevant
### 5. Exit Gracefully
When user is done or wants to exit KB mode:
- Summarize key points discussed if helpful
- Remind them they can return to KB mode anytime with *kb-mode
- Suggest next steps based on what was discussed
## Example Interaction
**User**: *kb-mode
**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.
**What would you like to know more about?**
1. **Setup & Installation** - Getting started with BMAD
2. **Workflows** - Choosing the right workflow for your project
3. **Web vs IDE** - When to use each environment
4. **Agents** - Understanding specialized agents and their roles
5. **Documents** - PRDs, Architecture, Stories, and more
6. **Agile Process** - How BMAD implements Agile methodologies
7. **Configuration** - Customizing BMAD for your needs
8. **Best Practices** - Tips for effective BMAD usage
Or ask me about anything else related to BMAD-METHOD!
**User**: Tell me about workflows
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
==================== END: tasks#kb-mode-interaction ====================
==================== START: data#bmad-kb ====================
# BMAD Knowledge Base
@@ -664,6 +743,64 @@ npx bmad-method install
**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.
## Core Configuration (core-config.yml)
**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.
### What is core-config.yml?
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:
- **Version Flexibility**: Work with V3, V4, or custom document structures
- **Custom Locations**: Define where your documents and shards live
- **Developer Context**: Specify which files the dev agent should always load
- **Debug Support**: Built-in logging for troubleshooting
### Key Configuration Areas
#### PRD Configuration
- **prdVersion**: Tells agents if PRD follows v3 or v4 conventions
- **prdSharded**: Whether epics are embedded (false) or in separate files (true)
- **prdShardedLocation**: Where to find sharded epic files
- **epicFilePattern**: Pattern for epic filenames (e.g., `epic-{n}*.md`)
#### Architecture Configuration
- **architectureVersion**: v3 (monolithic) or v4 (sharded)
- **architectureSharded**: Whether architecture is split into components
- **architectureShardedLocation**: Where sharded architecture files live
#### Developer Files
- **devLoadAlwaysFiles**: List of files the dev agent loads for every task
- **devDebugLog**: Where dev agent logs repeated failures
- **agentCoreDump**: Export location for chat conversations
### Why It Matters
1. **No Forced Migrations**: Keep your existing document structure
2. **Gradual Adoption**: Start with V3 and migrate to V4 at your pace
3. **Custom Workflows**: Configure BMAD to match your team's process
4. **Intelligent Agents**: Agents automatically adapt to your configuration
### Common Configurations
**Legacy V3 Project**:
```yaml
prdVersion: v3
prdSharded: false
architectureVersion: v3
architectureSharded: false
```
**V4 Optimized Project**:
```yaml
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
```
## Core Philosophy
### Vibe CEO'ing
@@ -8291,7 +8428,7 @@ workflow:
sequence:
- step: service_analysis
agent: architect
agent: architect
action: analyze existing project and use task document-project
creates: multiple documents per the document-project template
notes: "Review existing service documentation, codebase, performance metrics, and identify integration dependencies."

View File

@@ -895,18 +895,18 @@ This configuration file acts as a map for BMAD agents, telling them exactly wher
#### Configuration Structure
```yaml
core-project-information:
dev-story-location: docs/stories # Where completed stories are saved
coreProjectLocation:
devStoryLocation: docs/stories # Where completed stories are saved
prd:
prd-file: docs/prd.md
prdFile: docs/prd.md
prdVersion: v4 # v3 or v4
prdSharded: true # false if epics are embedded in PRD
prdShardedLocation: docs/prd # Where sharded epics live
epicFilePattern: epic-{n}*.md # Pattern for epic files
architecture:
architecture-file: docs/architecture.md
architectureFile: docs/architecture.md
architectureVersion: v4 # v3 or v4
architectureSharded: true # false if monolithic
architectureShardedLocation: docs/architecture
@@ -932,7 +932,7 @@ The Scrum Master agent uses these settings to locate epics:
```yaml
prd:
prd-file: docs/prd.md
prdFile: docs/prd.md
prdVersion: v4
prdSharded: true
prdShardedLocation: docs/prd
@@ -943,7 +943,7 @@ prd:
```yaml
prd:
prd-file: docs/prd.md
prdFile: docs/prd.md
prdVersion: v3
prdSharded: false # Epics are inside PRD
```
@@ -952,7 +952,7 @@ prd:
```yaml
prd:
prd-file: docs/product-requirements.md
prdFile: docs/product-requirements.md
prdVersion: v4
prdSharded: true
prdShardedLocation: docs # Epics in docs/ not docs/prd/
@@ -967,7 +967,7 @@ Similar flexibility for architecture documents:
```yaml
architecture:
architecture-file: docs/architecture.md
architectureFile: docs/architecture.md
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
@@ -977,7 +977,7 @@ architecture:
```yaml
architecture:
architecture-file: docs/technical-architecture.md
architectureFile: docs/technical-architecture.md
architectureVersion: v3
architectureSharded: false # All in one file
```
@@ -1021,14 +1021,14 @@ Export entire chat conversations for preservation or analysis. The `{n}` is repl
##### Legacy V3 Project
```yaml
core-project-information:
dev-story-location: docs/stories
coreProjectLocation:
devStoryLocation: docs/stories
prd:
prd-file: docs/prd.md
prdFile: docs/prd.md
prdVersion: v3
prdSharded: false
architecture:
architecture-file: docs/architecture.md
architectureFile: docs/architecture.md
architectureVersion: v3
architectureSharded: false
devLoadAlwaysFiles: []
@@ -1037,14 +1037,14 @@ core-project-information:
##### Hybrid Project (V3 PRD, V4 Architecture)
```yaml
core-project-information:
dev-story-location: .ai/stories
coreProjectLocation:
devStoryLocation: .ai/stories
prd:
prd-file: docs/product-requirements.md
prdFile: docs/product-requirements.md
prdVersion: v3
prdSharded: false
architecture:
architecture-file: docs/architecture.md
architectureFile: docs/architecture.md
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: docs/architecture
@@ -1055,16 +1055,16 @@ core-project-information:
##### Custom Organization
```yaml
core-project-information:
dev-story-location: development/completed-stories
coreProjectLocation:
devStoryLocation: development/completed-stories
prd:
prd-file: planning/requirements.md
prdFile: planning/requirements.md
prdVersion: v4
prdSharded: true
prdShardedLocation: planning/epics
epicFilePattern: requirement-{n}.md
architecture:
architecture-file: technical/system-design.md
architectureFile: technical/system-design.md
architectureVersion: v4
architectureSharded: true
architectureShardedLocation: technical/components
@@ -1122,7 +1122,7 @@ customTechnicalDocuments:
**Architecture Not Loading:**
- Verify `architecture-file` path
- Verify `architectureFile` path
- Check `architectureVersion` setting
- Confirm sharding configuration matches reality

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "bmad-method",
"version": "4.10.2",
"version": "4.12.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bmad-method",
"version": "4.10.2",
"version": "4.12.0",
"license": "MIT",
"dependencies": {
"@kayvan/markdown-tree-parser": "^1.5.0",

View File

@@ -1,6 +1,6 @@
{
"name": "bmad-method",
"version": "4.10.2",
"version": "4.12.0",
"description": "Breakthrough Method of Agile AI-driven Development",
"main": "tools/cli.js",
"bin": {

View File

@@ -350,7 +350,12 @@ class Installer {
// Install web bundles if requested
if (config.includeWebBundles && config.webBundlesDirectory) {
spinner.text = "Installing web bundles...";
await this.installWebBundles(config.webBundlesDirectory, config, spinner);
// Resolve web bundles directory using the same logic as the main installation directory
const originalCwd = process.env.INIT_CWD || process.env.PWD || process.cwd();
let resolvedWebBundlesDir = path.isAbsolute(config.webBundlesDirectory)
? config.webBundlesDirectory
: path.resolve(originalCwd, config.webBundlesDirectory);
await this.installWebBundles(resolvedWebBundlesDir, config, spinner);
}
// Set up IDE integration if requested
@@ -608,7 +613,12 @@ class Installer {
if (config.includeWebBundles && config.webBundlesDirectory) {
const bundleInfo = this.getWebBundleInfo(config);
console.log(chalk.green(`✓ Web bundles (${bundleInfo}) installed to: ${config.webBundlesDirectory}`));
// Resolve the web bundles directory for display
const originalCwd = process.env.INIT_CWD || process.env.PWD || process.cwd();
const resolvedWebBundlesDir = path.isAbsolute(config.webBundlesDirectory)
? config.webBundlesDirectory
: path.resolve(originalCwd, config.webBundlesDirectory);
console.log(chalk.green(`✓ Web bundles (${bundleInfo}) installed to: ${resolvedWebBundlesDir}`));
}
if (ides.length > 0) {

View File

@@ -1,6 +1,6 @@
{
"name": "bmad-method",
"version": "4.10.2",
"version": "4.12.0",
"description": "BMAD Method installer - AI-powered Agile development framework",
"main": "lib/installer.js",
"bin": {