feat: Enhance agent capabilities with new commands and update documentation for BMAD standards

This commit is contained in:
Peet Stander 2025-06-05 13:48:38 +02:00
parent 359e3b8b7f
commit 035a936f2e
11 changed files with 289 additions and 18 deletions

View File

@ -59,6 +59,11 @@ Immediate Action Commands:
- `*exit`: Immediately abandon the current agent or party-mode and drop to base BMad Orchestrator - `*exit`: Immediately abandon the current agent or party-mode and drop to base BMad Orchestrator
- `*tasks`: List the tasks available to the current agent, along with a description. - `*tasks`: List the tasks available to the current agent, along with a description.
- `*party`: This enters group chat with all available agents. You will roleplay all agent personas as necessary - `*party`: This enters group chat with all available agents. You will roleplay all agent personas as necessary
- `*mpcs`: List available Machine-Powered Capabilities for the current agent
- `*perplexity [query]`: Execute a web search using Perplexity (if available for current agent)
- `*github [query]`: Search code repositories on GitHub (if available for current agent)
- `*firecrawl [query]`: Perform advanced data analysis with Firecrawl (if available for current agent)
- `*dalle [prompt]`: Generate an image using DALL-E (if available for current agent)
## Global Output Requirements Apply to All Personas ## Global Output Requirements Apply to All Personas

View File

@ -59,6 +59,11 @@ Immediate Action Commands:
- `*exit`: Immediately abandon the current agent or party-mode and drop to base BMad Orchestrator - `*exit`: Immediately abandon the current agent or party-mode and drop to base BMad Orchestrator
- `*tasks`: List the tasks available to the current agent, along with a description. - `*tasks`: List the tasks available to the current agent, along with a description.
- `*party`: This enters group chat with all available agents. You will roleplay all agent personas as necessary - `*party`: This enters group chat with all available agents. You will roleplay all agent personas as necessary
- `*mpcs`: List available Machine-Powered Capabilities for the current agent
- `*perplexity [query]`: Execute a web search using Perplexity (if available for current agent)
- `*github [query]`: Search code repositories on GitHub (if available for current agent)
- `*firecrawl [query]`: Perform advanced data analysis with Firecrawl (if available for current agent)
- `*dalle [prompt]`: Generate an image using DALL-E (if available for current agent)
## Global Output Requirements Apply to All Personas ## Global Output Requirements Apply to All Personas

3
.gitignore vendored
View File

@ -18,3 +18,6 @@ build/
# VSCode settings # VSCode settings
.vscode/ .vscode/
.github/
CLAUDE.md

View File

@ -84,11 +84,100 @@
4. `*Dev` - Implement the module stories 4. `*Dev` - Implement the module stories
5. `*QA create-test-plan` - Create test plan for the new module 5. `*QA create-test-plan` - Create test plan for the new module
## File Organization Guidelines
### Directory Structure Overview
The BMAD Method uses a **hybrid file organization system** that evolved from earlier versions:
| Directory | Purpose | Contents | Auto-Generated |
|-----------|---------|----------|----------------|
| `docs/` | **Human Deliverables** | Project Briefs, PRDs, Architecture docs, Stories, API docs | ❌ Manual |
| `.ai/` | **Agent Knowledge & Logs** | Project context, tech stack, data models, agent logs | ✅ Auto-created |
| `bmad-agent/` | **BMAD System Files** | Personas, tasks, templates, configuration | ❌ Manual |
### What Goes Where
**`docs/` Directory - Project Documentation:**
- Project Briefs (from Analyst)
- Product Requirements Documents (from PM)
- Architecture Documents (from Architect)
- UX/UI Specifications (from Design Architect)
- User Stories (in `docs/stories/`)
- API Reference documentation
- Sharded documents (broken down from large docs)
### Standard File Naming Convention
**All BMAD Method core documents MUST use lowercase filenames with hyphens:**
| Document Type | Standard Filename | Agent Responsible |
|---------------|-------------------|-------------------|
| Project Brief | `project-brief.md` | Analyst |
| Product Requirements | `prd.md` | PM |
| Architecture | `architecture.md` | Architect |
| Frontend Architecture | `frontend-architecture.md` | Design Architect |
| UX/UI Specification | `uxui-spec.md` | Design Architect |
| Technology Stack | `tech-stack.md` | Architect |
| Data Models | `data-models.md` | Architect/Data Scientist |
| API Reference | `api-reference.md` | Architect |
| Deployment Guide | `deployment-guide.md` | DevOps |
| Test Plan | `test-plan.md` | QA |
| User Stories | `{epic-num}.{story-num}.story.md` | SM |
| Epic Files | `epic-{id}.md` | SM (from sharding) |
### Date Generation Standards
**All agents MUST use actual current dates, not placeholders:**
- Use format: `YYYY-MM-DD` for dates (e.g., `2024-01-15`)
- Use format: `YYYY-MM-DD HH:MM` for timestamps (e.g., `2024-01-15 14:30`)
- **NEVER use placeholders** like `{DATE}`, `[DATE]`, or `TBD`
- **ALWAYS generate actual current date** when creating documents
**`.ai/` Directory - Agent Intelligence:**
- `project-context.md` - Project goals, terminology, domain knowledge
- `tech-stack.md` - Technologies, frameworks, patterns in use
- `data-models.md` - Data structures and analytics approaches
- `deployment-info.md` - Infrastructure and deployment details
- `knowledge-versions.md` - Version history of knowledge updates
- Agent working files (test-issues.md, deployment-history.md, etc.)
### System Evolution Note
**If your project only has `docs/`:** You're likely using an older configuration or haven't run the knowledge update task yet. The current system automatically creates and manages the `.ai/` directory when you run `*BMAD Update Agent Knowledge`.
### Updating Agent Knowledge ### Updating Agent Knowledge
#### When to Run Knowledge Updates
**Required Updates (Major Phases):**
- After Project Brief completion
- After PRD creation or major updates
- After Architecture design or significant changes
- After adding new modules or major features
- After tech stack changes
**Frequency Guidelines:**
- **New Projects**: 3-4 times during initial setup
- **Active Development**: Every 2-4 weeks or when major changes occur
- **Mature Projects**: Monthly or when adding significant features
**DON'T Update After:**
- Individual story completions
- Small bug fixes
- Routine development tasks
- Individual test runs
#### Running the Update
1. Complete a project phase (Brief, PRD, Architecture) 1. Complete a project phase (Brief, PRD, Architecture)
2. `*BMAD Update Agent Knowledge` - Extract and distribute knowledge 2. `*BMAD Update Agent Knowledge` - Extract and distribute knowledge
3. Verify knowledge files in `.ai/` directory 3. **Automatic Results:**
- Creates `.ai/` directory if it doesn't exist
- Generates knowledge files from your `docs/` content
- Updates agent customization strings
- Uses semantic versioning (Major.Minor.Patch) to track changes
- Agents automatically read from `.ai/` for project context
### Creating Custom Agents ### Creating Custom Agents
@ -106,6 +195,168 @@
- [Task Name](task-file.md) - [Task Name](task-file.md)
``` ```
## Common Scenarios
### 1. Complete Project Initialization Flow
**Purpose:** Start a new project from scratch through to development
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Create Project Brief` | Brainstorm and research project concept |
| 2 | PM | `*PM Create PRD` | Create Product Requirements Document with epics and stories |
| 3 | Architect | `*Architect Create Architecture` | Design system architecture based on PRD |
| 4 | Design Architect | `*Design Architect Create Frontend Architecture` | Design UI/UX architecture (if applicable) |
| 5 | Design Architect | `*Design Architect Create UXUI Spec` | Create detailed UI/UX specifications |
| 6 | BMAD | `*BMAD Update Agent Knowledge` | Update all agents with project knowledge |
| 7 | PO | `*PO organize` | Organize and validate all documentation |
| 8 | SM | `*SM doc-shard` | Break down large documents into manageable pieces |
| 9 | SM | `*SM create` | Create first implementation story |
| 10 | Dev | `*Dev` | Implement the story |
| 11 | QA | `*QA create-test-plan` | Create test plan for the story |
| 12 | QA | `*QA run-tests` | Execute tests for the implementation |
| 13 | DevOps | `*DevOps deploy` | Deploy the implementation |
**Special Considerations:**
- Run `*BMAD Update Agent Knowledge` after each major phase
- Consider using `*perplexity` during research phases
- For UI-heavy projects, add `*dalle` for mockup generation after step 5
### 2. Brownfield Project Takeover
**Purpose:** Integrate BMAD Method into an existing project
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Analyze Existing Project` | Document current state and challenges |
| 2 | PM | `*PM Reverse Engineer PRD` | Create PRD based on existing functionality |
| 3 | Architect | `*Architect Document Current Architecture` | Map out existing architecture |
| 4 | SM | `*SM doc-shard` | Break down documentation into manageable pieces |
| 5 | BMAD | `*BMAD Update Agent Knowledge` | Update all agents with project knowledge |
| 6 | PO | `*PO audit` | Identify documentation gaps |
| 7 | SM | `*SM create` | Create first enhancement story |
| 8 | Dev | `*Dev` | Implement the enhancement |
**Special Considerations:**
- Use `*github` to search for patterns in the existing codebase
- Consider `*SM pivot` if significant course correction is needed
- Create a project structure document if one doesn't exist
### 3. Adding New Module to Existing Project
**Purpose:** Extend a project beyond original PRD scope
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Research Module Requirements` | Research requirements for new module |
| 2 | PM | `*PM update-prd {module-name}` | Update PRD with new module requirements |
| 3 | Architect | `*Architect module-design {module-name}` | Design new module architecture |
| 4 | Design Architect | `*Design Architect Update Frontend Architecture` | Update UI/UX for new module (if applicable) |
| 5 | BMAD | `*BMAD Update Agent Knowledge` | Update all agents with new module knowledge |
| 6 | SM | `*SM doc-shard` | Break down module documentation |
| 7 | SM | `*SM create` | Create first module implementation story |
| 8 | Dev | `*Dev` | Implement the module story |
| 9 | QA | `*QA create-test-plan` | Create test plan for the module |
| 10 | DevOps | `*DevOps infra-plan` | Plan infrastructure changes for new module |
**Special Considerations:**
- Ensure integration points with existing modules are clearly defined
- Consider impact on existing architecture and data models
- Update knowledge files to include new module terminology
### 4. UI Redesign Workflow
**Purpose:** Implement frontend changes with minimal backend modifications
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Design Architect | `*Design Architect Analyze Current UI` | Document current UI state and issues |
| 2 | PM | `*PM Create UI PRD` | Create UI-focused requirements document |
| 3 | Design Architect | `*Design Architect Create UXUI Spec` | Create detailed UI/UX specifications |
| 4 | Design Architect | `*Design Architect Create Frontend Architecture` | Update frontend architecture |
| 5 | Design Architect | `*Design Architect Create AI Frontend Prompt` | Create prompt for AI UI generation |
| 6 | BMAD | `*BMAD Update Agent Knowledge` | Update agents with UI knowledge |
| 7 | SM | `*SM create` | Create UI implementation story |
| 8 | Dev | `*Dev` | Implement UI changes |
| 9 | QA | `*QA create-test-plan` | Create UI-focused test plan |
**Special Considerations:**
- Use `*dalle` for UI mockup generation
- Focus on component-based architecture for reusability
- Consider accessibility requirements in specifications
### 5. API Integration Project
**Purpose:** Integrate external APIs into an existing project
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Research API` | Research API capabilities and limitations |
| 2 | PM | `*PM Create API Integration PRD` | Document API integration requirements |
| 3 | Architect | `*Architect Design API Integration` | Design integration architecture |
| 4 | BMAD | `*BMAD Update Agent Knowledge` | Update agents with API knowledge |
| 5 | SM | `*SM create` | Create API integration story |
| 6 | Dev | `*Dev` | Implement API integration |
| 7 | QA | `*QA create-test-plan` | Create API testing plan |
| 8 | DevOps | `*DevOps update-env` | Update environment with API credentials |
**Special Considerations:**
- Use `*perplexity` to research API best practices
- Create mock API responses for testing
- Document rate limits and fallback strategies
### 6. Database Migration Project
**Purpose:** Migrate from one database technology to another
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Research Database Options` | Research database technologies |
| 2 | Architect | `*Architect Design Database Migration` | Design migration architecture |
| 3 | Data Scientist | `*Data Scientist analyze` | Analyze data patterns and migration challenges |
| 4 | PM | `*PM Create Migration PRD` | Document migration requirements and phases |
| 5 | BMAD | `*BMAD Update Agent Knowledge` | Update agents with database knowledge |
| 6 | SM | `*SM create` | Create database migration story |
| 7 | Dev | `*Dev` | Implement migration code |
| 8 | QA | `*QA create-test-plan` | Create data validation test plan |
| 9 | DevOps | `*DevOps infra-plan` | Plan infrastructure changes for new database |
**Special Considerations:**
- Create data validation strategies for before and after migration
- Plan for rollback scenarios
- Consider performance testing with representative data volumes
### 7. Performance Optimization Project
**Purpose:** Improve performance of an existing application
| Step | Agent | Command | Description |
|------|-------|---------|-------------|
| 1 | Analyst | `*Analyst Performance Analysis` | Identify performance bottlenecks |
| 2 | Architect | `*Architect Performance Optimization Plan` | Design optimization strategy |
| 3 | PM | `*PM Create Optimization PRD` | Document optimization requirements |
| 4 | BMAD | `*BMAD Update Agent Knowledge` | Update agents with performance knowledge |
| 5 | SM | `*SM create` | Create optimization story |
| 6 | Dev | `*Dev` | Implement optimizations |
| 7 | QA | `*QA create-performance-test-plan` | Create performance test plan |
| 8 | Data Scientist | `*Data Scientist analyze-metrics` | Analyze performance metrics |
**Special Considerations:**
- Establish performance baselines before changes
- Use `*github` to research optimization patterns
- Consider both frontend and backend optimizations
### Best Practices for Scenario Execution
**Documentation First:** Complete documentation phases before implementation
**Knowledge Updates:** Run `*BMAD Update Agent Knowledge` after each major phase
**Incremental Implementation:** Create and implement stories one at a time
**Regular Testing:** Integrate QA testing throughout the process
**Feedback Loops:** Use `*SM pivot` if significant course correction is needed
**MPC Integration:** Leverage appropriate MPCs for each scenario:
- Research: `*perplexity`
- Code patterns: `*github`
- Data analysis: `*firecrawl`
- UI visualization: `*dalle`
## Documentation Management ## Documentation Management
| Command | Description | | Command | Description |

View File

@ -17,7 +17,7 @@
MUST review and use: MUST review and use:
- `Assigned Story File`: `docs/stories/{epicNumber}.{storyNumber}.story.md` - `Assigned Story File`: `docs/stories/{epic-num}.{story-num}.story.md` (BMAD standard naming)
- `Project Structure`: `docs/project-structure.md` - `Project Structure`: `docs/project-structure.md`
- `Operational Guidelines`: `docs/operational-guidelines.md` (Covers Coding Standards, Testing Strategy, Error Handling, Security) - `Operational Guidelines`: `docs/operational-guidelines.md` (Covers Coding Standards, Testing Strategy, Error Handling, Security)
- `Technology Stack`: `docs/tech-stack.md` - `Technology Stack`: `docs/tech-stack.md`
@ -47,7 +47,7 @@ MUST review and use:
a. HALT feature implementation concerning the dependency. a. HALT feature implementation concerning the dependency.
b. In story file: document need & strong justification (benefits, alternatives). b. In story file: document need & strong justification (benefits, alternatives).
c. Ask user for explicit approval for this dependency. c. Ask user for explicit approval for this dependency.
d. ONLY upon user's explicit approval (e.g., "User approved X on YYYY-MM-DD"), document it in the story file and proceed. d. ONLY upon user's explicit approval (e.g., "User approved X on [current date in YYYY-MM-DD format]"), document it in the story file and proceed.
- **Debugging Protocol:** - **Debugging Protocol:**
- For temporary debug code (e.g., extensive logging): - For temporary debug code (e.g., extensive logging):
a. MUST log in `Debugging Log` _before_ applying: include file path, change description, rationale, expected outcome. Mark as 'Temp Debug for Story X.Y'. a. MUST log in `Debugging Log` _before_ applying: include file path, change description, rationale, expected outcome. Mark as 'Temp Debug for Story X.Y'.

View File

@ -4,11 +4,11 @@
Extract key project information from existing documentation and update agent knowledge files and customization strings to make all BMAD agents more effective with project-specific context. Extract key project information from existing documentation and update agent knowledge files and customization strings to make all BMAD agents more effective with project-specific context.
## Input Required ## Input Required
- Project Brief (if available) - Project Brief (`docs/project-brief.md` if available)
- PRD (if available) - PRD (`docs/prd.md` if available)
- Architecture document (if available) - Architecture document (`docs/architecture.md` if available)
- Tech Stack document (if available) - Tech Stack document (`docs/tech-stack.md` if available)
- Other project artifacts - Other project artifacts following BMAD naming standards
## Steps ## Steps
@ -54,6 +54,7 @@ Extract key project information from existing documentation and update agent kno
5. **Update Knowledge Version History** 5. **Update Knowledge Version History**
- Create or update `.ai/knowledge-versions.md` using the template at `templates/knowledge-version-tmpl.md` - Create or update `.ai/knowledge-versions.md` using the template at `templates/knowledge-version-tmpl.md`
- **CRITICAL: Use actual current date in YYYY-MM-DD format, never leave date placeholders**
- Increment version number appropriately based on change significance: - Increment version number appropriately based on change significance:
- Major: Significant changes to project direction or core architecture - Major: Significant changes to project direction or core architecture
- Minor: New features or components added to existing architecture - Minor: New features or components added to existing architecture

View File

@ -306,7 +306,9 @@ function main() {
## Additional Resources ## Additional Resources
- Project documentation is located in the \`docs/\` directory - Project documentation is located in the \`docs/\` directory
- Architecture diagrams can be found in \`docs/architecture.md\` - Architecture diagrams can be found in \`docs/architecture.md\` (BMAD standard naming)
- Project brief is in \`docs/project-brief.md\`
- PRD is in \`docs/prd.md\`
`; `;
updateKnowledgeFile(PROJECT_CONTEXT_PATH, projectContextContent); updateKnowledgeFile(PROJECT_CONTEXT_PATH, projectContextContent);

View File

@ -82,7 +82,7 @@ To identify the next logical story based on project progress and epic definition
### 5. Populate Story Template with Full Context ### 5. Populate Story Template with Full Context
- Create a new story file: `docs/stories/{epicNum}.{storyNum}.story.md`. - Create a new story file: `docs/stories/{epic-num}.{story-num}.story.md` (using BMAD standard naming with hyphens).
- Use the Story Template to structure the file. - Use the Story Template to structure the file.
- Fill in: - Fill in:
- Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}` - Story `{EpicNum}.{StoryNum}: {Short Title Copied from Epic File}`

View File

@ -6,7 +6,7 @@ This plan directs the agent on how to break down large source documents into sma
## 1. Source Document: PRD (Project Requirements Document) ## 1. Source Document: PRD (Project Requirements Document)
- **Note to Agent:** Confirm the exact filename of the PRD with the user (e.g., `PRD.md`, `ProjectRequirements.md`, `prdx.y.z.md`). - **Note to Agent:** The PRD should be named `prd.md` per BMAD naming standards. If using a different name, confirm with user and suggest renaming to standard format.
### 1.1. Epic Granulation ### 1.1. Epic Granulation
@ -19,7 +19,7 @@ This plan directs the agent on how to break down large source documents into sma
## 2. Source Document: Main Architecture Document ## 2. Source Document: Main Architecture Document
- **Note to Agent:** Confirm the exact filename with the user (e.g., `architecture.md`, `SystemArchitecture.md`). - **Note to Agent:** The Architecture document should be named `architecture.md` per BMAD naming standards. If using a different name, confirm with user and suggest renaming to standard format.
### 2.1. Core Architecture Granules ### 2.1. Core Architecture Granules
@ -65,7 +65,7 @@ This plan directs the agent on how to break down large source documents into sma
## 3. Source Document(s): Front-End Specific Documentation ## 3. Source Document(s): Front-End Specific Documentation
- **Note to Agent:** Confirm filenames with the user (e.g., `front-end-architecture.md`, `front-end-spec.md`, `ui-guidelines.md`). Multiple FE documents might exist. - **Note to Agent:** Frontend documents should follow BMAD naming standards: `frontend-architecture.md`, `uxui-spec.md`. If using different names, confirm with user and suggest renaming to standard format.
### 3.1. Front-End Granules ### 3.1. Front-End Granules

View File

@ -1,10 +1,12 @@
# Knowledge Version History # Knowledge Version History
## Current Version: {VERSION_NUMBER} ## Current Version: {VERSION_NUMBER}
**Last Updated:** {DATE} **Last Updated:** [AGENT: Use current date in YYYY-MM-DD format]
**Updated By:** {AGENT_NAME} **Updated By:** {AGENT_NAME}
**Change Type:** {MAJOR|MINOR|PATCH} **Change Type:** {MAJOR|MINOR|PATCH}
**IMPORTANT:** When using this template, replace {DATE} placeholders with actual current dates in YYYY-MM-DD format. Never leave date placeholders in final documents.
## Change Summary ## Change Summary
{BRIEF_DESCRIPTION_OF_CHANGES} {BRIEF_DESCRIPTION_OF_CHANGES}
@ -40,6 +42,6 @@
| Version | Date | Updated By | Change Type | Summary | | Version | Date | Updated By | Change Type | Summary |
|---------|------|------------|-------------|---------| |---------|------|------------|-------------|---------|
| {VERSION_NUMBER} | {DATE} | {AGENT_NAME} | {CHANGE_TYPE} | {BRIEF_SUMMARY} | | {VERSION_NUMBER} | [AGENT: Current date YYYY-MM-DD] | {AGENT_NAME} | {CHANGE_TYPE} | {BRIEF_SUMMARY} |
| {PREVIOUS_VERSION} | {DATE} | {AGENT_NAME} | {CHANGE_TYPE} | {BRIEF_SUMMARY} | | {PREVIOUS_VERSION} | [AGENT: Previous date YYYY-MM-DD] | {AGENT_NAME} | {CHANGE_TYPE} | {BRIEF_SUMMARY} |
| {INITIAL_VERSION} | {DATE} | {AGENT_NAME} | Initial | Initial knowledge base creation | | {INITIAL_VERSION} | [AGENT: Initial date YYYY-MM-DD] | {AGENT_NAME} | Initial | Initial knowledge base creation |

View File

@ -1,4 +1,6 @@
# Story {EpicNum}.{StoryNum}: {Short Title Copied from Epic File} # Story {epic-num}.{story-num}: {Short Title Copied from Epic File}
**IMPORTANT:** Use BMAD standard naming: {epic-num}.{story-num} with hyphens, not {EpicNum}.{StoryNum}
## Status: { Draft | Approved | InProgress | Review | Done } ## Status: { Draft | Approved | InProgress | Review | Done }