Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dca9cc5ba | ||
|
|
0881735a20 | ||
|
|
61ab1161e5 | ||
|
|
93d3a47326 | ||
|
|
bd6a558929 | ||
|
|
a314df4f22 | ||
|
|
9dded00356 | ||
|
|
7f3a0be7e8 | ||
|
|
3c658ac297 | ||
|
|
70fa3aa624 | ||
|
|
3727cc764a | ||
|
|
7ecf47f8cf | ||
|
|
b03aece79e | ||
|
|
bc7cc0439a | ||
|
|
e8208ec277 | ||
|
|
96826cf26a | ||
|
|
a954c7e242 |
40
CHANGELOG.md
40
CHANGELOG.md
@@ -1,3 +1,43 @@
|
||||
## [4.6.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.2...v4.6.3) (2025-06-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* SM fixed file resolution issue in v4 ([61ab116](https://github.com/bmadcode/BMAD-METHOD/commit/61ab1161e59a92d657ab663082abcaf26729fa6b))
|
||||
|
||||
## [4.6.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.1...v4.6.2) (2025-06-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* installer upgrade path fixed ([bd6a558](https://github.com/bmadcode/BMAD-METHOD/commit/bd6a55892906077a700f488bde175b57e846729d))
|
||||
|
||||
## [4.6.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.0...v4.6.1) (2025-06-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* expansion pack builder now includes proper dependencies from core as needed, and default template file name save added to template llm instructions ([9dded00](https://github.com/bmadcode/BMAD-METHOD/commit/9dded003565879901246885d60787695e0d0b7bd))
|
||||
|
||||
# [4.6.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.1...v4.6.0) (2025-06-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* orchestractor yml ([3727cc7](https://github.com/bmadcode/BMAD-METHOD/commit/3727cc764a7c7295932ff872e2e5be8b4c4e6859))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* removed some templates that are not ready for use ([b03aece](https://github.com/bmadcode/BMAD-METHOD/commit/b03aece79e52cfe9585225de5aff7659293d9295))
|
||||
|
||||
## [4.5.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.0...v4.5.1) (2025-06-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* docs had some ide specific errors ([a954c7e](https://github.com/bmadcode/BMAD-METHOD/commit/a954c7e24284a6637483a9e47fc63a8f9d7dfbad))
|
||||
|
||||
# [4.5.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.4.2...v4.5.0) (2025-06-17)
|
||||
|
||||
|
||||
|
||||
@@ -22,72 +22,68 @@ persona:
|
||||
- When embodied, specialized persona's principles take precedence
|
||||
- Be explicit about active persona and current task
|
||||
- Always use numbered lists for choices
|
||||
- Process (*) commands immediately
|
||||
- Process commands starting with * immediately
|
||||
- Always remind users that commands require * prefix
|
||||
startup:
|
||||
- Announce: Hey! I'm BMad, your BMAD-METHOD orchestrator. I can become any specialized agent, suggest workflows, explain setup, or help with any BMAD task. Type *help for options.
|
||||
- Announce: Introduce yourself as the BMAD Orchestrator, explain you can coordinate agents and workflows
|
||||
- IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
|
||||
- Mention *help shows all available commands and options
|
||||
- Assess user goal against available agents and workflows in this bundle
|
||||
- If clear match to an agent's expertise, suggest transformation
|
||||
- If project-oriented, explore available workflows and guide selection
|
||||
- Load resources only when needed
|
||||
commands:
|
||||
- '*help" - Show commands/workflows/agents'
|
||||
- '*chat-mode" - Conversational mode with advanced-elicitation'
|
||||
- '*kb-mode" - Load knowledge base for full BMAD help'
|
||||
- '*status" - Show current context/agent/progress'
|
||||
- '*agent {name}" - Transform into agent (list if unspecified)'
|
||||
- '*exit" - Return to BMad or exit (confirm if exiting BMad)'
|
||||
- '*task {name}" - Run task (list if unspecified)'
|
||||
- '*workflow {type}" - Start/list workflows'
|
||||
- '*workflow-guidance" - Get help selecting the right workflow for your project'
|
||||
- '*checklist {name}" - Execute checklist (list if unspecified)'
|
||||
- '*yolo" - Toggle skip confirmations'
|
||||
- '*party-mode" - Group chat with all agents'
|
||||
- '*doc-out" - Output full document'
|
||||
help-format:
|
||||
- When *help is called, focus on agent capabilities and what each can do
|
||||
- List actual agent names with their specializations and deliverables
|
||||
- List actual workflow names with descriptions
|
||||
- DO NOT list individual tasks/checklists (these belong to specific agents)
|
||||
- Emphasize that users should switch to an agent to access its specific capabilities
|
||||
- Format examples:
|
||||
- "*agent game-designer: Game Design Specialist"
|
||||
- " Specializes in: Game concepts, mechanics, level design"
|
||||
- " Can create: Game design documents, level designs, game briefs"
|
||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||
- If project-oriented, suggest *workflow-guidance to explore options
|
||||
- Load resources only when needed - never pre-load
|
||||
commands: # All commands require * prefix when used (e.g., *help, *agent pm)
|
||||
help: Show this guide with available agents and workflows
|
||||
chat-mode: Start conversational mode for detailed assistance
|
||||
kb-mode: Load full BMAD knowledge base
|
||||
status: Show current context, active agent, and progress
|
||||
agent: Transform into a specialized agent (list if name not specified)
|
||||
exit: Return to BMad or exit session
|
||||
task: Run a specific task (list if name not specified)
|
||||
workflow: Start a specific workflow (list if name not specified)
|
||||
workflow-guidance: Get personalized help selecting the right workflow
|
||||
checklist: Execute a checklist (list if name not specified)
|
||||
yolo: Toggle skip confirmations mode
|
||||
party-mode: Group chat with all agents
|
||||
doc-out: Output full document
|
||||
help-display-template: |
|
||||
🎭 BMad Orchestrator - Your Gateway to Specialized Agents
|
||||
=== BMAD Orchestrator Commands ===
|
||||
All commands must start with * (asterisk)
|
||||
|
||||
I coordinate specialized agents for different tasks. Tell me what you need, and I'll connect you with the right expert!
|
||||
Core Commands:
|
||||
*help ............... Show this guide
|
||||
*chat-mode .......... Start conversational mode for detailed assistance
|
||||
*kb-mode ............ Load full BMAD knowledge base
|
||||
*status ............. Show current context, active agent, and progress
|
||||
*exit ............... Return to BMad or exit session
|
||||
|
||||
Orchestrator Commands:
|
||||
*help: Show this guide
|
||||
*chat-mode: Start conversational mode for detailed assistance
|
||||
*kb-mode: Load full BMAD knowledge base
|
||||
*status: Show current context, active agent, and progress
|
||||
*yolo: Toggle skip confirmations mode
|
||||
*party-mode: Group chat with all agents
|
||||
*doc-out: Output full document
|
||||
*exit: Return to BMad or exit session
|
||||
|
||||
Agent Management:
|
||||
*agent {name}: Transform into a specialized agent
|
||||
*task {name}: Run a specific task (when in an agent)
|
||||
*checklist {name}: Execute a checklist (when in an agent)
|
||||
Agent & Task Management:
|
||||
*agent [name] ....... Transform into specialized agent (list if no name)
|
||||
*task [name] ........ Run specific task (list if no name, requires agent)
|
||||
*checklist [name] ... Execute checklist (list if no name, requires agent)
|
||||
|
||||
Workflow Commands:
|
||||
*workflow {name}: Start a specific workflow directly
|
||||
*workflow-guidance: Get personalized help selecting the right workflow for your project
|
||||
*workflow [name] .... Start specific workflow (list if no name)
|
||||
*workflow-guidance .. Get personalized help selecting the right workflow
|
||||
|
||||
Available Specialist Agents:
|
||||
[For each agent in bundle, show:
|
||||
*agent {name}: {role/title}
|
||||
Specializes in: {key capabilities from agent's whenToUse}
|
||||
Can create: {list of documents/deliverables this agent produces}]
|
||||
Other Commands:
|
||||
*yolo ............... Toggle skip confirmations mode
|
||||
*party-mode ......... Group chat with all agents
|
||||
*doc-out ............ Output full document
|
||||
|
||||
Available Workflows:
|
||||
[For each workflow in bundle, show:
|
||||
*workflow {name}: {workflow description}]
|
||||
=== Available Specialist Agents ===
|
||||
[Dynamically list each agent in bundle with format:
|
||||
*agent {id}: {title}
|
||||
When to use: {whenToUse}
|
||||
Key deliverables: {main outputs/documents}]
|
||||
|
||||
💡 Tip: Each agent has their own tasks, templates, and checklists. Switch to an agent to see what they can do!
|
||||
=== Available Workflows ===
|
||||
[Dynamically list each workflow in bundle with format:
|
||||
*workflow {id}: {name}
|
||||
Purpose: {description}]
|
||||
|
||||
💡 Tip: Each agent has unique tasks, templates, and checklists. Switch to an agent to access their capabilities!
|
||||
|
||||
fuzzy-matching:
|
||||
- 85% confidence threshold
|
||||
- Show numbered list if unsure
|
||||
@@ -98,24 +94,17 @@ transformation:
|
||||
loading:
|
||||
- KB: Only for *kb-mode or BMAD questions
|
||||
- Agents: Only when transforming
|
||||
- 'Templates/Tasks: Only when executing'
|
||||
- Templates/Tasks: Only when executing
|
||||
- Always indicate loading
|
||||
workflow-guidance:
|
||||
- Discover available workflows in the bundle at runtime
|
||||
- Understand each workflow's purpose, options, and decision points
|
||||
- Ask clarifying questions based on the workflow's structure
|
||||
- Guide users through workflow selection when multiple options exist
|
||||
- For workflows with divergent paths (e.g., simple vs complex), help users choose the right path
|
||||
- For workflows with divergent paths, help users choose the right path
|
||||
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
||||
- Only recommend workflows that actually exist in the current bundle
|
||||
workflow-guidance-command:
|
||||
- When *workflow-guidance is called, start an interactive session
|
||||
- First, list all available workflows with brief descriptions
|
||||
- Ask about the user's project goals and constraints
|
||||
- Based on answers, recommend the most suitable workflow
|
||||
- If a workflow has multiple paths, help choose between them (e.g., complex vs simple project flow)
|
||||
- Explain what documents will be created and which agents will be involved
|
||||
- Offer to start the recommended workflow immediately
|
||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||
dependencies:
|
||||
tasks:
|
||||
- advanced-elicitation
|
||||
|
||||
@@ -48,7 +48,6 @@ dependencies:
|
||||
templates:
|
||||
- prd-tmpl
|
||||
- brownfield-prd-tmpl
|
||||
- simple-project-prd-tmpl
|
||||
checklists:
|
||||
- pm-checklist
|
||||
- change-checklist
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||
|
||||
## Task and File Resolution
|
||||
|
||||
`Create Next Story`: `.bmad-core/tasks/create-next-story.md`
|
||||
`story-tmpl`: `.bmad-core/templates/story-tmpl.md`
|
||||
`story-draft-checklist`: `.bmad-core/checklists/story-draft-checklist.md`
|
||||
|
||||
```yaml
|
||||
activation-instructions:
|
||||
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
||||
@@ -21,14 +27,14 @@ persona:
|
||||
identity: Story creation expert who prepares detailed, actionable stories for AI developers
|
||||
focus: Creating crystal-clear stories that dumb AI agents can implement without confusion
|
||||
core_principles:
|
||||
- Task Adherence - Rigorously follow create-next-story procedures
|
||||
- Task Adherence - Rigorously follow `Create Next Story` procedures
|
||||
- Checklist-Driven Validation - Apply story-draft-checklist meticulously
|
||||
- Clarity for Developer Handoff - Stories must be immediately actionable
|
||||
- Focus on One Story at a Time - Complete one before starting next
|
||||
- Numbered Options Protocol - Always use numbered lists for selections
|
||||
startup:
|
||||
- Greet the user with your name and role, and inform of the *help command.
|
||||
- CRITICAL: Do NOT automatically execute create-next-story tasks during startup
|
||||
- CRITICAL: Do NOT automatically execute `Create Next Story` tasks during startup
|
||||
- CRITICAL: Do NOT create or modify any files during startup
|
||||
- Offer to help with story preparation but wait for explicit user confirmation
|
||||
- Only execute tasks when user explicitly requests them
|
||||
@@ -36,7 +42,7 @@ startup:
|
||||
commands:
|
||||
- '*help" - Show: numbered list of the following commands to allow selection'
|
||||
- '*chat-mode" - Conversational mode with advanced-elicitation for advice'
|
||||
- '*create" - Execute all steps in Create Next Story Task document'
|
||||
- '*create" - Execute all steps in `Create Next Story`'
|
||||
- '*pivot" - Run correct-course task (ensure no story already created first)'
|
||||
- '*checklist {checklist}" - Show numbered list of checklists, execute selection'
|
||||
- '*doc-shard {PRD|Architecture|Other}" - Execute shard-doc task'
|
||||
|
||||
@@ -68,7 +68,7 @@ The epic numbering starts at 1 and increments for each epic found.
|
||||
|
||||
### Before (PRD):
|
||||
|
||||
`````markdown
|
||||
```markdown
|
||||
# Product Requirements Document
|
||||
|
||||
## 1. Executive Summary
|
||||
@@ -91,9 +91,10 @@ Epic content...
|
||||
|
||||
Content here...
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### After (PRD):
|
||||
|
||||
```markdown
|
||||
# Product Requirements Document
|
||||
|
||||
@@ -113,9 +114,11 @@ Epic content...
|
||||
|
||||
## Success Metrics
|
||||
Content here...
|
||||
```text
|
||||
|
||||
```
|
||||
|
||||
### Before (Non-PRD):
|
||||
|
||||
```markdown
|
||||
# Architecture Document
|
||||
|
||||
@@ -124,9 +127,10 @@ Content...
|
||||
|
||||
## 2.1 Technical Stack & Tools
|
||||
Content...
|
||||
```text
|
||||
```
|
||||
|
||||
### After (Non-PRD):
|
||||
|
||||
```markdown
|
||||
# Architecture Document
|
||||
|
||||
@@ -135,9 +139,5 @@ Content...
|
||||
|
||||
## Technical Stack Tools
|
||||
Content...
|
||||
````
|
||||
`````
|
||||
|
||||
```text
|
||||
|
||||
```
|
||||
```
|
||||
@@ -56,7 +56,7 @@ You are now operating as a Documentation Indexer. Your goal is to ensure all doc
|
||||
|
||||
The index should be organized as follows:
|
||||
|
||||
`````markdown
|
||||
```markdown
|
||||
# Documentation Index
|
||||
|
||||
## Root Documents
|
||||
@@ -89,7 +89,7 @@ Documents within the `another-folder/` directory:
|
||||
|
||||
Description of nested document.
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### Index Entry Format
|
||||
|
||||
@@ -99,10 +99,7 @@ Each entry should follow this format:
|
||||
### [Document Title](relative/path/to/file.md)
|
||||
|
||||
Brief description of the document's purpose and contents.
|
||||
````
|
||||
`````
|
||||
|
||||
````
|
||||
```
|
||||
|
||||
### Rules of Operation
|
||||
|
||||
@@ -180,4 +177,3 @@ Please provide:
|
||||
5. Whether to include hidden files/folders (starting with `.`)
|
||||
|
||||
Would you like to proceed with documentation indexing? Please provide the required input above.
|
||||
````
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
[[LLM: If available, review any provided relevant documents to gather all relevant context before beginning. If at a minimum you cannot local `docs/prd.md` ask the user what docs will provide the basis for the architecture.]]
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/architecture.md]]
|
||||
|
||||
## Introduction
|
||||
|
||||
[[LLM: This section establishes the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} Brownfield Enhancement Architecture
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/architecture.md]]
|
||||
|
||||
[[LLM: IMPORTANT - SCOPE AND ASSESSMENT REQUIRED:
|
||||
|
||||
This architecture document is for SIGNIFICANT enhancements to existing projects that require comprehensive architectural planning. Before proceeding:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} Brownfield Enhancement PRD
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/prd.md]]
|
||||
|
||||
[[LLM: IMPORTANT - SCOPE ASSESSMENT REQUIRED:
|
||||
|
||||
This PRD is for SIGNIFICANT enhancements to existing projects that require comprehensive planning and multiple stories. Before proceeding:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Competitive Analysis Report: {{Project/Product Name}}
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/competitor-analysis.md]]
|
||||
|
||||
[[LLM: This template guides comprehensive competitor analysis. Start by understanding the user's competitive intelligence needs and strategic objectives. Help them identify and prioritize competitors before diving into detailed analysis.]]
|
||||
|
||||
## Executive Summary
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} Frontend Architecture Document
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/ui-architecture.md]]
|
||||
|
||||
[[LLM: Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.]]
|
||||
|
||||
## Template and Framework Selection
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} UI/UX Specification
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/front-end-spec.md]]
|
||||
|
||||
[[LLM: Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.]]
|
||||
|
||||
## Introduction
|
||||
@@ -131,7 +133,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
|
||||
|
||||
```mermaid
|
||||
{{flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Edge Cases & Error Handling:**
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} Fullstack Architecture Document
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/architecture.md]]
|
||||
|
||||
[[LLM: If available, review any provided relevant documents to gather all relevant context before beginning. At minimum, you should have access to docs/prd.md and docs/front-end-spec.md. Ask the user for any documents you need but cannot locate. This template creates a unified architecture that covers both backend and frontend concerns to guide AI-driven fullstack development.]]
|
||||
|
||||
## Introduction
|
||||
@@ -84,7 +86,7 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
### Repository Structure
|
||||
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice:
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
|
||||
|
||||
1. For modern fullstack apps, monorepo is often preferred
|
||||
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
||||
@@ -109,9 +111,9 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
Use appropriate diagram type for clarity.]]
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{architecture_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Architectural Patterns
|
||||
|
||||
@@ -222,7 +224,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
model_interface;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -246,7 +248,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
interface User {
|
||||
id: string;
|
||||
email: string;
|
||||
@@ -262,7 +264,7 @@ interface UserProfile {
|
||||
bio?: string;
|
||||
preferences: Record<string, any>;
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -300,16 +302,16 @@ servers:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_rest_api^^
|
||||
|
||||
^^CONDITION: has_graphql_api^^
|
||||
|
||||
````graphql
|
||||
```graphql
|
||||
# GraphQL Schema
|
||||
{{graphql_schema}}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: has_graphql_api^^
|
||||
|
||||
@@ -322,7 +324,7 @@ servers:
|
||||
trpc_routers;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_trpc_api^^
|
||||
|
||||
@@ -467,19 +469,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Component Organization:**
|
||||
|
||||
`````text
|
||||
{{component_structure}}
|
||||
```text
|
||||
{{component_structure}}
|
||||
```
|
||||
|
||||
**Component Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
component_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### State Management Architecture
|
||||
|
||||
@@ -493,7 +495,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
state_structure;
|
||||
}
|
||||
}
|
||||
`````
|
||||
```
|
||||
|
||||
**State Management Patterns:**
|
||||
|
||||
@@ -508,17 +510,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```text
|
||||
{{route_structure}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Protected Route Pattern:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
protected_route_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Frontend Services Layer
|
||||
|
||||
@@ -532,17 +534,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
api_client_setup;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Service Example:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
service_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Backend Architecture
|
||||
|
||||
@@ -557,11 +559,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
^^CONDITION: serverless^^
|
||||
**Function Organization:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{function_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Function Template:**
|
||||
|
||||
@@ -571,26 +573,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
function_template;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: serverless^^
|
||||
|
||||
^^CONDITION: traditional_server^^
|
||||
**Controller/Route Organization:**
|
||||
|
||||
`````text
|
||||
{{controller_structure}}
|
||||
```text
|
||||
{{controller_structure}}
|
||||
```
|
||||
|
||||
**Controller Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
controller_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: traditional_server^^
|
||||
|
||||
@@ -602,17 +604,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```sql
|
||||
{{database_schema}}
|
||||
`````
|
||||
```
|
||||
|
||||
**Data Access Layer:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
repository_pattern;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Authentication and Authorization
|
||||
|
||||
@@ -622,17 +624,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```mermaid
|
||||
{{auth_flow_diagram}}
|
||||
````
|
||||
```
|
||||
|
||||
**Middleware/Guards:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
auth_middleware;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Unified Project Structure
|
||||
|
||||
@@ -692,7 +694,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
├── package.json # Root package.json
|
||||
├── {{monorepo_config}} # Monorepo configuration
|
||||
└── README.md
|
||||
````
|
||||
```
|
||||
|
||||
@{example: vercel_structure}
|
||||
apps/
|
||||
@@ -714,19 +716,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Prerequisites:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
{{prerequisites_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Initial Setup:**
|
||||
|
||||
```bash
|
||||
{{setup_commands}}
|
||||
````
|
||||
```
|
||||
|
||||
**Development Commands:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
# Start all services
|
||||
{{start_all_command}}
|
||||
|
||||
@@ -738,7 +740,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Run tests
|
||||
{{test_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Environment Configuration
|
||||
|
||||
@@ -753,7 +755,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Shared
|
||||
{{shared_env_vars}}
|
||||
````
|
||||
```
|
||||
|
||||
## Deployment Architecture
|
||||
|
||||
@@ -776,9 +778,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### CI/CD Pipeline
|
||||
|
||||
````yaml
|
||||
```yaml
|
||||
'[object Object]': null
|
||||
```text
|
||||
```
|
||||
|
||||
### Environments
|
||||
|
||||
@@ -836,7 +838,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Testing Pyramid
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
E2E Tests
|
||||
/ \
|
||||
@@ -845,17 +847,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
/ \
|
||||
Frontend Unit Backend Unit
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
### Test Organization
|
||||
|
||||
**Frontend Tests:**
|
||||
|
||||
```
|
||||
```text
|
||||
|
||||
{{frontend_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Backend Tests:**
|
||||
|
||||
@@ -863,15 +865,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
{{backend_test_structure}}
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Tests:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{e2e_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### Test Examples
|
||||
|
||||
@@ -883,17 +885,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
frontend_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Backend API Test:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
backend_test_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Test:**
|
||||
|
||||
@@ -903,7 +905,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
e2e_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Coding Standards
|
||||
|
||||
@@ -944,9 +946,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Error Flow
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{error_flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Error Response Format
|
||||
|
||||
@@ -960,17 +962,17 @@ interface ApiError {
|
||||
requestId: string;
|
||||
};
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
### Frontend Error Handling
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
frontend_error_handler;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Backend Error Handling
|
||||
|
||||
@@ -980,7 +982,7 @@ interface ApiError {
|
||||
backend_error_handler;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Monitoring and Observability
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Market Research Report: {{Project/Product Name}}
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/market-research.md]]
|
||||
|
||||
[[LLM: This template guides the creation of a comprehensive market research report. Begin by understanding what market insights the user needs and why. Work through each section systematically, using the appropriate analytical frameworks based on the research objectives.]]
|
||||
|
||||
## Executive Summary
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# {{Project Name}} Product Requirements Document (PRD)
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/prd.md]]
|
||||
|
||||
[[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
|
||||
|
||||
## Goals and Background Context
|
||||
@@ -116,7 +118,7 @@
|
||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
|
||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
||||
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
||||
@@ -148,7 +150,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||
|
||||
- Stories within each epic MUST be logically sequential
|
||||
- Each story should be a "vertical slice" delivering complete functionality
|
||||
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
||||
- No story should depend on work from a later story or epic
|
||||
- Identify and note any direct prerequisite stories
|
||||
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Project Brief: {{Project Name}}
|
||||
|
||||
[[LLM: The default path and filename unless specified is docs/brief.md]]
|
||||
|
||||
[[LLM: This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development.
|
||||
|
||||
Start by asking the user which mode they prefer:
|
||||
|
||||
@@ -1,461 +0,0 @@
|
||||
# {{Project Name}} Product Requirements Document (PRD)
|
||||
|
||||
[[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
|
||||
|
||||
## Goals and Background Context
|
||||
|
||||
[[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
|
||||
|
||||
### Goals
|
||||
|
||||
[[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
|
||||
|
||||
### Background Context
|
||||
|
||||
[[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
|
||||
|
||||
### Change Log
|
||||
|
||||
[[LLM: Track document versions and changes]]
|
||||
|
||||
| Date | Version | Description | Author |
|
||||
| :--- | :------ | :---------- | :----- |
|
||||
|
||||
## Requirements
|
||||
|
||||
[[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
|
||||
|
||||
### Functional
|
||||
|
||||
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
|
||||
@{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
|
||||
|
||||
### Non Functional
|
||||
|
||||
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
|
||||
@{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
|
||||
|
||||
^^CONDITION: has_ui^^
|
||||
|
||||
## User Interface Design Goals
|
||||
|
||||
[[LLM: Capture high-level UI/UX vision to inform story creation and also generate a prompt for Lovable or V0 if the user would like either. Steps:
|
||||
|
||||
1. Pre-fill all subsections with educated guesses based on project context
|
||||
2. Present the complete rendered section to user
|
||||
3. Clearly let the user know where assumptions were made
|
||||
4. Ask targeted questions for unclear/missing elements or areas needing more specification
|
||||
5. This is NOT detailed UI spec - focus on product vision and user goals
|
||||
6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Overall UX Vision
|
||||
|
||||
### Key Interaction Paradigms
|
||||
|
||||
### Core Screens and Views
|
||||
|
||||
[[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
|
||||
|
||||
@{example}
|
||||
|
||||
- Login Screen
|
||||
- Main Dashboard
|
||||
- Item Detail Page
|
||||
- Settings Page
|
||||
@{/example}
|
||||
|
||||
### Accessibility: { None, WCAG, etc }
|
||||
|
||||
### Branding
|
||||
|
||||
[[LLM: Any known branding elements or style guides that must be incorporated?]]
|
||||
|
||||
@{example}
|
||||
|
||||
- Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
|
||||
- Attached is the full color pallet and tokens for our corporate branding.
|
||||
@{/example}
|
||||
|
||||
### Target Device and Platforms
|
||||
|
||||
@{example}
|
||||
"Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
|
||||
@{/example}
|
||||
|
||||
^^/CONDITION: has_ui^^
|
||||
|
||||
## Technical Assumptions
|
||||
|
||||
[[LLM: Gather technical decisions that will be used for this simple technical PRD that includes architecture decisions. Steps:
|
||||
|
||||
1. Check if `data#technical-preferences` or an attached `technical-preferences` file exists - use it to pre-populate choices
|
||||
2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
|
||||
3. For unknowns, offer guidance based on project goals and MVP scope
|
||||
4. Document ALL technical choices with rationale (why this choice fits the project)
|
||||
5. These become constraints for the Architect - be specific and complete
|
||||
6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
|
||||
|
||||
### Repository Structure: { Monorepo, Polyrepo, etc...}
|
||||
|
||||
### Service Architecture
|
||||
|
||||
[[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
|
||||
|
||||
## Testing requirements
|
||||
|
||||
[[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
|
||||
|
||||
### Additional Technical Assumptions and Requests
|
||||
|
||||
[[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
|
||||
|
||||
## Data Models
|
||||
|
||||
[[LLM: Define the core data models/entities that will be used in the front end (if there is one), core application or back end, and if both, shared between frontend and backend:
|
||||
|
||||
1. Review PRD requirements and identify key business entities
|
||||
2. For each model, explain its purpose and relationships
|
||||
3. Include key attributes and data types
|
||||
4. Show relationships between models
|
||||
5. Create TypeScript interfaces that can be shared
|
||||
6. Discuss design decisions with user
|
||||
|
||||
Create a clear conceptual model before moving to database schema.
|
||||
|
||||
After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
<<REPEAT: data_model>>
|
||||
|
||||
### {{model_name}}
|
||||
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
**Key Attributes:**
|
||||
|
||||
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
||||
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
````typescript
|
||||
{
|
||||
{
|
||||
model_interface;
|
||||
}
|
||||
}
|
||||
```text
|
||||
|
||||
**Relationships:**
|
||||
|
||||
- {{relationship_1}}
|
||||
- {{relationship_2}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: data_model}
|
||||
|
||||
### User
|
||||
|
||||
**Purpose:** Represents authenticated users in the system
|
||||
|
||||
**Key Attributes:**
|
||||
|
||||
- id: string - Unique identifier
|
||||
- email: string - User's email address
|
||||
- name: string - Display name
|
||||
- role: enum - User permission level
|
||||
- timestamps: Date - Created and updated times
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
```typescript
|
||||
interface User {
|
||||
id: string;
|
||||
email: string;
|
||||
name: string;
|
||||
role: "admin" | "user" | "guest";
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
profile?: UserProfile;
|
||||
}
|
||||
|
||||
interface UserProfile {
|
||||
avatarUrl?: string;
|
||||
bio?: string;
|
||||
preferences: Record<string, any>;
|
||||
}
|
||||
````
|
||||
|
||||
**Relationships:**
|
||||
|
||||
- Has many Posts (1:n)
|
||||
- Has one Profile (1:1)
|
||||
@{/example}
|
||||
|
||||
## REST API Spec
|
||||
|
||||
[[LLM: Based on the chosen API style from Tech Stack:
|
||||
|
||||
1. If REST API, create an OpenAPI 3.0 specification
|
||||
2. If GraphQL, provide the GraphQL schema
|
||||
3. If tRPC, show router definitions
|
||||
4. Include all endpoints from epics/stories
|
||||
5. Define request/response schemas based on data models
|
||||
6. Document authentication requirements
|
||||
7. Include example requests/responses
|
||||
|
||||
Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.]]
|
||||
|
||||
^^CONDITION: has_rest_api^^
|
||||
|
||||
````yml
|
||||
openapi: 3.0.0
|
||||
info:
|
||||
title:
|
||||
'[object Object]': null
|
||||
version:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
servers:
|
||||
- url:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
```text
|
||||
|
||||
^^/CONDITION: has_rest_api^^
|
||||
|
||||
^^CONDITION: has_graphql_api^^
|
||||
|
||||
```graphql
|
||||
# GraphQL Schema
|
||||
{{graphql_schema}}
|
||||
````
|
||||
|
||||
^^/CONDITION: has_graphql_api^^
|
||||
|
||||
^^CONDITION: has_trpc_api^^
|
||||
|
||||
```typescript
|
||||
// tRPC Router Definitions
|
||||
{
|
||||
{
|
||||
trpc_routers;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
^^/CONDITION: has_trpc_api^^
|
||||
|
||||
[[LLM: After presenting the API spec (or noting its absence if not applicable), apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## Components
|
||||
|
||||
[[LLM: Based on the architectural patterns, tech stack, and data models from above:
|
||||
|
||||
1. Identify major logical components/services across the fullstack
|
||||
2. Consider both frontend and backend components
|
||||
3. Define clear boundaries and interfaces between components
|
||||
4. For each component, specify:
|
||||
|
||||
- Primary responsibility
|
||||
- Key interfaces/APIs exposed
|
||||
- Dependencies on other components
|
||||
- Technology specifics based on tech stack choices
|
||||
|
||||
5. Create component diagrams where helpful
|
||||
6. After presenting all components, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
<<REPEAT: component>>
|
||||
|
||||
### {{component_name}}
|
||||
|
||||
**Responsibility:** {{component_description}}
|
||||
|
||||
**Key Interfaces:**
|
||||
|
||||
- {{interface_1}}
|
||||
- {{interface_2}}
|
||||
|
||||
**Dependencies:** {{dependencies}}
|
||||
|
||||
**Technology Stack:** {{component_tech_details}}
|
||||
<</REPEAT>>
|
||||
|
||||
### Component Diagrams
|
||||
|
||||
[[LLM: Create Mermaid diagrams to visualize component relationships. Options:
|
||||
|
||||
- C4 Container diagram for high-level view
|
||||
- Component diagram for detailed internal structure
|
||||
- Sequence diagrams for complex interactions
|
||||
Choose the most appropriate for clarity
|
||||
|
||||
After presenting the diagrams, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## External APIs
|
||||
|
||||
[[LLM: For each external service integration:
|
||||
|
||||
1. Identify APIs needed based on PRD requirements and component design
|
||||
2. If documentation URLs are unknown, ask user for specifics
|
||||
3. Document authentication methods and security considerations
|
||||
4. List specific endpoints that will be used
|
||||
5. Note any rate limits or usage constraints
|
||||
|
||||
If no external APIs are needed, state this explicitly and skip to next section.]]
|
||||
|
||||
^^CONDITION: has_external_apis^^
|
||||
|
||||
<<REPEAT: external_api>>
|
||||
|
||||
### {{api_name}} API
|
||||
|
||||
- **Purpose:** {{api_purpose}}
|
||||
- **Documentation:** {{api_docs_url}}
|
||||
- **Base URL(s):** {{api_base_url}}
|
||||
- **Authentication:** {{auth_method}}
|
||||
- **Rate Limits:** {{rate_limits}}
|
||||
|
||||
**Key Endpoints Used:**
|
||||
<<REPEAT: endpoint>>
|
||||
|
||||
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
||||
<</REPEAT>>
|
||||
|
||||
**Integration Notes:** {{integration_considerations}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: external_api}
|
||||
|
||||
### Stripe API
|
||||
|
||||
- **Purpose:** Payment processing and subscription management
|
||||
- **Documentation:** https://stripe.com/docs/api
|
||||
- **Base URL(s):** `https://api.stripe.com/v1`
|
||||
- **Authentication:** Bearer token with secret key
|
||||
- **Rate Limits:** 100 requests per second
|
||||
|
||||
**Key Endpoints Used:**
|
||||
|
||||
- `POST /customers` - Create customer profiles
|
||||
- `POST /payment_intents` - Process payments
|
||||
- `POST /subscriptions` - Manage subscriptions
|
||||
@{/example}
|
||||
|
||||
^^/CONDITION: has_external_apis^^
|
||||
|
||||
[[LLM: After presenting external APIs (or noting their absence), apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## Coding Standards
|
||||
|
||||
[[LLM: Define MINIMAL but CRITICAL standards for AI agents. Focus only on project-specific rules that prevent common mistakes. These will be used by dev agents.
|
||||
|
||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Critical Fullstack Rules
|
||||
|
||||
<<REPEAT: critical_rule>>
|
||||
|
||||
- **{{rule_name}}:** {{rule_description}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: critical_rules}
|
||||
|
||||
- **Type Sharing:** Always define types in packages/shared and import from there
|
||||
- **API Calls:** Never make direct HTTP calls - use the service layer
|
||||
- **Environment Variables:** Access only through config objects, never process.env directly
|
||||
- **Error Handling:** All API routes must use the standard error handler
|
||||
- **State Updates:** Never mutate state directly - use proper state management patterns
|
||||
@{/example}
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
| Element | Frontend | Backend | Example |
|
||||
| :-------------- | :------------------- | :--------- | :------------------ |
|
||||
| Components | PascalCase | - | `UserProfile.tsx` |
|
||||
| Hooks | camelCase with 'use' | - | `useAuth.ts` |
|
||||
| API Routes | - | kebab-case | `/api/user-profile` |
|
||||
| Database Tables | - | snake_case | `user_profiles` |
|
||||
|
||||
## Epics
|
||||
|
||||
[[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
|
||||
|
||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
|
||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
||||
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
||||
- Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
|
||||
|
||||
<<REPEAT: epic_list>>
|
||||
|
||||
- Epic{{epic_number}} {{epic_title}}: {{short_goal}}
|
||||
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: epic_list}
|
||||
|
||||
1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
|
||||
2. Core Business Entities: Create and manage primary domain objects with CRUD operations
|
||||
3. User Workflows & Interactions: Enable key user journeys and business processes
|
||||
4. Reporting & Analytics: Provide insights and data visualization for users
|
||||
|
||||
@{/example}
|
||||
|
||||
[[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
|
||||
|
||||
<<REPEAT: epic_details>>
|
||||
|
||||
## Epic {{epic_number}} {{epic_title}}
|
||||
|
||||
{{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
|
||||
|
||||
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||
|
||||
- Stories within each epic MUST be logically sequential
|
||||
- Each story should be a "vertical slice" delivering complete functionality
|
||||
- No story should depend on work from a later story or epic
|
||||
- Identify and note any direct prerequisite stories
|
||||
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
||||
- Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
|
||||
- Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
|
||||
- Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
|
||||
- If a story seems complex, break it down further as long as it can deliver a vertical slice
|
||||
- Each story should result in working, testable code before the agent's context window fills]]
|
||||
|
||||
<<REPEAT: story>>
|
||||
|
||||
### Story {{epic_number}}.{{story_number}} {{story_title}}
|
||||
|
||||
As a {{user_type}},
|
||||
I want {{action}},
|
||||
so that {{benefit}}.
|
||||
|
||||
#### Acceptance Criteria
|
||||
|
||||
[[LLM: Define clear, comprehensive, and testable acceptance criteria that:
|
||||
|
||||
- Precisely define what "done" means from a functional perspective
|
||||
- Are unambiguous and serve as basis for verification
|
||||
- Include any critical non-functional requirements from the PRD
|
||||
- Consider local testability for backend/data components
|
||||
- Specify UI/UX requirements and framework adherence where applicable
|
||||
- Avoid cross-cutting concerns that should be in other stories or PRD sections]]
|
||||
|
||||
<<REPEAT: criteria>>
|
||||
|
||||
- {{criterion number}}: {{criteria}}
|
||||
|
||||
<</REPEAT>>
|
||||
<</REPEAT>>
|
||||
<</REPEAT>>
|
||||
|
||||
## Next Steps
|
||||
|
||||
### Design Architect Prompt
|
||||
|
||||
[[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
|
||||
@@ -11,16 +11,11 @@ workflow:
|
||||
- modernization
|
||||
- integration-enhancement
|
||||
|
||||
# For Complex Enhancements (Multiple Stories, Architectural Changes)
|
||||
complex_enhancement_sequence:
|
||||
- step: scope_assessment
|
||||
agent: any
|
||||
action: assess complexity
|
||||
notes: "First, assess if this is a simple change (use simple_enhancement_sequence) or complex enhancement requiring full planning."
|
||||
|
||||
sequence:
|
||||
- step: project_analysis
|
||||
agent: analyst
|
||||
action: analyze existing project
|
||||
agent: architect
|
||||
action: analyze existing project and use task document-project
|
||||
creates: multiple documents per the document-project template
|
||||
notes: "Review existing documentation, codebase structure, and identify integration points. Document current system understanding before proceeding."
|
||||
|
||||
- agent: pm
|
||||
@@ -49,68 +44,34 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple Enhancements (1-3 Stories, Following Existing Patterns)
|
||||
simple_enhancement_sequence:
|
||||
- step: enhancement_type
|
||||
action: choose approach
|
||||
notes: "Choose between creating single story (very small change) or epic (1-3 related stories)."
|
||||
|
||||
- agent: pm|po|sm
|
||||
creates: brownfield_epic OR brownfield_story
|
||||
uses: brownfield-create-epic OR brownfield-create-story
|
||||
notes: "Create focused enhancement with existing system integration. Choose agent based on team preference and context."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "Enhancement defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: Brownfield Enhancement] --> B{Enhancement Complexity?}
|
||||
B -->|Complex/Significant| C[analyst: analyze existing project]
|
||||
B -->|Simple| D{1 Story or 2-3 Stories?}
|
||||
A[Start: Brownfield Enhancement] --> B[analyst: analyze existing project]
|
||||
B --> C[pm: brownfield-prd.md]
|
||||
C --> D[architect: brownfield-architecture.md]
|
||||
D --> E[po: validate with po-master-checklist]
|
||||
E --> F{PO finds issues?}
|
||||
F -->|Yes| G[Return to relevant agent for fixes]
|
||||
F -->|No| H[Move to IDE Environment]
|
||||
G --> E
|
||||
|
||||
C --> E[pm: brownfield-prd.md]
|
||||
E --> F[architect: brownfield-architecture.md]
|
||||
F --> G[po: validate with po-master-checklist]
|
||||
G --> H{PO finds issues?}
|
||||
H -->|Yes| I[Return to relevant agent for fixes]
|
||||
H -->|No| J[Move to IDE Environment]
|
||||
I --> G
|
||||
|
||||
D -->|1 Story| K[pm/po/sm: brownfield-create-story]
|
||||
D -->|2-3 Stories| L[pm/po/sm: brownfield-create-epic]
|
||||
K --> M[Move to IDE Environment]
|
||||
L --> M
|
||||
|
||||
style J fill:#90EE90
|
||||
style M fill:#90EE90
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style K fill:#FFB6C1
|
||||
style L fill:#FFB6C1
|
||||
style H fill:#90EE90
|
||||
style C fill:#FFE4B5
|
||||
style D fill:#FFE4B5
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
- Enhancement requires multiple coordinated stories (4+)
|
||||
when_to_use:
|
||||
- Enhancement requires coordinated stories
|
||||
- Architectural changes are needed
|
||||
- Significant integration work required
|
||||
- Risk assessment and mitigation planning necessary
|
||||
- Multiple team members will work on related changes
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Enhancement can be completed in 1-3 stories
|
||||
- Follows existing project patterns
|
||||
- Integration complexity is minimal
|
||||
- Risk to existing system is low
|
||||
- Change is isolated with clear boundaries
|
||||
|
||||
handoff_prompts:
|
||||
analyst_to_pm: "Existing project analysis complete. Create comprehensive brownfield PRD with integration strategy."
|
||||
pm_to_architect: "Brownfield PRD ready. Save it as docs/brownfield-prd.md, then create the integration architecture."
|
||||
architect_to_po: "Architecture complete. Save it as docs/brownfield-architecture.md. Please validate all artifacts for integration safety."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
simple_to_ide: "Enhancement defined with existing system integration. Move to IDE environment to begin development."
|
||||
complex_complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
@@ -12,16 +12,11 @@ workflow:
|
||||
- performance-optimization
|
||||
- integration-enhancement
|
||||
|
||||
# For Complex Service Enhancements (Multiple Stories, Architectural Changes)
|
||||
complex_enhancement_sequence:
|
||||
- step: scope_assessment
|
||||
agent: any
|
||||
action: assess complexity
|
||||
notes: "First, assess if this is a simple service change (use simple_enhancement_sequence) or complex enhancement requiring full planning."
|
||||
|
||||
sequence:
|
||||
- step: service_analysis
|
||||
agent: analyst
|
||||
action: analyze existing service
|
||||
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."
|
||||
|
||||
- agent: pm
|
||||
@@ -50,68 +45,34 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple Service Enhancements (1-3 Stories, Following Existing Patterns)
|
||||
simple_enhancement_sequence:
|
||||
- step: enhancement_type
|
||||
action: choose approach
|
||||
notes: "Choose between creating single story (simple API endpoint) or epic (1-3 related service changes)."
|
||||
|
||||
- agent: pm|po|sm
|
||||
creates: brownfield_epic OR brownfield_story
|
||||
uses: brownfield-create-epic OR brownfield-create-story
|
||||
notes: "Create focused service enhancement with existing API integration. Choose agent based on team preference and context."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "Service enhancement defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: Service Enhancement] --> B{Enhancement Complexity?}
|
||||
B -->|Complex/Significant| C[analyst: analyze existing service]
|
||||
B -->|Simple| D{1 Story or 2-3 Stories?}
|
||||
A[Start: Service Enhancement] --> B[analyst: analyze existing service]
|
||||
B --> C[pm: brownfield-prd.md]
|
||||
C --> D[architect: brownfield-architecture.md]
|
||||
D --> E[po: validate with po-master-checklist]
|
||||
E --> F{PO finds issues?}
|
||||
F -->|Yes| G[Return to relevant agent for fixes]
|
||||
F -->|No| H[Move to IDE Environment]
|
||||
G --> E
|
||||
|
||||
C --> E[pm: brownfield-prd.md]
|
||||
E --> F[architect: brownfield-architecture.md]
|
||||
F --> G[po: validate with po-master-checklist]
|
||||
G --> H{PO finds issues?}
|
||||
H -->|Yes| I[Return to relevant agent for fixes]
|
||||
H -->|No| J[Move to IDE Environment]
|
||||
I --> G
|
||||
|
||||
D -->|1 Story| K[pm/po/sm: brownfield-create-story]
|
||||
D -->|2-3 Stories| L[pm/po/sm: brownfield-create-epic]
|
||||
K --> M[Move to IDE Environment]
|
||||
L --> M
|
||||
|
||||
style J fill:#90EE90
|
||||
style M fill:#90EE90
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style K fill:#FFB6C1
|
||||
style L fill:#FFB6C1
|
||||
style H fill:#90EE90
|
||||
style C fill:#FFE4B5
|
||||
style D fill:#FFE4B5
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
- Service enhancement requires multiple coordinated stories (4+)
|
||||
when_to_use:
|
||||
- Service enhancement requires coordinated stories
|
||||
- API versioning or breaking changes needed
|
||||
- Database schema changes required
|
||||
- Performance or scalability improvements needed
|
||||
- Multiple integration points affected
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Adding simple endpoints or modifying existing ones
|
||||
- Enhancement follows existing service patterns
|
||||
- API compatibility maintained
|
||||
- Risk to existing service is low
|
||||
- Change is isolated with clear boundaries
|
||||
|
||||
handoff_prompts:
|
||||
analyst_to_pm: "Service analysis complete. Create comprehensive brownfield PRD with service integration strategy."
|
||||
pm_to_architect: "Brownfield PRD ready. Save it as docs/brownfield-prd.md, then create the service architecture."
|
||||
architect_to_po: "Architecture complete. Save it as docs/brownfield-architecture.md. Please validate all artifacts for service integration safety."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
simple_to_ide: "Service enhancement defined with existing API integration. Move to IDE environment to begin development."
|
||||
complex_complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
@@ -11,16 +11,11 @@ workflow:
|
||||
- design-refresh
|
||||
- frontend-enhancement
|
||||
|
||||
# For Complex UI Enhancements (Multiple Stories, Design Changes)
|
||||
complex_enhancement_sequence:
|
||||
- step: scope_assessment
|
||||
agent: any
|
||||
action: assess complexity
|
||||
notes: "First, assess if this is a simple UI change (use simple_enhancement_sequence) or complex enhancement requiring full planning."
|
||||
|
||||
sequence:
|
||||
- step: ui_analysis
|
||||
agent: analyst
|
||||
action: analyze existing UI
|
||||
agent: architect
|
||||
action: analyze existing project and use task document-project
|
||||
creates: multiple documents per the document-project template
|
||||
notes: "Review existing frontend application, user feedback, analytics data, and identify improvement areas."
|
||||
|
||||
- agent: pm
|
||||
@@ -57,71 +52,37 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple UI Enhancements (1-3 Stories, Following Existing Design)
|
||||
simple_enhancement_sequence:
|
||||
- step: enhancement_type
|
||||
action: choose approach
|
||||
notes: "Choose between creating single story (simple component change) or epic (1-3 related UI changes)."
|
||||
|
||||
- agent: pm|po|sm
|
||||
creates: brownfield_epic OR brownfield_story
|
||||
uses: brownfield-create-epic OR brownfield-create-story
|
||||
notes: "Create focused UI enhancement with existing design system integration. Choose agent based on team preference and context."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "UI enhancement defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: UI Enhancement] --> B{Enhancement Complexity?}
|
||||
B -->|Complex/Significant| C[analyst: analyze existing UI]
|
||||
B -->|Simple| D{1 Story or 2-3 Stories?}
|
||||
A[Start: UI Enhancement] --> B[analyst: analyze existing UI]
|
||||
B --> C[pm: brownfield-prd.md]
|
||||
C --> D[ux-expert: front-end-spec.md]
|
||||
D --> E[architect: brownfield-architecture.md]
|
||||
E --> F[po: validate with po-master-checklist]
|
||||
F --> G{PO finds issues?}
|
||||
G -->|Yes| H[Return to relevant agent for fixes]
|
||||
G -->|No| I[Move to IDE Environment]
|
||||
H --> F
|
||||
|
||||
C --> E[pm: brownfield-prd.md]
|
||||
E --> F[ux-expert: front-end-spec.md]
|
||||
F --> G[architect: brownfield-architecture.md]
|
||||
G --> H[po: validate with po-master-checklist]
|
||||
H --> I{PO finds issues?}
|
||||
I -->|Yes| J[Return to relevant agent for fixes]
|
||||
I -->|No| K[Move to IDE Environment]
|
||||
J --> H
|
||||
|
||||
D -->|1 Story| L[pm/po/sm: brownfield-create-story]
|
||||
D -->|2-3 Stories| M[pm/po/sm: brownfield-create-epic]
|
||||
L --> N[Move to IDE Environment]
|
||||
M --> N
|
||||
|
||||
style K fill:#90EE90
|
||||
style N fill:#90EE90
|
||||
style I fill:#90EE90
|
||||
style C fill:#FFE4B5
|
||||
style D fill:#FFE4B5
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style G fill:#FFE4B5
|
||||
style L fill:#FFB6C1
|
||||
style M fill:#FFB6C1
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
- UI enhancement requires multiple coordinated stories (4+)
|
||||
when_to_use:
|
||||
- UI enhancement requires coordinated stories
|
||||
- Design system changes needed
|
||||
- New component patterns required
|
||||
- User research and testing needed
|
||||
- Multiple team members will work on related changes
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Enhancement can be completed in 1-3 stories
|
||||
- Follows existing design patterns exactly
|
||||
- Component changes are isolated
|
||||
- Risk to existing UI is low
|
||||
- Change maintains current user experience
|
||||
|
||||
handoff_prompts:
|
||||
analyst_to_pm: "UI analysis complete. Create comprehensive brownfield PRD with UI integration strategy."
|
||||
pm_to_ux: "Brownfield PRD ready. Save it as docs/brownfield-prd.md, then create the UI/UX specification."
|
||||
ux_to_architect: "UI/UX spec complete. Save it as docs/front-end-spec.md, then create the frontend architecture."
|
||||
architect_to_po: "Architecture complete. Save it as docs/brownfield-architecture.md. Please validate all artifacts for UI integration safety."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
simple_to_ide: "UI enhancement defined with existing design integration. Move to IDE environment to begin development."
|
||||
complex_complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
@@ -12,8 +12,7 @@ workflow:
|
||||
- prototype
|
||||
- mvp
|
||||
|
||||
# For Complex Projects (Production-Ready, Multiple Features)
|
||||
complex_project_sequence:
|
||||
sequence:
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
@@ -78,91 +77,50 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple Projects (Prototypes, MVPs, Quick Experiments)
|
||||
simple_project_sequence:
|
||||
- step: project_scope
|
||||
action: assess complexity
|
||||
notes: "First, assess if this needs full planning (use complex_project_sequence) or can be a simple prototype/MVP."
|
||||
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
- brainstorming_session
|
||||
notes: "Creates focused project brief for simple project. SAVE OUTPUT: Copy final project-brief.md to your project's docs/ folder."
|
||||
|
||||
- agent: pm
|
||||
creates: simple-project-prd.md
|
||||
uses: create doc simple-project-prd OR create-epic OR create-story
|
||||
requires: project-brief.md
|
||||
notes: "Create simple prd, simple epic or story instead of full PRD for rapid development. Choose based on scope."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "Simple project defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: Greenfield Project] --> B{Project Complexity?}
|
||||
B -->|Complex/Production| C[analyst: project-brief.md]
|
||||
B -->|Simple/Prototype| D[analyst: focused project-brief.md]
|
||||
A[Start: Greenfield Project] --> B[analyst: project-brief.md]
|
||||
B --> C[pm: prd.md]
|
||||
C --> D[ux-expert: front-end-spec.md]
|
||||
D --> D2{Generate v0 prompt?}
|
||||
D2 -->|Yes| D3[ux-expert: create v0 prompt]
|
||||
D2 -->|No| E[architect: fullstack-architecture.md]
|
||||
D3 --> D4[User: generate UI in v0/Lovable]
|
||||
D4 --> E
|
||||
E --> F{Architecture suggests PRD changes?}
|
||||
F -->|Yes| G[pm: update prd.md]
|
||||
F -->|No| H[po: validate all artifacts]
|
||||
G --> H
|
||||
H --> I{PO finds issues?}
|
||||
I -->|Yes| J[Return to relevant agent for fixes]
|
||||
I -->|No| K[Move to IDE Environment]
|
||||
J --> H
|
||||
|
||||
C --> E[pm: prd.md]
|
||||
E --> F[ux-expert: front-end-spec.md]
|
||||
F --> F2{Generate v0 prompt?}
|
||||
F2 -->|Yes| F3[ux-expert: create v0 prompt]
|
||||
F2 -->|No| G[architect: fullstack-architecture.md]
|
||||
F3 --> F4[User: generate UI in v0/Lovable]
|
||||
F4 --> G
|
||||
G --> H{Architecture suggests PRD changes?}
|
||||
H -->|Yes| I[pm: update prd.md]
|
||||
H -->|No| J[po: validate all artifacts]
|
||||
I --> J
|
||||
J --> K{PO finds issues?}
|
||||
K -->|Yes| L[Return to relevant agent for fixes]
|
||||
K -->|No| M[Move to IDE Environment]
|
||||
L --> J
|
||||
B -.-> B1[Optional: brainstorming]
|
||||
B -.-> B2[Optional: market research]
|
||||
D -.-> D1[Optional: user research]
|
||||
E -.-> E1[Optional: technical research]
|
||||
|
||||
D --> N[pm: simple epic or story]
|
||||
N --> O[Move to IDE Environment]
|
||||
|
||||
C -.-> C1[Optional: brainstorming]
|
||||
C -.-> C2[Optional: market research]
|
||||
F -.-> F1[Optional: user research]
|
||||
G -.-> G1[Optional: technical research]
|
||||
D -.-> D1[Optional: brainstorming]
|
||||
|
||||
style M fill:#90EE90
|
||||
style O fill:#90EE90
|
||||
style F3 fill:#E6E6FA
|
||||
style F4 fill:#E6E6FA
|
||||
style K fill:#90EE90
|
||||
style D3 fill:#E6E6FA
|
||||
style D4 fill:#E6E6FA
|
||||
style B fill:#FFE4B5
|
||||
style C fill:#FFE4B5
|
||||
style D fill:#FFE4B5
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style G fill:#FFE4B5
|
||||
style D fill:#FFB6C1
|
||||
style N fill:#FFB6C1
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
when_to_use:
|
||||
- Building production-ready applications
|
||||
- Multiple team members will be involved
|
||||
- Complex feature requirements (4+ stories)
|
||||
- Complex feature requirements
|
||||
- Need comprehensive documentation
|
||||
- Long-term maintenance expected
|
||||
- Enterprise or customer-facing applications
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Building prototypes or MVPs
|
||||
- Solo developer or small team
|
||||
- Simple requirements (1-3 stories)
|
||||
- Quick experiments or proof-of-concepts
|
||||
- Short-term or throwaway projects
|
||||
- Learning or educational projects
|
||||
|
||||
handoff_prompts:
|
||||
# Complex sequence prompts
|
||||
analyst_to_pm: "Project brief is complete. Save it as docs/project-brief.md in your project, then create the PRD."
|
||||
pm_to_ux: "PRD is ready. Save it as docs/prd.md in your project, then create the UI/UX specification."
|
||||
ux_to_architect: "UI/UX spec complete. Save it as docs/front-end-spec.md in your project, then create the fullstack architecture."
|
||||
@@ -170,8 +128,4 @@ workflow:
|
||||
architect_to_pm: "Please update the PRD with the suggested story changes, then re-export the complete prd.md to docs/."
|
||||
updated_to_po: "All documents ready in docs/ folder. Please validate all artifacts for consistency."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
complex_complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
# Simple sequence prompts
|
||||
simple_analyst_to_pm: "Focused project brief complete. Save it as docs/project-brief.md, then create simple epic or story for rapid development."
|
||||
simple_complete: "Simple project defined. Move to IDE environment to begin development."
|
||||
complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
@@ -13,8 +13,7 @@ workflow:
|
||||
- api-prototype
|
||||
- simple-service
|
||||
|
||||
# For Complex Services (Production APIs, Multiple Endpoints)
|
||||
complex_service_sequence:
|
||||
sequence:
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
@@ -54,65 +53,33 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple Services (Simple APIs, Single Purpose Services)
|
||||
simple_service_sequence:
|
||||
- step: service_scope
|
||||
action: assess complexity
|
||||
notes: "First, assess if this needs full planning (use complex_service_sequence) or can be a simple API/service."
|
||||
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
- brainstorming_session
|
||||
notes: "Creates focused project brief for simple service. SAVE OUTPUT: Copy final project-brief.md to your project's docs/ folder."
|
||||
|
||||
- agent: pm
|
||||
creates: simple_epic OR single_story
|
||||
uses: create-epic OR create-story
|
||||
requires: project-brief.md
|
||||
notes: "Create simple epic or story for API endpoints instead of full PRD for rapid development."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "Simple service defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: Service Development] --> B{Service Complexity?}
|
||||
B -->|Complex/Production| C[analyst: project-brief.md]
|
||||
B -->|Simple/Prototype| D[analyst: focused project-brief.md]
|
||||
A[Start: Service Development] --> B[analyst: project-brief.md]
|
||||
B --> C[pm: prd.md]
|
||||
C --> D[architect: architecture.md]
|
||||
D --> E{Architecture suggests PRD changes?}
|
||||
E -->|Yes| F[pm: update prd.md]
|
||||
E -->|No| G[po: validate all artifacts]
|
||||
F --> G
|
||||
G --> H{PO finds issues?}
|
||||
H -->|Yes| I[Return to relevant agent for fixes]
|
||||
H -->|No| J[Move to IDE Environment]
|
||||
I --> G
|
||||
|
||||
C --> E[pm: prd.md]
|
||||
E --> F[architect: architecture.md]
|
||||
F --> G{Architecture suggests PRD changes?}
|
||||
G -->|Yes| H[pm: update prd.md]
|
||||
G -->|No| I[po: validate all artifacts]
|
||||
H --> I
|
||||
I --> J{PO finds issues?}
|
||||
J -->|Yes| K[Return to relevant agent for fixes]
|
||||
J -->|No| L[Move to IDE Environment]
|
||||
K --> I
|
||||
B -.-> B1[Optional: brainstorming]
|
||||
B -.-> B2[Optional: market research]
|
||||
D -.-> D1[Optional: technical research]
|
||||
|
||||
D --> M[pm: simple epic or story]
|
||||
M --> N[Move to IDE Environment]
|
||||
|
||||
C -.-> C1[Optional: brainstorming]
|
||||
C -.-> C2[Optional: market research]
|
||||
F -.-> F1[Optional: technical research]
|
||||
D -.-> D1[Optional: brainstorming]
|
||||
|
||||
style L fill:#90EE90
|
||||
style N fill:#90EE90
|
||||
style J fill:#90EE90
|
||||
style B fill:#FFE4B5
|
||||
style C fill:#FFE4B5
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style D fill:#FFB6C1
|
||||
style M fill:#FFB6C1
|
||||
style D fill:#FFE4B5
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
when_to_use:
|
||||
- Building production APIs or microservices
|
||||
- Multiple endpoints and complex business logic
|
||||
- Need comprehensive documentation and testing
|
||||
@@ -120,24 +87,11 @@ workflow:
|
||||
- Long-term maintenance expected
|
||||
- Enterprise or external-facing APIs
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Building simple APIs or single-purpose services
|
||||
- Few endpoints with straightforward logic
|
||||
- Prototyping or proof-of-concept APIs
|
||||
- Solo developer or small team
|
||||
- Internal tools or utilities
|
||||
- Learning or experimental projects
|
||||
|
||||
handoff_prompts:
|
||||
# Complex sequence prompts
|
||||
analyst_to_pm: "Project brief is complete. Save it as docs/project-brief.md in your project, then create the PRD."
|
||||
pm_to_architect: "PRD is ready. Save it as docs/prd.md in your project, then create the service architecture."
|
||||
architect_review: "Architecture complete. Save it as docs/architecture.md. Do you suggest any changes to the PRD stories or need new stories added?"
|
||||
architect_to_pm: "Please update the PRD with the suggested story changes, then re-export the complete prd.md to docs/."
|
||||
updated_to_po: "All documents ready in docs/ folder. Please validate all artifacts for consistency."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
complex_complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
# Simple sequence prompts
|
||||
simple_analyst_to_pm: "Focused project brief complete. Save it as docs/project-brief.md, then create simple epic or story for API development."
|
||||
simple_complete: "Simple service defined. Move to IDE environment to begin development."
|
||||
complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
@@ -13,8 +13,7 @@ workflow:
|
||||
- ui-prototype
|
||||
- simple-interface
|
||||
|
||||
# For Complex UIs (Production Apps, Multiple Views)
|
||||
complex_ui_sequence:
|
||||
sequence:
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
@@ -73,74 +72,42 @@ workflow:
|
||||
action: move_to_ide
|
||||
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
# For Simple UIs (Simple Interfaces, Few Components)
|
||||
simple_ui_sequence:
|
||||
- step: ui_scope
|
||||
action: assess complexity
|
||||
notes: "First, assess if this needs full planning (use complex_ui_sequence) or can be a simple interface."
|
||||
|
||||
- agent: analyst
|
||||
creates: project-brief.md
|
||||
optional_steps:
|
||||
- brainstorming_session
|
||||
notes: "Creates focused project brief for simple UI. SAVE OUTPUT: Copy final project-brief.md to your project's docs/ folder."
|
||||
|
||||
- agent: ux-expert
|
||||
creates: simple_wireframes OR quick_spec
|
||||
uses: create-epic OR create-story
|
||||
requires: project-brief.md
|
||||
notes: "Create simple wireframes and component list instead of full UI/UX spec for rapid development."
|
||||
|
||||
- workflow_end:
|
||||
action: move_to_ide
|
||||
notes: "Simple UI defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
||||
|
||||
flow_diagram: |
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Start: UI Development] --> B{UI Complexity?}
|
||||
B -->|Complex/Production| C[analyst: project-brief.md]
|
||||
B -->|Simple/Prototype| D[analyst: focused project-brief.md]
|
||||
A[Start: UI Development] --> B[analyst: project-brief.md]
|
||||
B --> C[pm: prd.md]
|
||||
C --> D[ux-expert: front-end-spec.md]
|
||||
D --> D2{Generate v0 prompt?}
|
||||
D2 -->|Yes| D3[ux-expert: create v0 prompt]
|
||||
D2 -->|No| E[architect: front-end-architecture.md]
|
||||
D3 --> D4[User: generate UI in v0/Lovable]
|
||||
D4 --> E
|
||||
E --> F{Architecture suggests PRD changes?}
|
||||
F -->|Yes| G[pm: update prd.md]
|
||||
F -->|No| H[po: validate all artifacts]
|
||||
G --> H
|
||||
H --> I{PO finds issues?}
|
||||
I -->|Yes| J[Return to relevant agent for fixes]
|
||||
I -->|No| K[Move to IDE Environment]
|
||||
J --> H
|
||||
|
||||
C --> E[pm: prd.md]
|
||||
E --> F[ux-expert: front-end-spec.md]
|
||||
F --> F2{Generate v0 prompt?}
|
||||
F2 -->|Yes| F3[ux-expert: create v0 prompt]
|
||||
F2 -->|No| G[architect: front-end-architecture.md]
|
||||
F3 --> F4[User: generate UI in v0/Lovable]
|
||||
F4 --> G
|
||||
G --> H{Architecture suggests PRD changes?}
|
||||
H -->|Yes| I[pm: update prd.md]
|
||||
H -->|No| J[po: validate all artifacts]
|
||||
I --> J
|
||||
J --> K{PO finds issues?}
|
||||
K -->|Yes| L[Return to relevant agent for fixes]
|
||||
K -->|No| M[Move to IDE Environment]
|
||||
L --> J
|
||||
B -.-> B1[Optional: brainstorming]
|
||||
B -.-> B2[Optional: market research]
|
||||
D -.-> D1[Optional: user research]
|
||||
E -.-> E1[Optional: technical research]
|
||||
|
||||
D --> N[ux-expert: simple wireframes]
|
||||
N --> O[Move to IDE Environment]
|
||||
|
||||
C -.-> C1[Optional: brainstorming]
|
||||
C -.-> C2[Optional: market research]
|
||||
F -.-> F1[Optional: user research]
|
||||
G -.-> G1[Optional: technical research]
|
||||
D -.-> D1[Optional: brainstorming]
|
||||
|
||||
style M fill:#90EE90
|
||||
style O fill:#90EE90
|
||||
style F3 fill:#E6E6FA
|
||||
style F4 fill:#E6E6FA
|
||||
style K fill:#90EE90
|
||||
style D3 fill:#E6E6FA
|
||||
style D4 fill:#E6E6FA
|
||||
style B fill:#FFE4B5
|
||||
style C fill:#FFE4B5
|
||||
style D fill:#FFE4B5
|
||||
style E fill:#FFE4B5
|
||||
style F fill:#FFE4B5
|
||||
style G fill:#FFE4B5
|
||||
style D fill:#FFB6C1
|
||||
style N fill:#FFB6C1
|
||||
```
|
||||
|
||||
decision_guidance:
|
||||
use_complex_sequence_when:
|
||||
when_to_use:
|
||||
- Building production frontend applications
|
||||
- Multiple views/pages with complex interactions
|
||||
- Need comprehensive UI/UX design and testing
|
||||
@@ -148,16 +115,7 @@ workflow:
|
||||
- Long-term maintenance expected
|
||||
- Customer-facing applications
|
||||
|
||||
use_simple_sequence_when:
|
||||
- Building simple interfaces or prototypes
|
||||
- Few views with straightforward interactions
|
||||
- Internal tools or admin interfaces
|
||||
- Solo developer or small team
|
||||
- Quick experiments or proof-of-concepts
|
||||
- Learning or educational projects
|
||||
|
||||
handoff_prompts:
|
||||
# Complex sequence prompts
|
||||
analyst_to_pm: "Project brief is complete. Save it as docs/project-brief.md in your project, then create the PRD."
|
||||
pm_to_ux: "PRD is ready. Save it as docs/prd.md in your project, then create the UI/UX specification."
|
||||
ux_to_architect: "UI/UX spec complete. Save it as docs/front-end-spec.md in your project, then create the frontend architecture."
|
||||
@@ -165,8 +123,4 @@ workflow:
|
||||
architect_to_pm: "Please update the PRD with the suggested story changes, then re-export the complete prd.md to docs/."
|
||||
updated_to_po: "All documents ready in docs/ folder. Please validate all artifacts for consistency."
|
||||
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
||||
complex_complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
# Simple sequence prompts
|
||||
simple_analyst_to_ux: "Focused project brief complete. Save it as docs/project-brief.md, then create simple wireframes for rapid development."
|
||||
simple_complete: "Simple UI defined. Move to IDE environment to begin development."
|
||||
complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
||||
|
||||
120
dist/agents/architect.txt
vendored
120
dist/agents/architect.txt
vendored
@@ -2015,7 +2015,7 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
### Repository Structure
|
||||
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice:
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
|
||||
|
||||
1. For modern fullstack apps, monorepo is often preferred
|
||||
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
||||
@@ -2040,9 +2040,9 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
Use appropriate diagram type for clarity.]]
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{architecture_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Architectural Patterns
|
||||
|
||||
@@ -2153,7 +2153,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
model_interface;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -2177,7 +2177,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
interface User {
|
||||
id: string;
|
||||
email: string;
|
||||
@@ -2193,7 +2193,7 @@ interface UserProfile {
|
||||
bio?: string;
|
||||
preferences: Record<string, any>;
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -2231,16 +2231,16 @@ servers:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_rest_api^^
|
||||
|
||||
^^CONDITION: has_graphql_api^^
|
||||
|
||||
````graphql
|
||||
```graphql
|
||||
# GraphQL Schema
|
||||
{{graphql_schema}}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: has_graphql_api^^
|
||||
|
||||
@@ -2253,7 +2253,7 @@ servers:
|
||||
trpc_routers;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_trpc_api^^
|
||||
|
||||
@@ -2398,19 +2398,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Component Organization:**
|
||||
|
||||
`````text
|
||||
{{component_structure}}
|
||||
```text
|
||||
{{component_structure}}
|
||||
```
|
||||
|
||||
**Component Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
component_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### State Management Architecture
|
||||
|
||||
@@ -2424,7 +2424,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
state_structure;
|
||||
}
|
||||
}
|
||||
`````
|
||||
```
|
||||
|
||||
**State Management Patterns:**
|
||||
|
||||
@@ -2439,17 +2439,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```text
|
||||
{{route_structure}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Protected Route Pattern:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
protected_route_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Frontend Services Layer
|
||||
|
||||
@@ -2463,17 +2463,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
api_client_setup;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Service Example:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
service_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Backend Architecture
|
||||
|
||||
@@ -2488,11 +2488,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
^^CONDITION: serverless^^
|
||||
**Function Organization:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{function_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Function Template:**
|
||||
|
||||
@@ -2502,26 +2502,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
function_template;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: serverless^^
|
||||
|
||||
^^CONDITION: traditional_server^^
|
||||
**Controller/Route Organization:**
|
||||
|
||||
`````text
|
||||
{{controller_structure}}
|
||||
```text
|
||||
{{controller_structure}}
|
||||
```
|
||||
|
||||
**Controller Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
controller_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: traditional_server^^
|
||||
|
||||
@@ -2533,17 +2533,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```sql
|
||||
{{database_schema}}
|
||||
`````
|
||||
```
|
||||
|
||||
**Data Access Layer:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
repository_pattern;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Authentication and Authorization
|
||||
|
||||
@@ -2553,17 +2553,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```mermaid
|
||||
{{auth_flow_diagram}}
|
||||
````
|
||||
```
|
||||
|
||||
**Middleware/Guards:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
auth_middleware;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Unified Project Structure
|
||||
|
||||
@@ -2623,7 +2623,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
├── package.json # Root package.json
|
||||
├── {{monorepo_config}} # Monorepo configuration
|
||||
└── README.md
|
||||
````
|
||||
```
|
||||
|
||||
@{example: vercel_structure}
|
||||
apps/
|
||||
@@ -2645,19 +2645,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Prerequisites:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
{{prerequisites_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Initial Setup:**
|
||||
|
||||
```bash
|
||||
{{setup_commands}}
|
||||
````
|
||||
```
|
||||
|
||||
**Development Commands:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
# Start all services
|
||||
{{start_all_command}}
|
||||
|
||||
@@ -2669,7 +2669,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Run tests
|
||||
{{test_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Environment Configuration
|
||||
|
||||
@@ -2684,7 +2684,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Shared
|
||||
{{shared_env_vars}}
|
||||
````
|
||||
```
|
||||
|
||||
## Deployment Architecture
|
||||
|
||||
@@ -2707,9 +2707,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### CI/CD Pipeline
|
||||
|
||||
````yaml
|
||||
```yaml
|
||||
'[object Object]': null
|
||||
```text
|
||||
```
|
||||
|
||||
### Environments
|
||||
|
||||
@@ -2767,7 +2767,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Testing Pyramid
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
E2E Tests
|
||||
/ \
|
||||
@@ -2776,17 +2776,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
/ \
|
||||
Frontend Unit Backend Unit
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
### Test Organization
|
||||
|
||||
**Frontend Tests:**
|
||||
|
||||
```
|
||||
```text
|
||||
|
||||
{{frontend_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Backend Tests:**
|
||||
|
||||
@@ -2794,15 +2794,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
{{backend_test_structure}}
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Tests:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{e2e_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### Test Examples
|
||||
|
||||
@@ -2814,17 +2814,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
frontend_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Backend API Test:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
backend_test_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Test:**
|
||||
|
||||
@@ -2834,7 +2834,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
e2e_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Coding Standards
|
||||
|
||||
@@ -2875,9 +2875,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Error Flow
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{error_flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Error Response Format
|
||||
|
||||
@@ -2891,17 +2891,17 @@ interface ApiError {
|
||||
requestId: string;
|
||||
};
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
### Frontend Error Handling
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
frontend_error_handler;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Backend Error Handling
|
||||
|
||||
@@ -2911,7 +2911,7 @@ interface ApiError {
|
||||
backend_error_handler;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Monitoring and Observability
|
||||
|
||||
|
||||
136
dist/agents/bmad-master.txt
vendored
136
dist/agents/bmad-master.txt
vendored
@@ -2137,7 +2137,7 @@ You are now operating as a Documentation Indexer. Your goal is to ensure all doc
|
||||
|
||||
The index should be organized as follows:
|
||||
|
||||
`````markdown
|
||||
```markdown
|
||||
# Documentation Index
|
||||
|
||||
## Root Documents
|
||||
@@ -2170,7 +2170,7 @@ Documents within the `another-folder/` directory:
|
||||
|
||||
Description of nested document.
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### Index Entry Format
|
||||
|
||||
@@ -2180,10 +2180,7 @@ Each entry should follow this format:
|
||||
### [Document Title](relative/path/to/file.md)
|
||||
|
||||
Brief description of the document's purpose and contents.
|
||||
````
|
||||
`````
|
||||
|
||||
````
|
||||
```
|
||||
|
||||
### Rules of Operation
|
||||
|
||||
@@ -2261,7 +2258,6 @@ Please provide:
|
||||
5. Whether to include hidden files/folders (starting with `.`)
|
||||
|
||||
Would you like to proceed with documentation indexing? Please provide the required input above.
|
||||
````
|
||||
==================== END: tasks#index-docs ====================
|
||||
|
||||
==================== START: tasks#shard-doc ====================
|
||||
@@ -4607,7 +4603,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
|
||||
|
||||
```mermaid
|
||||
{{flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Edge Cases & Error Handling:**
|
||||
|
||||
@@ -4974,7 +4970,7 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
### Repository Structure
|
||||
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice:
|
||||
[[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
|
||||
|
||||
1. For modern fullstack apps, monorepo is often preferred
|
||||
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
||||
@@ -4999,9 +4995,9 @@ Document the choice and key services that will be used.]]
|
||||
|
||||
Use appropriate diagram type for clarity.]]
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{architecture_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Architectural Patterns
|
||||
|
||||
@@ -5112,7 +5108,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
model_interface;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -5136,7 +5132,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
interface User {
|
||||
id: string;
|
||||
email: string;
|
||||
@@ -5152,7 +5148,7 @@ interface UserProfile {
|
||||
bio?: string;
|
||||
preferences: Record<string, any>;
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**Relationships:**
|
||||
|
||||
@@ -5190,16 +5186,16 @@ servers:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_rest_api^^
|
||||
|
||||
^^CONDITION: has_graphql_api^^
|
||||
|
||||
````graphql
|
||||
```graphql
|
||||
# GraphQL Schema
|
||||
{{graphql_schema}}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: has_graphql_api^^
|
||||
|
||||
@@ -5212,7 +5208,7 @@ servers:
|
||||
trpc_routers;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: has_trpc_api^^
|
||||
|
||||
@@ -5357,19 +5353,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Component Organization:**
|
||||
|
||||
`````text
|
||||
{{component_structure}}
|
||||
```text
|
||||
{{component_structure}}
|
||||
```
|
||||
|
||||
**Component Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
component_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### State Management Architecture
|
||||
|
||||
@@ -5383,7 +5379,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
state_structure;
|
||||
}
|
||||
}
|
||||
`````
|
||||
```
|
||||
|
||||
**State Management Patterns:**
|
||||
|
||||
@@ -5398,17 +5394,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```text
|
||||
{{route_structure}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Protected Route Pattern:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
protected_route_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Frontend Services Layer
|
||||
|
||||
@@ -5422,17 +5418,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
api_client_setup;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Service Example:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
service_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Backend Architecture
|
||||
|
||||
@@ -5447,11 +5443,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
^^CONDITION: serverless^^
|
||||
**Function Organization:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{function_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Function Template:**
|
||||
|
||||
@@ -5461,26 +5457,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
function_template;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
^^/CONDITION: serverless^^
|
||||
|
||||
^^CONDITION: traditional_server^^
|
||||
**Controller/Route Organization:**
|
||||
|
||||
`````text
|
||||
{{controller_structure}}
|
||||
```text
|
||||
{{controller_structure}}
|
||||
```
|
||||
|
||||
**Controller Template:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
controller_template;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
^^/CONDITION: traditional_server^^
|
||||
|
||||
@@ -5492,17 +5488,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```sql
|
||||
{{database_schema}}
|
||||
`````
|
||||
```
|
||||
|
||||
**Data Access Layer:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
repository_pattern;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Authentication and Authorization
|
||||
|
||||
@@ -5512,17 +5508,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
```mermaid
|
||||
{{auth_flow_diagram}}
|
||||
````
|
||||
```
|
||||
|
||||
**Middleware/Guards:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
auth_middleware;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
## Unified Project Structure
|
||||
|
||||
@@ -5582,7 +5578,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
├── package.json # Root package.json
|
||||
├── {{monorepo_config}} # Monorepo configuration
|
||||
└── README.md
|
||||
````
|
||||
```
|
||||
|
||||
@{example: vercel_structure}
|
||||
apps/
|
||||
@@ -5604,19 +5600,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
**Prerequisites:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
{{prerequisites_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Initial Setup:**
|
||||
|
||||
```bash
|
||||
{{setup_commands}}
|
||||
````
|
||||
```
|
||||
|
||||
**Development Commands:**
|
||||
|
||||
````bash
|
||||
```bash
|
||||
# Start all services
|
||||
{{start_all_command}}
|
||||
|
||||
@@ -5628,7 +5624,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Run tests
|
||||
{{test_commands}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Environment Configuration
|
||||
|
||||
@@ -5643,7 +5639,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
# Shared
|
||||
{{shared_env_vars}}
|
||||
````
|
||||
```
|
||||
|
||||
## Deployment Architecture
|
||||
|
||||
@@ -5666,9 +5662,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### CI/CD Pipeline
|
||||
|
||||
````yaml
|
||||
```yaml
|
||||
'[object Object]': null
|
||||
```text
|
||||
```
|
||||
|
||||
### Environments
|
||||
|
||||
@@ -5726,7 +5722,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Testing Pyramid
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
E2E Tests
|
||||
/ \
|
||||
@@ -5735,17 +5731,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
/ \
|
||||
Frontend Unit Backend Unit
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
### Test Organization
|
||||
|
||||
**Frontend Tests:**
|
||||
|
||||
```
|
||||
```text
|
||||
|
||||
{{frontend_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
**Backend Tests:**
|
||||
|
||||
@@ -5753,15 +5749,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
{{backend_test_structure}}
|
||||
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Tests:**
|
||||
|
||||
````
|
||||
```text
|
||||
|
||||
{{e2e_test_structure}}
|
||||
|
||||
````text
|
||||
```
|
||||
|
||||
### Test Examples
|
||||
|
||||
@@ -5773,17 +5769,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
frontend_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
**Backend API Test:**
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
backend_test_example;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
**E2E Test:**
|
||||
|
||||
@@ -5793,7 +5789,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
e2e_test_example;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Coding Standards
|
||||
|
||||
@@ -5834,9 +5830,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Error Flow
|
||||
|
||||
````mermaid
|
||||
```mermaid
|
||||
{{error_flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
### Error Response Format
|
||||
|
||||
@@ -5850,17 +5846,17 @@ interface ApiError {
|
||||
requestId: string;
|
||||
};
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
### Frontend Error Handling
|
||||
|
||||
````typescript
|
||||
```typescript
|
||||
{
|
||||
{
|
||||
frontend_error_handler;
|
||||
}
|
||||
}
|
||||
```text
|
||||
```
|
||||
|
||||
### Backend Error Handling
|
||||
|
||||
@@ -5870,7 +5866,7 @@ interface ApiError {
|
||||
backend_error_handler;
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
## Monitoring and Observability
|
||||
|
||||
@@ -6289,7 +6285,7 @@ These replace the standard elicitation options when working on market research d
|
||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
|
||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
||||
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
||||
@@ -6321,7 +6317,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||
|
||||
- Stories within each epic MUST be logically sequential
|
||||
- Each story should be a "vertical slice" delivering complete functionality
|
||||
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
||||
- No story should depend on work from a later story or epic
|
||||
- Identify and note any direct prerequisite stories
|
||||
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
||||
|
||||
121
dist/agents/bmad-orchestrator.txt
vendored
121
dist/agents/bmad-orchestrator.txt
vendored
@@ -63,72 +63,68 @@ persona:
|
||||
- When embodied, specialized persona's principles take precedence
|
||||
- Be explicit about active persona and current task
|
||||
- Always use numbered lists for choices
|
||||
- Process (*) commands immediately
|
||||
- Process commands starting with * immediately
|
||||
- Always remind users that commands require * prefix
|
||||
startup:
|
||||
- Announce: Hey! I'm BMad, your BMAD-METHOD orchestrator. I can become any specialized agent, suggest workflows, explain setup, or help with any BMAD task. Type *help for options.
|
||||
- Announce: Introduce yourself as the BMAD Orchestrator, explain you can coordinate agents and workflows
|
||||
- IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
|
||||
- Mention *help shows all available commands and options
|
||||
- Assess user goal against available agents and workflows in this bundle
|
||||
- If clear match to an agent's expertise, suggest transformation
|
||||
- If project-oriented, explore available workflows and guide selection
|
||||
- Load resources only when needed
|
||||
commands:
|
||||
- '*help" - Show commands/workflows/agents'
|
||||
- '*chat-mode" - Conversational mode with advanced-elicitation'
|
||||
- '*kb-mode" - Load knowledge base for full BMAD help'
|
||||
- '*status" - Show current context/agent/progress'
|
||||
- '*agent {name}" - Transform into agent (list if unspecified)'
|
||||
- '*exit" - Return to BMad or exit (confirm if exiting BMad)'
|
||||
- '*task {name}" - Run task (list if unspecified)'
|
||||
- '*workflow {type}" - Start/list workflows'
|
||||
- '*workflow-guidance" - Get help selecting the right workflow for your project'
|
||||
- '*checklist {name}" - Execute checklist (list if unspecified)'
|
||||
- '*yolo" - Toggle skip confirmations'
|
||||
- '*party-mode" - Group chat with all agents'
|
||||
- '*doc-out" - Output full document'
|
||||
help-format:
|
||||
- When *help is called, focus on agent capabilities and what each can do
|
||||
- List actual agent names with their specializations and deliverables
|
||||
- List actual workflow names with descriptions
|
||||
- DO NOT list individual tasks/checklists (these belong to specific agents)
|
||||
- Emphasize that users should switch to an agent to access its specific capabilities
|
||||
- Format examples:
|
||||
- "*agent game-designer: Game Design Specialist"
|
||||
- " Specializes in: Game concepts, mechanics, level design"
|
||||
- " Can create: Game design documents, level designs, game briefs"
|
||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||
- If project-oriented, suggest *workflow-guidance to explore options
|
||||
- Load resources only when needed - never pre-load
|
||||
commands: # All commands require * prefix when used (e.g., *help, *agent pm)
|
||||
help: Show this guide with available agents and workflows
|
||||
chat-mode: Start conversational mode for detailed assistance
|
||||
kb-mode: Load full BMAD knowledge base
|
||||
status: Show current context, active agent, and progress
|
||||
agent: Transform into a specialized agent (list if name not specified)
|
||||
exit: Return to BMad or exit session
|
||||
task: Run a specific task (list if name not specified)
|
||||
workflow: Start a specific workflow (list if name not specified)
|
||||
workflow-guidance: Get personalized help selecting the right workflow
|
||||
checklist: Execute a checklist (list if name not specified)
|
||||
yolo: Toggle skip confirmations mode
|
||||
party-mode: Group chat with all agents
|
||||
doc-out: Output full document
|
||||
help-display-template: |
|
||||
🎭 BMad Orchestrator - Your Gateway to Specialized Agents
|
||||
=== BMAD Orchestrator Commands ===
|
||||
All commands must start with * (asterisk)
|
||||
|
||||
I coordinate specialized agents for different tasks. Tell me what you need, and I'll connect you with the right expert!
|
||||
Core Commands:
|
||||
*help ............... Show this guide
|
||||
*chat-mode .......... Start conversational mode for detailed assistance
|
||||
*kb-mode ............ Load full BMAD knowledge base
|
||||
*status ............. Show current context, active agent, and progress
|
||||
*exit ............... Return to BMad or exit session
|
||||
|
||||
Orchestrator Commands:
|
||||
*help: Show this guide
|
||||
*chat-mode: Start conversational mode for detailed assistance
|
||||
*kb-mode: Load full BMAD knowledge base
|
||||
*status: Show current context, active agent, and progress
|
||||
*yolo: Toggle skip confirmations mode
|
||||
*party-mode: Group chat with all agents
|
||||
*doc-out: Output full document
|
||||
*exit: Return to BMad or exit session
|
||||
|
||||
Agent Management:
|
||||
*agent {name}: Transform into a specialized agent
|
||||
*task {name}: Run a specific task (when in an agent)
|
||||
*checklist {name}: Execute a checklist (when in an agent)
|
||||
Agent & Task Management:
|
||||
*agent [name] ....... Transform into specialized agent (list if no name)
|
||||
*task [name] ........ Run specific task (list if no name, requires agent)
|
||||
*checklist [name] ... Execute checklist (list if no name, requires agent)
|
||||
|
||||
Workflow Commands:
|
||||
*workflow {name}: Start a specific workflow directly
|
||||
*workflow-guidance: Get personalized help selecting the right workflow for your project
|
||||
*workflow [name] .... Start specific workflow (list if no name)
|
||||
*workflow-guidance .. Get personalized help selecting the right workflow
|
||||
|
||||
Available Specialist Agents:
|
||||
[For each agent in bundle, show:
|
||||
*agent {name}: {role/title}
|
||||
Specializes in: {key capabilities from agent's whenToUse}
|
||||
Can create: {list of documents/deliverables this agent produces}]
|
||||
Other Commands:
|
||||
*yolo ............... Toggle skip confirmations mode
|
||||
*party-mode ......... Group chat with all agents
|
||||
*doc-out ............ Output full document
|
||||
|
||||
Available Workflows:
|
||||
[For each workflow in bundle, show:
|
||||
*workflow {name}: {workflow description}]
|
||||
=== Available Specialist Agents ===
|
||||
[Dynamically list each agent in bundle with format:
|
||||
*agent {id}: {title}
|
||||
When to use: {whenToUse}
|
||||
Key deliverables: {main outputs/documents}]
|
||||
|
||||
💡 Tip: Each agent has their own tasks, templates, and checklists. Switch to an agent to see what they can do!
|
||||
=== Available Workflows ===
|
||||
[Dynamically list each workflow in bundle with format:
|
||||
*workflow {id}: {name}
|
||||
Purpose: {description}]
|
||||
|
||||
💡 Tip: Each agent has unique tasks, templates, and checklists. Switch to an agent to access their capabilities!
|
||||
|
||||
fuzzy-matching:
|
||||
- 85% confidence threshold
|
||||
- Show numbered list if unsure
|
||||
@@ -139,24 +135,17 @@ transformation:
|
||||
loading:
|
||||
- KB: Only for *kb-mode or BMAD questions
|
||||
- Agents: Only when transforming
|
||||
- 'Templates/Tasks: Only when executing'
|
||||
- Templates/Tasks: Only when executing
|
||||
- Always indicate loading
|
||||
workflow-guidance:
|
||||
- Discover available workflows in the bundle at runtime
|
||||
- Understand each workflow's purpose, options, and decision points
|
||||
- Ask clarifying questions based on the workflow's structure
|
||||
- Guide users through workflow selection when multiple options exist
|
||||
- For workflows with divergent paths (e.g., simple vs complex), help users choose the right path
|
||||
- For workflows with divergent paths, help users choose the right path
|
||||
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
||||
- Only recommend workflows that actually exist in the current bundle
|
||||
workflow-guidance-command:
|
||||
- When *workflow-guidance is called, start an interactive session
|
||||
- First, list all available workflows with brief descriptions
|
||||
- Ask about the user's project goals and constraints
|
||||
- Based on answers, recommend the most suitable workflow
|
||||
- If a workflow has multiple paths, help choose between them (e.g., complex vs simple project flow)
|
||||
- Explain what documents will be created and which agents will be involved
|
||||
- Offer to start the recommended workflow immediately
|
||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||
dependencies:
|
||||
tasks:
|
||||
- advanced-elicitation
|
||||
|
||||
469
dist/agents/pm.txt
vendored
469
dist/agents/pm.txt
vendored
@@ -89,7 +89,6 @@ dependencies:
|
||||
templates:
|
||||
- prd-tmpl
|
||||
- brownfield-prd-tmpl
|
||||
- simple-project-prd-tmpl
|
||||
checklists:
|
||||
- pm-checklist
|
||||
- change-checklist
|
||||
@@ -1265,7 +1264,7 @@ Document sharded successfully:
|
||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
|
||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
||||
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
||||
@@ -1297,7 +1296,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||
|
||||
- Stories within each epic MUST be logically sequential
|
||||
- Each story should be a "vertical slice" delivering complete functionality
|
||||
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
||||
- No story should depend on work from a later story or epic
|
||||
- Identify and note any direct prerequisite stories
|
||||
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
||||
@@ -1592,470 +1591,6 @@ so that {{benefit}}.
|
||||
<</REPEAT>>
|
||||
==================== END: templates#brownfield-prd-tmpl ====================
|
||||
|
||||
==================== START: templates#simple-project-prd-tmpl ====================
|
||||
# {{Project Name}} Product Requirements Document (PRD)
|
||||
|
||||
[[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
|
||||
|
||||
## Goals and Background Context
|
||||
|
||||
[[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
|
||||
|
||||
### Goals
|
||||
|
||||
[[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
|
||||
|
||||
### Background Context
|
||||
|
||||
[[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
|
||||
|
||||
### Change Log
|
||||
|
||||
[[LLM: Track document versions and changes]]
|
||||
|
||||
| Date | Version | Description | Author |
|
||||
| :--- | :------ | :---------- | :----- |
|
||||
|
||||
## Requirements
|
||||
|
||||
[[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
|
||||
|
||||
### Functional
|
||||
|
||||
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
|
||||
@{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
|
||||
|
||||
### Non Functional
|
||||
|
||||
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
|
||||
@{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
|
||||
|
||||
^^CONDITION: has_ui^^
|
||||
|
||||
## User Interface Design Goals
|
||||
|
||||
[[LLM: Capture high-level UI/UX vision to inform story creation and also generate a prompt for Lovable or V0 if the user would like either. Steps:
|
||||
|
||||
1. Pre-fill all subsections with educated guesses based on project context
|
||||
2. Present the complete rendered section to user
|
||||
3. Clearly let the user know where assumptions were made
|
||||
4. Ask targeted questions for unclear/missing elements or areas needing more specification
|
||||
5. This is NOT detailed UI spec - focus on product vision and user goals
|
||||
6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Overall UX Vision
|
||||
|
||||
### Key Interaction Paradigms
|
||||
|
||||
### Core Screens and Views
|
||||
|
||||
[[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
|
||||
|
||||
@{example}
|
||||
|
||||
- Login Screen
|
||||
- Main Dashboard
|
||||
- Item Detail Page
|
||||
- Settings Page
|
||||
@{/example}
|
||||
|
||||
### Accessibility: { None, WCAG, etc }
|
||||
|
||||
### Branding
|
||||
|
||||
[[LLM: Any known branding elements or style guides that must be incorporated?]]
|
||||
|
||||
@{example}
|
||||
|
||||
- Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
|
||||
- Attached is the full color pallet and tokens for our corporate branding.
|
||||
@{/example}
|
||||
|
||||
### Target Device and Platforms
|
||||
|
||||
@{example}
|
||||
"Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
|
||||
@{/example}
|
||||
|
||||
^^/CONDITION: has_ui^^
|
||||
|
||||
## Technical Assumptions
|
||||
|
||||
[[LLM: Gather technical decisions that will be used for this simple technical PRD that includes architecture decisions. Steps:
|
||||
|
||||
1. Check if `data#technical-preferences` or an attached `technical-preferences` file exists - use it to pre-populate choices
|
||||
2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
|
||||
3. For unknowns, offer guidance based on project goals and MVP scope
|
||||
4. Document ALL technical choices with rationale (why this choice fits the project)
|
||||
5. These become constraints for the Architect - be specific and complete
|
||||
6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
|
||||
|
||||
### Repository Structure: { Monorepo, Polyrepo, etc...}
|
||||
|
||||
### Service Architecture
|
||||
|
||||
[[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
|
||||
|
||||
## Testing requirements
|
||||
|
||||
[[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
|
||||
|
||||
### Additional Technical Assumptions and Requests
|
||||
|
||||
[[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
|
||||
|
||||
## Data Models
|
||||
|
||||
[[LLM: Define the core data models/entities that will be used in the front end (if there is one), core application or back end, and if both, shared between frontend and backend:
|
||||
|
||||
1. Review PRD requirements and identify key business entities
|
||||
2. For each model, explain its purpose and relationships
|
||||
3. Include key attributes and data types
|
||||
4. Show relationships between models
|
||||
5. Create TypeScript interfaces that can be shared
|
||||
6. Discuss design decisions with user
|
||||
|
||||
Create a clear conceptual model before moving to database schema.
|
||||
|
||||
After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
<<REPEAT: data_model>>
|
||||
|
||||
### {{model_name}}
|
||||
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
**Key Attributes:**
|
||||
|
||||
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
||||
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
````typescript
|
||||
{
|
||||
{
|
||||
model_interface;
|
||||
}
|
||||
}
|
||||
```text
|
||||
|
||||
**Relationships:**
|
||||
|
||||
- {{relationship_1}}
|
||||
- {{relationship_2}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: data_model}
|
||||
|
||||
### User
|
||||
|
||||
**Purpose:** Represents authenticated users in the system
|
||||
|
||||
**Key Attributes:**
|
||||
|
||||
- id: string - Unique identifier
|
||||
- email: string - User's email address
|
||||
- name: string - Display name
|
||||
- role: enum - User permission level
|
||||
- timestamps: Date - Created and updated times
|
||||
|
||||
**TypeScript Interface:**
|
||||
|
||||
```typescript
|
||||
interface User {
|
||||
id: string;
|
||||
email: string;
|
||||
name: string;
|
||||
role: "admin" | "user" | "guest";
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
profile?: UserProfile;
|
||||
}
|
||||
|
||||
interface UserProfile {
|
||||
avatarUrl?: string;
|
||||
bio?: string;
|
||||
preferences: Record<string, any>;
|
||||
}
|
||||
````
|
||||
|
||||
**Relationships:**
|
||||
|
||||
- Has many Posts (1:n)
|
||||
- Has one Profile (1:1)
|
||||
@{/example}
|
||||
|
||||
## REST API Spec
|
||||
|
||||
[[LLM: Based on the chosen API style from Tech Stack:
|
||||
|
||||
1. If REST API, create an OpenAPI 3.0 specification
|
||||
2. If GraphQL, provide the GraphQL schema
|
||||
3. If tRPC, show router definitions
|
||||
4. Include all endpoints from epics/stories
|
||||
5. Define request/response schemas based on data models
|
||||
6. Document authentication requirements
|
||||
7. Include example requests/responses
|
||||
|
||||
Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.]]
|
||||
|
||||
^^CONDITION: has_rest_api^^
|
||||
|
||||
````yml
|
||||
openapi: 3.0.0
|
||||
info:
|
||||
title:
|
||||
'[object Object]': null
|
||||
version:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
servers:
|
||||
- url:
|
||||
'[object Object]': null
|
||||
description:
|
||||
'[object Object]': null
|
||||
```text
|
||||
|
||||
^^/CONDITION: has_rest_api^^
|
||||
|
||||
^^CONDITION: has_graphql_api^^
|
||||
|
||||
```graphql
|
||||
# GraphQL Schema
|
||||
{{graphql_schema}}
|
||||
````
|
||||
|
||||
^^/CONDITION: has_graphql_api^^
|
||||
|
||||
^^CONDITION: has_trpc_api^^
|
||||
|
||||
```typescript
|
||||
// tRPC Router Definitions
|
||||
{
|
||||
{
|
||||
trpc_routers;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
^^/CONDITION: has_trpc_api^^
|
||||
|
||||
[[LLM: After presenting the API spec (or noting its absence if not applicable), apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## Components
|
||||
|
||||
[[LLM: Based on the architectural patterns, tech stack, and data models from above:
|
||||
|
||||
1. Identify major logical components/services across the fullstack
|
||||
2. Consider both frontend and backend components
|
||||
3. Define clear boundaries and interfaces between components
|
||||
4. For each component, specify:
|
||||
|
||||
- Primary responsibility
|
||||
- Key interfaces/APIs exposed
|
||||
- Dependencies on other components
|
||||
- Technology specifics based on tech stack choices
|
||||
|
||||
5. Create component diagrams where helpful
|
||||
6. After presenting all components, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
<<REPEAT: component>>
|
||||
|
||||
### {{component_name}}
|
||||
|
||||
**Responsibility:** {{component_description}}
|
||||
|
||||
**Key Interfaces:**
|
||||
|
||||
- {{interface_1}}
|
||||
- {{interface_2}}
|
||||
|
||||
**Dependencies:** {{dependencies}}
|
||||
|
||||
**Technology Stack:** {{component_tech_details}}
|
||||
<</REPEAT>>
|
||||
|
||||
### Component Diagrams
|
||||
|
||||
[[LLM: Create Mermaid diagrams to visualize component relationships. Options:
|
||||
|
||||
- C4 Container diagram for high-level view
|
||||
- Component diagram for detailed internal structure
|
||||
- Sequence diagrams for complex interactions
|
||||
Choose the most appropriate for clarity
|
||||
|
||||
After presenting the diagrams, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## External APIs
|
||||
|
||||
[[LLM: For each external service integration:
|
||||
|
||||
1. Identify APIs needed based on PRD requirements and component design
|
||||
2. If documentation URLs are unknown, ask user for specifics
|
||||
3. Document authentication methods and security considerations
|
||||
4. List specific endpoints that will be used
|
||||
5. Note any rate limits or usage constraints
|
||||
|
||||
If no external APIs are needed, state this explicitly and skip to next section.]]
|
||||
|
||||
^^CONDITION: has_external_apis^^
|
||||
|
||||
<<REPEAT: external_api>>
|
||||
|
||||
### {{api_name}} API
|
||||
|
||||
- **Purpose:** {{api_purpose}}
|
||||
- **Documentation:** {{api_docs_url}}
|
||||
- **Base URL(s):** {{api_base_url}}
|
||||
- **Authentication:** {{auth_method}}
|
||||
- **Rate Limits:** {{rate_limits}}
|
||||
|
||||
**Key Endpoints Used:**
|
||||
<<REPEAT: endpoint>>
|
||||
|
||||
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
||||
<</REPEAT>>
|
||||
|
||||
**Integration Notes:** {{integration_considerations}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: external_api}
|
||||
|
||||
### Stripe API
|
||||
|
||||
- **Purpose:** Payment processing and subscription management
|
||||
- **Documentation:** https://stripe.com/docs/api
|
||||
- **Base URL(s):** `https://api.stripe.com/v1`
|
||||
- **Authentication:** Bearer token with secret key
|
||||
- **Rate Limits:** 100 requests per second
|
||||
|
||||
**Key Endpoints Used:**
|
||||
|
||||
- `POST /customers` - Create customer profiles
|
||||
- `POST /payment_intents` - Process payments
|
||||
- `POST /subscriptions` - Manage subscriptions
|
||||
@{/example}
|
||||
|
||||
^^/CONDITION: has_external_apis^^
|
||||
|
||||
[[LLM: After presenting external APIs (or noting their absence), apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
## Coding Standards
|
||||
|
||||
[[LLM: Define MINIMAL but CRITICAL standards for AI agents. Focus only on project-specific rules that prevent common mistakes. These will be used by dev agents.
|
||||
|
||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
||||
|
||||
### Critical Fullstack Rules
|
||||
|
||||
<<REPEAT: critical_rule>>
|
||||
|
||||
- **{{rule_name}}:** {{rule_description}}
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: critical_rules}
|
||||
|
||||
- **Type Sharing:** Always define types in packages/shared and import from there
|
||||
- **API Calls:** Never make direct HTTP calls - use the service layer
|
||||
- **Environment Variables:** Access only through config objects, never process.env directly
|
||||
- **Error Handling:** All API routes must use the standard error handler
|
||||
- **State Updates:** Never mutate state directly - use proper state management patterns
|
||||
@{/example}
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
| Element | Frontend | Backend | Example |
|
||||
| :-------------- | :------------------- | :--------- | :------------------ |
|
||||
| Components | PascalCase | - | `UserProfile.tsx` |
|
||||
| Hooks | camelCase with 'use' | - | `useAuth.ts` |
|
||||
| API Routes | - | kebab-case | `/api/user-profile` |
|
||||
| Database Tables | - | snake_case | `user_profiles` |
|
||||
|
||||
## Epics
|
||||
|
||||
[[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
|
||||
|
||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||
|
||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
||||
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
||||
- Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
|
||||
|
||||
<<REPEAT: epic_list>>
|
||||
|
||||
- Epic{{epic_number}} {{epic_title}}: {{short_goal}}
|
||||
|
||||
<</REPEAT>>
|
||||
|
||||
@{example: epic_list}
|
||||
|
||||
1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
|
||||
2. Core Business Entities: Create and manage primary domain objects with CRUD operations
|
||||
3. User Workflows & Interactions: Enable key user journeys and business processes
|
||||
4. Reporting & Analytics: Provide insights and data visualization for users
|
||||
|
||||
@{/example}
|
||||
|
||||
[[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
|
||||
|
||||
<<REPEAT: epic_details>>
|
||||
|
||||
## Epic {{epic_number}} {{epic_title}}
|
||||
|
||||
{{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
|
||||
|
||||
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||
|
||||
- Stories within each epic MUST be logically sequential
|
||||
- Each story should be a "vertical slice" delivering complete functionality
|
||||
- No story should depend on work from a later story or epic
|
||||
- Identify and note any direct prerequisite stories
|
||||
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
||||
- Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
|
||||
- Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
|
||||
- Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
|
||||
- If a story seems complex, break it down further as long as it can deliver a vertical slice
|
||||
- Each story should result in working, testable code before the agent's context window fills]]
|
||||
|
||||
<<REPEAT: story>>
|
||||
|
||||
### Story {{epic_number}}.{{story_number}} {{story_title}}
|
||||
|
||||
As a {{user_type}},
|
||||
I want {{action}},
|
||||
so that {{benefit}}.
|
||||
|
||||
#### Acceptance Criteria
|
||||
|
||||
[[LLM: Define clear, comprehensive, and testable acceptance criteria that:
|
||||
|
||||
- Precisely define what "done" means from a functional perspective
|
||||
- Are unambiguous and serve as basis for verification
|
||||
- Include any critical non-functional requirements from the PRD
|
||||
- Consider local testability for backend/data components
|
||||
- Specify UI/UX requirements and framework adherence where applicable
|
||||
- Avoid cross-cutting concerns that should be in other stories or PRD sections]]
|
||||
|
||||
<<REPEAT: criteria>>
|
||||
|
||||
- {{criterion number}}: {{criteria}}
|
||||
|
||||
<</REPEAT>>
|
||||
<</REPEAT>>
|
||||
<</REPEAT>>
|
||||
|
||||
## Next Steps
|
||||
|
||||
### Design Architect Prompt
|
||||
|
||||
[[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
|
||||
==================== END: templates#simple-project-prd-tmpl ====================
|
||||
|
||||
==================== START: checklists#pm-checklist ====================
|
||||
# Product Manager (PM) Requirements Checklist
|
||||
|
||||
|
||||
2
dist/agents/ux-expert.txt
vendored
2
dist/agents/ux-expert.txt
vendored
@@ -770,7 +770,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
|
||||
|
||||
```mermaid
|
||||
{{flow_diagram}}
|
||||
```text
|
||||
```
|
||||
|
||||
**Edge Cases & Error Handling:**
|
||||
|
||||
|
||||
@@ -99,6 +99,183 @@ dependencies:
|
||||
```
|
||||
==================== END: agents#game-designer ====================
|
||||
|
||||
==================== START: tasks#create-doc ====================
|
||||
# Create Document from Template Task
|
||||
|
||||
## Purpose
|
||||
|
||||
- Generate documents from any specified template following embedded instructions from the perspective of the selected agent persona
|
||||
|
||||
## Instructions
|
||||
|
||||
### 1. Identify Template and Context
|
||||
|
||||
- Determine which template to use (user-provided or list available for selection to user)
|
||||
|
||||
- Agent-specific templates are listed in the agent's dependencies under `templates`. For each template listed, consider it a document the agent can create. So if an agent has:
|
||||
|
||||
@{example}
|
||||
dependencies:
|
||||
templates: - prd-tmpl - architecture-tmpl
|
||||
@{/example}
|
||||
|
||||
You would offer to create "PRD" and "Architecture" documents when the user asks what you can help with.
|
||||
|
||||
- Gather all relevant inputs, or ask for them, or else rely on user providing necessary details to complete the document
|
||||
- Understand the document purpose and target audience
|
||||
|
||||
### 2. Determine Interaction Mode
|
||||
|
||||
Confirm with the user their preferred interaction style:
|
||||
|
||||
- **Incremental:** Work through chunks of the document.
|
||||
- **YOLO Mode:** Draft complete document making reasonable assumptions in one shot. (Can be entered also after starting incremental by just typing /yolo)
|
||||
|
||||
### 3. Execute Template
|
||||
|
||||
- Load specified template from `templates#*` or the /templates directory
|
||||
- Follow ALL embedded LLM instructions within the template
|
||||
- Process template markup according to `utils#template-format` conventions
|
||||
|
||||
### 4. Template Processing Rules
|
||||
|
||||
#### CRITICAL: Never display template markup, LLM instructions, or examples to users
|
||||
|
||||
- Replace all {{placeholders}} with actual content
|
||||
- Execute all [[LLM: instructions]] internally
|
||||
- Process `<<REPEAT>>` sections as needed
|
||||
- Evaluate ^^CONDITION^^ blocks and include only if applicable
|
||||
- Use @{examples} for guidance but never output them
|
||||
|
||||
### 5. Content Generation
|
||||
|
||||
- **Incremental Mode**: Present each major section for review before proceeding
|
||||
- **YOLO Mode**: Generate all sections, then review complete document with user
|
||||
- Apply any elicitation protocols specified in template
|
||||
- Incorporate user feedback and iterate as needed
|
||||
|
||||
### 6. Validation
|
||||
|
||||
If template specifies a checklist:
|
||||
|
||||
- Run the appropriate checklist against completed document
|
||||
- Document completion status for each item
|
||||
- Address any deficiencies found
|
||||
- Present validation summary to user
|
||||
|
||||
### 7. Final Presentation
|
||||
|
||||
- Present clean, formatted content only
|
||||
- Ensure all sections are complete
|
||||
- DO NOT truncate or summarize content
|
||||
- Begin directly with document content (no preamble)
|
||||
- Include any handoff prompts specified in template
|
||||
|
||||
## Important Notes
|
||||
|
||||
- Template markup is for AI processing only - never expose to users
|
||||
==================== END: tasks#create-doc ====================
|
||||
|
||||
==================== START: tasks#execute-checklist ====================
|
||||
# Checklist Validation Task
|
||||
|
||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||
|
||||
## Context
|
||||
|
||||
The BMAD Method uses various checklists to ensure quality and completeness of different artifacts. Each checklist contains embedded prompts and instructions to guide the LLM through thorough validation and advanced elicitation. The checklists automatically identify their required artifacts and guide the validation process.
|
||||
|
||||
## Available Checklists
|
||||
|
||||
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the bmad-core/checklists folder to select the appropriate one to run.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Initial Assessment**
|
||||
|
||||
- If user or the task being run provides a checklist name:
|
||||
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
||||
- If multiple matches found, ask user to clarify
|
||||
- Load the appropriate checklist from bmad-core/checklists/
|
||||
- If no checklist specified:
|
||||
- Ask the user which checklist they want to use
|
||||
- Present the available options from the files in the checklists folder
|
||||
- Confirm if they want to work through the checklist:
|
||||
- Section by section (interactive mode - very time consuming)
|
||||
- All at once (YOLO mode - recommended for checklists, there will be a summary of sections at the end to discuss)
|
||||
|
||||
2. **Document and Artifact Gathering**
|
||||
|
||||
- Each checklist will specify its required documents/artifacts at the beginning
|
||||
- Follow the checklist's specific instructions for what to gather, generally a file can be resolved in the docs folder, if not or unsure, halt and ask or confirm with the user.
|
||||
|
||||
3. **Checklist Processing**
|
||||
|
||||
If in interactive mode:
|
||||
|
||||
- Work through each section of the checklist one at a time
|
||||
- For each section:
|
||||
- Review all items in the section following instructions for that section embedded in the checklist
|
||||
- Check each item against the relevant documentation or artifacts as appropriate
|
||||
- Present summary of findings for that section, highlighting warnings, errors and non applicable items (rationale for non-applicability).
|
||||
- Get user confirmation before proceeding to next section or if any thing major do we need to halt and take corrective action
|
||||
|
||||
If in YOLO mode:
|
||||
|
||||
- Process all sections at once
|
||||
- Create a comprehensive report of all findings
|
||||
- Present the complete analysis to the user
|
||||
|
||||
4. **Validation Approach**
|
||||
|
||||
For each checklist item:
|
||||
|
||||
- Read and understand the requirement
|
||||
- Look for evidence in the documentation that satisfies the requirement
|
||||
- Consider both explicit mentions and implicit coverage
|
||||
- Aside from this, follow all checklist llm instructions
|
||||
- Mark items as:
|
||||
- ✅ PASS: Requirement clearly met
|
||||
- ❌ FAIL: Requirement not met or insufficient coverage
|
||||
- ⚠️ PARTIAL: Some aspects covered but needs improvement
|
||||
- N/A: Not applicable to this case
|
||||
|
||||
5. **Section Analysis**
|
||||
|
||||
For each section:
|
||||
|
||||
- think step by step to calculate pass rate
|
||||
- Identify common themes in failed items
|
||||
- Provide specific recommendations for improvement
|
||||
- In interactive mode, discuss findings with user
|
||||
- Document any user decisions or explanations
|
||||
|
||||
6. **Final Report**
|
||||
|
||||
Prepare a summary that includes:
|
||||
|
||||
- Overall checklist completion status
|
||||
- Pass rates by section
|
||||
- List of failed items with context
|
||||
- Specific recommendations for improvement
|
||||
- Any sections or items marked as N/A with justification
|
||||
|
||||
## Checklist Execution Methodology
|
||||
|
||||
Each checklist now contains embedded LLM prompts and instructions that will:
|
||||
|
||||
1. **Guide thorough thinking** - Prompts ensure deep analysis of each section
|
||||
2. **Request specific artifacts** - Clear instructions on what documents/access is needed
|
||||
3. **Provide contextual guidance** - Section-specific prompts for better validation
|
||||
4. **Generate comprehensive reports** - Final summary with detailed findings
|
||||
|
||||
The LLM will:
|
||||
|
||||
- Execute the complete checklist validation
|
||||
- Present a final report with pass/fail rates and key findings
|
||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||
==================== END: tasks#execute-checklist ====================
|
||||
|
||||
==================== START: tasks#game-design-brainstorming ====================
|
||||
# Game Design Brainstorming Techniques Task
|
||||
|
||||
@@ -392,6 +569,310 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
||||
- Plan for iteration based on player feedback
|
||||
==================== END: tasks#game-design-brainstorming ====================
|
||||
|
||||
==================== START: tasks#create-deep-research-prompt ====================
|
||||
# Create Deep Research Prompt Task
|
||||
|
||||
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
||||
|
||||
## Purpose
|
||||
|
||||
Generate well-structured research prompts that:
|
||||
|
||||
- Define clear research objectives and scope
|
||||
- Specify appropriate research methodologies
|
||||
- Outline expected deliverables and formats
|
||||
- Guide systematic investigation of complex topics
|
||||
- Ensure actionable insights are captured
|
||||
|
||||
## Research Type Selection
|
||||
|
||||
[[LLM: First, help the user select the most appropriate research focus based on their needs and any input documents they've provided.]]
|
||||
|
||||
### 1. Research Focus Options
|
||||
|
||||
Present these numbered options to the user:
|
||||
|
||||
1. **Product Validation Research**
|
||||
|
||||
- Validate product hypotheses and market fit
|
||||
- Test assumptions about user needs and solutions
|
||||
- Assess technical and business feasibility
|
||||
- Identify risks and mitigation strategies
|
||||
|
||||
2. **Market Opportunity Research**
|
||||
|
||||
- Analyze market size and growth potential
|
||||
- Identify market segments and dynamics
|
||||
- Assess market entry strategies
|
||||
- Evaluate timing and market readiness
|
||||
|
||||
3. **User & Customer Research**
|
||||
|
||||
- Deep dive into user personas and behaviors
|
||||
- Understand jobs-to-be-done and pain points
|
||||
- Map customer journeys and touchpoints
|
||||
- Analyze willingness to pay and value perception
|
||||
|
||||
4. **Competitive Intelligence Research**
|
||||
|
||||
- Detailed competitor analysis and positioning
|
||||
- Feature and capability comparisons
|
||||
- Business model and strategy analysis
|
||||
- Identify competitive advantages and gaps
|
||||
|
||||
5. **Technology & Innovation Research**
|
||||
|
||||
- Assess technology trends and possibilities
|
||||
- Evaluate technical approaches and architectures
|
||||
- Identify emerging technologies and disruptions
|
||||
- Analyze build vs. buy vs. partner options
|
||||
|
||||
6. **Industry & Ecosystem Research**
|
||||
|
||||
- Map industry value chains and dynamics
|
||||
- Identify key players and relationships
|
||||
- Analyze regulatory and compliance factors
|
||||
- Understand partnership opportunities
|
||||
|
||||
7. **Strategic Options Research**
|
||||
|
||||
- Evaluate different strategic directions
|
||||
- Assess business model alternatives
|
||||
- Analyze go-to-market strategies
|
||||
- Consider expansion and scaling paths
|
||||
|
||||
8. **Risk & Feasibility Research**
|
||||
|
||||
- Identify and assess various risk factors
|
||||
- Evaluate implementation challenges
|
||||
- Analyze resource requirements
|
||||
- Consider regulatory and legal implications
|
||||
|
||||
9. **Custom Research Focus**
|
||||
[[LLM: Allow user to define their own specific research focus.]]
|
||||
- User-defined research objectives
|
||||
- Specialized domain investigation
|
||||
- Cross-functional research needs
|
||||
|
||||
### 2. Input Processing
|
||||
|
||||
[[LLM: Based on the selected research type and any provided inputs (project brief, brainstorming results, etc.), extract relevant context and constraints.]]
|
||||
|
||||
**If Project Brief provided:**
|
||||
|
||||
- Extract key product concepts and goals
|
||||
- Identify target users and use cases
|
||||
- Note technical constraints and preferences
|
||||
- Highlight uncertainties and assumptions
|
||||
|
||||
**If Brainstorming Results provided:**
|
||||
|
||||
- Synthesize main ideas and themes
|
||||
- Identify areas needing validation
|
||||
- Extract hypotheses to test
|
||||
- Note creative directions to explore
|
||||
|
||||
**If Market Research provided:**
|
||||
|
||||
- Build on identified opportunities
|
||||
- Deepen specific market insights
|
||||
- Validate initial findings
|
||||
- Explore adjacent possibilities
|
||||
|
||||
**If Starting Fresh:**
|
||||
|
||||
- Gather essential context through questions
|
||||
- Define the problem space
|
||||
- Clarify research objectives
|
||||
- Establish success criteria
|
||||
|
||||
## Process
|
||||
|
||||
### 3. Research Prompt Structure
|
||||
|
||||
[[LLM: Based on the selected research type and context, collaboratively develop a comprehensive research prompt with these components.]]
|
||||
|
||||
#### A. Research Objectives
|
||||
|
||||
[[LLM: Work with the user to articulate clear, specific objectives for the research.]]
|
||||
|
||||
- Primary research goal and purpose
|
||||
- Key decisions the research will inform
|
||||
- Success criteria for the research
|
||||
- Constraints and boundaries
|
||||
|
||||
#### B. Research Questions
|
||||
|
||||
[[LLM: Develop specific, actionable research questions organized by theme.]]
|
||||
|
||||
**Core Questions:**
|
||||
|
||||
- Central questions that must be answered
|
||||
- Priority ranking of questions
|
||||
- Dependencies between questions
|
||||
|
||||
**Supporting Questions:**
|
||||
|
||||
- Additional context-building questions
|
||||
- Nice-to-have insights
|
||||
- Future-looking considerations
|
||||
|
||||
#### C. Research Methodology
|
||||
|
||||
[[LLM: Specify appropriate research methods based on the type and objectives.]]
|
||||
|
||||
**Data Collection Methods:**
|
||||
|
||||
- Secondary research sources
|
||||
- Primary research approaches (if applicable)
|
||||
- Data quality requirements
|
||||
- Source credibility criteria
|
||||
|
||||
**Analysis Frameworks:**
|
||||
|
||||
- Specific frameworks to apply
|
||||
- Comparison criteria
|
||||
- Evaluation methodologies
|
||||
- Synthesis approaches
|
||||
|
||||
#### D. Output Requirements
|
||||
|
||||
[[LLM: Define how research findings should be structured and presented.]]
|
||||
|
||||
**Format Specifications:**
|
||||
|
||||
- Executive summary requirements
|
||||
- Detailed findings structure
|
||||
- Visual/tabular presentations
|
||||
- Supporting documentation
|
||||
|
||||
**Key Deliverables:**
|
||||
|
||||
- Must-have sections and insights
|
||||
- Decision-support elements
|
||||
- Action-oriented recommendations
|
||||
- Risk and uncertainty documentation
|
||||
|
||||
### 4. Prompt Generation
|
||||
|
||||
[[LLM: Synthesize all elements into a comprehensive, ready-to-use research prompt.]]
|
||||
|
||||
**Research Prompt Template:**
|
||||
|
||||
```markdown
|
||||
## Research Objective
|
||||
|
||||
[Clear statement of what this research aims to achieve]
|
||||
|
||||
## Background Context
|
||||
|
||||
[Relevant information from project brief, brainstorming, or other inputs]
|
||||
|
||||
## Research Questions
|
||||
|
||||
### Primary Questions (Must Answer)
|
||||
|
||||
1. [Specific, actionable question]
|
||||
2. [Specific, actionable question]
|
||||
...
|
||||
|
||||
### Secondary Questions (Nice to Have)
|
||||
|
||||
1. [Supporting question]
|
||||
2. [Supporting question]
|
||||
...
|
||||
|
||||
## Research Methodology
|
||||
|
||||
### Information Sources
|
||||
|
||||
- [Specific source types and priorities]
|
||||
|
||||
### Analysis Frameworks
|
||||
|
||||
- [Specific frameworks to apply]
|
||||
|
||||
### Data Requirements
|
||||
|
||||
- [Quality, recency, credibility needs]
|
||||
|
||||
## Expected Deliverables
|
||||
|
||||
### Executive Summary
|
||||
|
||||
- Key findings and insights
|
||||
- Critical implications
|
||||
- Recommended actions
|
||||
|
||||
### Detailed Analysis
|
||||
|
||||
[Specific sections needed based on research type]
|
||||
|
||||
### Supporting Materials
|
||||
|
||||
- Data tables
|
||||
- Comparison matrices
|
||||
- Source documentation
|
||||
|
||||
## Success Criteria
|
||||
|
||||
[How to evaluate if research achieved its objectives]
|
||||
|
||||
## Timeline and Priority
|
||||
|
||||
[If applicable, any time constraints or phasing]
|
||||
```
|
||||
|
||||
### 5. Review and Refinement
|
||||
|
||||
[[LLM: Present the draft research prompt for user review and refinement.]]
|
||||
|
||||
1. **Present Complete Prompt**
|
||||
|
||||
- Show the full research prompt
|
||||
- Explain key elements and rationale
|
||||
- Highlight any assumptions made
|
||||
|
||||
2. **Gather Feedback**
|
||||
|
||||
- Are the objectives clear and correct?
|
||||
- Do the questions address all concerns?
|
||||
- Is the scope appropriate?
|
||||
- Are output requirements sufficient?
|
||||
|
||||
3. **Refine as Needed**
|
||||
- Incorporate user feedback
|
||||
- Adjust scope or focus
|
||||
- Add missing elements
|
||||
- Clarify ambiguities
|
||||
|
||||
### 6. Next Steps Guidance
|
||||
|
||||
[[LLM: Provide clear guidance on how to use the research prompt.]]
|
||||
|
||||
**Execution Options:**
|
||||
|
||||
1. **Use with AI Research Assistant**: Provide this prompt to an AI model with research capabilities
|
||||
2. **Guide Human Research**: Use as a framework for manual research efforts
|
||||
3. **Hybrid Approach**: Combine AI and human research using this structure
|
||||
|
||||
**Integration Points:**
|
||||
|
||||
- How findings will feed into next phases
|
||||
- Which team members should review results
|
||||
- How to validate findings
|
||||
- When to revisit or expand research
|
||||
|
||||
## Important Notes
|
||||
|
||||
- The quality of the research prompt directly impacts the quality of insights gathered
|
||||
- Be specific rather than general in research questions
|
||||
- Consider both current state and future implications
|
||||
- Balance comprehensiveness with focus
|
||||
- Document assumptions and limitations clearly
|
||||
- Plan for iterative refinement based on initial findings
|
||||
==================== END: tasks#create-deep-research-prompt ====================
|
||||
|
||||
==================== START: tasks#advanced-elicitation ====================
|
||||
# Advanced Game Design Elicitation Task
|
||||
|
||||
|
||||
@@ -107,6 +107,106 @@ dependencies:
|
||||
```
|
||||
==================== END: agents#game-developer ====================
|
||||
|
||||
==================== START: tasks#execute-checklist ====================
|
||||
# Checklist Validation Task
|
||||
|
||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||
|
||||
## Context
|
||||
|
||||
The BMAD Method uses various checklists to ensure quality and completeness of different artifacts. Each checklist contains embedded prompts and instructions to guide the LLM through thorough validation and advanced elicitation. The checklists automatically identify their required artifacts and guide the validation process.
|
||||
|
||||
## Available Checklists
|
||||
|
||||
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the bmad-core/checklists folder to select the appropriate one to run.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Initial Assessment**
|
||||
|
||||
- If user or the task being run provides a checklist name:
|
||||
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
||||
- If multiple matches found, ask user to clarify
|
||||
- Load the appropriate checklist from bmad-core/checklists/
|
||||
- If no checklist specified:
|
||||
- Ask the user which checklist they want to use
|
||||
- Present the available options from the files in the checklists folder
|
||||
- Confirm if they want to work through the checklist:
|
||||
- Section by section (interactive mode - very time consuming)
|
||||
- All at once (YOLO mode - recommended for checklists, there will be a summary of sections at the end to discuss)
|
||||
|
||||
2. **Document and Artifact Gathering**
|
||||
|
||||
- Each checklist will specify its required documents/artifacts at the beginning
|
||||
- Follow the checklist's specific instructions for what to gather, generally a file can be resolved in the docs folder, if not or unsure, halt and ask or confirm with the user.
|
||||
|
||||
3. **Checklist Processing**
|
||||
|
||||
If in interactive mode:
|
||||
|
||||
- Work through each section of the checklist one at a time
|
||||
- For each section:
|
||||
- Review all items in the section following instructions for that section embedded in the checklist
|
||||
- Check each item against the relevant documentation or artifacts as appropriate
|
||||
- Present summary of findings for that section, highlighting warnings, errors and non applicable items (rationale for non-applicability).
|
||||
- Get user confirmation before proceeding to next section or if any thing major do we need to halt and take corrective action
|
||||
|
||||
If in YOLO mode:
|
||||
|
||||
- Process all sections at once
|
||||
- Create a comprehensive report of all findings
|
||||
- Present the complete analysis to the user
|
||||
|
||||
4. **Validation Approach**
|
||||
|
||||
For each checklist item:
|
||||
|
||||
- Read and understand the requirement
|
||||
- Look for evidence in the documentation that satisfies the requirement
|
||||
- Consider both explicit mentions and implicit coverage
|
||||
- Aside from this, follow all checklist llm instructions
|
||||
- Mark items as:
|
||||
- ✅ PASS: Requirement clearly met
|
||||
- ❌ FAIL: Requirement not met or insufficient coverage
|
||||
- ⚠️ PARTIAL: Some aspects covered but needs improvement
|
||||
- N/A: Not applicable to this case
|
||||
|
||||
5. **Section Analysis**
|
||||
|
||||
For each section:
|
||||
|
||||
- think step by step to calculate pass rate
|
||||
- Identify common themes in failed items
|
||||
- Provide specific recommendations for improvement
|
||||
- In interactive mode, discuss findings with user
|
||||
- Document any user decisions or explanations
|
||||
|
||||
6. **Final Report**
|
||||
|
||||
Prepare a summary that includes:
|
||||
|
||||
- Overall checklist completion status
|
||||
- Pass rates by section
|
||||
- List of failed items with context
|
||||
- Specific recommendations for improvement
|
||||
- Any sections or items marked as N/A with justification
|
||||
|
||||
## Checklist Execution Methodology
|
||||
|
||||
Each checklist now contains embedded LLM prompts and instructions that will:
|
||||
|
||||
1. **Guide thorough thinking** - Prompts ensure deep analysis of each section
|
||||
2. **Request specific artifacts** - Clear instructions on what documents/access is needed
|
||||
3. **Provide contextual guidance** - Section-specific prompts for better validation
|
||||
4. **Generate comprehensive reports** - Final summary with detailed findings
|
||||
|
||||
The LLM will:
|
||||
|
||||
- Execute the complete checklist validation
|
||||
- Present a final report with pass/fail rates and key findings
|
||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||
==================== END: tasks#execute-checklist ====================
|
||||
|
||||
==================== START: templates#game-architecture-tmpl ====================
|
||||
# {{Game Title}} Game Architecture Document
|
||||
|
||||
|
||||
@@ -289,6 +289,106 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
||||
This task ensures game development stories are immediately actionable and enable efficient AI-driven development of game features.
|
||||
==================== END: tasks#create-game-story ====================
|
||||
|
||||
==================== START: tasks#execute-checklist ====================
|
||||
# Checklist Validation Task
|
||||
|
||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||
|
||||
## Context
|
||||
|
||||
The BMAD Method uses various checklists to ensure quality and completeness of different artifacts. Each checklist contains embedded prompts and instructions to guide the LLM through thorough validation and advanced elicitation. The checklists automatically identify their required artifacts and guide the validation process.
|
||||
|
||||
## Available Checklists
|
||||
|
||||
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the bmad-core/checklists folder to select the appropriate one to run.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Initial Assessment**
|
||||
|
||||
- If user or the task being run provides a checklist name:
|
||||
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
||||
- If multiple matches found, ask user to clarify
|
||||
- Load the appropriate checklist from bmad-core/checklists/
|
||||
- If no checklist specified:
|
||||
- Ask the user which checklist they want to use
|
||||
- Present the available options from the files in the checklists folder
|
||||
- Confirm if they want to work through the checklist:
|
||||
- Section by section (interactive mode - very time consuming)
|
||||
- All at once (YOLO mode - recommended for checklists, there will be a summary of sections at the end to discuss)
|
||||
|
||||
2. **Document and Artifact Gathering**
|
||||
|
||||
- Each checklist will specify its required documents/artifacts at the beginning
|
||||
- Follow the checklist's specific instructions for what to gather, generally a file can be resolved in the docs folder, if not or unsure, halt and ask or confirm with the user.
|
||||
|
||||
3. **Checklist Processing**
|
||||
|
||||
If in interactive mode:
|
||||
|
||||
- Work through each section of the checklist one at a time
|
||||
- For each section:
|
||||
- Review all items in the section following instructions for that section embedded in the checklist
|
||||
- Check each item against the relevant documentation or artifacts as appropriate
|
||||
- Present summary of findings for that section, highlighting warnings, errors and non applicable items (rationale for non-applicability).
|
||||
- Get user confirmation before proceeding to next section or if any thing major do we need to halt and take corrective action
|
||||
|
||||
If in YOLO mode:
|
||||
|
||||
- Process all sections at once
|
||||
- Create a comprehensive report of all findings
|
||||
- Present the complete analysis to the user
|
||||
|
||||
4. **Validation Approach**
|
||||
|
||||
For each checklist item:
|
||||
|
||||
- Read and understand the requirement
|
||||
- Look for evidence in the documentation that satisfies the requirement
|
||||
- Consider both explicit mentions and implicit coverage
|
||||
- Aside from this, follow all checklist llm instructions
|
||||
- Mark items as:
|
||||
- ✅ PASS: Requirement clearly met
|
||||
- ❌ FAIL: Requirement not met or insufficient coverage
|
||||
- ⚠️ PARTIAL: Some aspects covered but needs improvement
|
||||
- N/A: Not applicable to this case
|
||||
|
||||
5. **Section Analysis**
|
||||
|
||||
For each section:
|
||||
|
||||
- think step by step to calculate pass rate
|
||||
- Identify common themes in failed items
|
||||
- Provide specific recommendations for improvement
|
||||
- In interactive mode, discuss findings with user
|
||||
- Document any user decisions or explanations
|
||||
|
||||
6. **Final Report**
|
||||
|
||||
Prepare a summary that includes:
|
||||
|
||||
- Overall checklist completion status
|
||||
- Pass rates by section
|
||||
- List of failed items with context
|
||||
- Specific recommendations for improvement
|
||||
- Any sections or items marked as N/A with justification
|
||||
|
||||
## Checklist Execution Methodology
|
||||
|
||||
Each checklist now contains embedded LLM prompts and instructions that will:
|
||||
|
||||
1. **Guide thorough thinking** - Prompts ensure deep analysis of each section
|
||||
2. **Request specific artifacts** - Clear instructions on what documents/access is needed
|
||||
3. **Provide contextual guidance** - Section-specific prompts for better validation
|
||||
4. **Generate comprehensive reports** - Final summary with detailed findings
|
||||
|
||||
The LLM will:
|
||||
|
||||
- Execute the complete checklist validation
|
||||
- Present a final report with pass/fail rates and key findings
|
||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||
==================== END: tasks#execute-checklist ====================
|
||||
|
||||
==================== START: templates#game-story-tmpl ====================
|
||||
# Story: {{Story Title}}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2019,3 +2019,38 @@ This checklist serves as a comprehensive framework for validating infrastructure
|
||||
- [ ] Platform component integration validated
|
||||
- [ ] Cross-platform functionality tested and verified
|
||||
==================== END: checklists#infrastructure-checklist ====================
|
||||
|
||||
==================== START: data#technical-preferences ====================
|
||||
# User-Defined Preferred Patterns and Preferences
|
||||
|
||||
None Listed
|
||||
==================== END: data#technical-preferences ====================
|
||||
|
||||
==================== START: utils#template-format ====================
|
||||
# Template Format Conventions
|
||||
|
||||
Templates in the BMAD method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
||||
|
||||
## Template Markup Elements
|
||||
|
||||
- **{{placeholders}}**: Variables to be replaced with actual content
|
||||
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
||||
- **REPEAT** sections: Content blocks that may be repeated as needed
|
||||
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
||||
- **@{examples}**: Example content for guidance (never output to users)
|
||||
|
||||
## Processing Rules
|
||||
|
||||
- Replace all {{placeholders}} with project-specific content
|
||||
- Execute all [[LLM: instructions]] internally without showing users
|
||||
- Process conditional and repeat blocks as specified
|
||||
- Use examples for guidance but never include them in final output
|
||||
- Present only clean, formatted content to users
|
||||
|
||||
## Critical Guidelines
|
||||
|
||||
- **NEVER display template markup, LLM instructions, or examples to users**
|
||||
- Template elements are for AI processing only
|
||||
- Focus on faithful template execution and clean output
|
||||
- All template-specific instructions are embedded within templates
|
||||
==================== END: utils#template-format ====================
|
||||
|
||||
@@ -449,7 +449,7 @@ Create `expansion-packs/{pack-name}/plan.md` with:
|
||||
## Approval
|
||||
|
||||
User approval received: [ ] Yes
|
||||
```text
|
||||
```
|
||||
|
||||
Important: Wait for user approval before proceeding to Phase 2
|
||||
|
||||
@@ -582,34 +582,36 @@ IMPORTANT: Only proceed after plan.md is approved
|
||||
#### 3.1 Create Directory Structure
|
||||
|
||||
```
|
||||
|
||||
expansion-packs/
|
||||
└── {pack-name}/
|
||||
├── plan.md (ALREADY CREATED)
|
||||
├── manifest.yml
|
||||
├── README.md
|
||||
├── agents/
|
||||
│ ├── {pack-name}-orchestrator.md (REQUIRED - Custom themed orchestrator)
|
||||
│ └── {agent-id}.md (YAML-in-Markdown with persona)
|
||||
├── data/
|
||||
│ ├── {domain}-best-practices.md
|
||||
│ ├── {domain}-terminology.md
|
||||
│ └── {domain}-standards.md
|
||||
├── tasks/
|
||||
│ ├── create-doc.md (REQUIRED - Core utility)
|
||||
│ ├── execute-checklist.md (REQUIRED - Core utility)
|
||||
│ └── {task-name}.md (Domain-specific tasks)
|
||||
├── utils/
|
||||
│ ├── template-format.md (REQUIRED - Core utility)
|
||||
│ └── workflow-management.md (REQUIRED - Core utility)
|
||||
├── templates/
|
||||
│ └── {template-name}.md
|
||||
├── checklists/
|
||||
│ └── {checklist-name}.md
|
||||
├── workflows/
|
||||
│ └── {domain}-workflow.md (REQUIRED if multiple agents)
|
||||
└── agent-teams/
|
||||
└── {domain}-team.yml (REQUIRED if multiple agents)
|
||||
```text
|
||||
├── plan.md (ALREADY CREATED)
|
||||
├── manifest.yml
|
||||
├── README.md
|
||||
├── agents/
|
||||
│ ├── {pack-name}-orchestrator.md (REQUIRED - Custom themed orchestrator)
|
||||
│ └── {agent-id}.md (YAML-in-Markdown with persona)
|
||||
├── data/
|
||||
│ ├── {domain}-best-practices.md
|
||||
│ ├── {domain}-terminology.md
|
||||
│ └── {domain}-standards.md
|
||||
├── tasks/
|
||||
│ ├── create-doc.md (REQUIRED - Core utility)
|
||||
│ ├── execute-checklist.md (REQUIRED - Core utility)
|
||||
│ └── {task-name}.md (Domain-specific tasks)
|
||||
├── utils/
|
||||
│ ├── template-format.md (REQUIRED - Core utility)
|
||||
│ └── workflow-management.md (REQUIRED - Core utility)
|
||||
├── templates/
|
||||
│ └── {template-name}.md
|
||||
├── checklists/
|
||||
│ └── {checklist-name}.md
|
||||
├── workflows/
|
||||
│ └── {domain}-workflow.md (REQUIRED if multiple agents)
|
||||
└── agent-teams/
|
||||
└── {domain}-team.yml (REQUIRED if multiple agents)
|
||||
|
||||
```
|
||||
|
||||
#### 3.2 Create Manifest
|
||||
|
||||
@@ -745,7 +747,7 @@ cp bmad-core/tasks/execute-checklist.md expansion-packs/{pack-name}/tasks/
|
||||
mkdir -p expansion-packs/{pack-name}/utils
|
||||
cp bmad-core/utils/template-format.md expansion-packs/{pack-name}/utils/
|
||||
cp bmad-core/utils/workflow-management.md expansion-packs/{pack-name}/utils/
|
||||
```text
|
||||
```
|
||||
|
||||
**Step 3: Technical Implementation**
|
||||
|
||||
@@ -995,10 +997,10 @@ _{Professional background and expertise}_
|
||||
- `{file2}.{ext}` - {description}
|
||||
|
||||
2. **Launch Orchestrator**:
|
||||
|
||||
```bash
|
||||
npm run agent {pack-name}-orchestrator
|
||||
```
|
||||
````
|
||||
|
||||
3. **Follow Numbered Options**: {Character Name} will present numbered choices for each decision
|
||||
|
||||
@@ -1028,14 +1030,12 @@ _{Professional background and expertise}_
|
||||
### Knowledge Base
|
||||
|
||||
[Embedded domain expertise]
|
||||
|
||||
````
|
||||
|
||||
#### 6.3 Advanced Data File Documentation with Validation
|
||||
|
||||
For each required data file, provide comprehensive guidance:
|
||||
|
||||
```markdown
|
||||
## Required User Data Files
|
||||
|
||||
### {filename}.{ext}
|
||||
@@ -1045,7 +1045,6 @@ For each required data file, provide comprehensive guidance:
|
||||
- **Location**: Place in `bmad-core/data/`
|
||||
- **Validation**: {how agents will verify the file is correct}
|
||||
- **Example Structure**:
|
||||
````
|
||||
|
||||
{sample content showing exact format}
|
||||
|
||||
@@ -1321,8 +1320,415 @@ Embedded knowledge (automatic):
|
||||
- [ ] Template conditional content tested with different scenarios
|
||||
- [ ] Workflow decision trees validated with sample use cases
|
||||
- [ ] Character interactions tested for consistency and professional authenticity
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
==================== END: tasks#generate-expansion-pack ====================
|
||||
|
||||
==================== START: tasks#advanced-elicitation ====================
|
||||
# Advanced Elicitation Task
|
||||
|
||||
## Purpose
|
||||
|
||||
- Provide optional reflective and brainstorming actions to enhance content quality
|
||||
- Enable deeper exploration of ideas through structured elicitation techniques
|
||||
- Support iterative refinement through multiple analytical perspectives
|
||||
|
||||
## Task Instructions
|
||||
|
||||
### 1. Section Context and Review
|
||||
|
||||
[[LLM: When invoked after outputting a section:
|
||||
|
||||
1. First, provide a brief 1-2 sentence summary of what the user should look for in the section just presented (e.g., "Please review the technology choices for completeness and alignment with your project needs. Pay special attention to version numbers and any missing categories.")
|
||||
|
||||
2. If the section contains Mermaid diagrams, explain each diagram briefly before offering elicitation options (e.g., "The component diagram shows the main system modules and their interactions. Notice how the API Gateway routes requests to different services.")
|
||||
|
||||
3. If the section contains multiple distinct items (like multiple components, multiple patterns, etc.), inform the user they can apply elicitation actions to:
|
||||
|
||||
- The entire section as a whole
|
||||
- Individual items within the section (specify which item when selecting an action)
|
||||
|
||||
4. Then present the action list as specified below.]]
|
||||
|
||||
### 2. Ask for Review and Present Action List
|
||||
|
||||
[[LLM: Ask the user to review the drafted section. In the SAME message, inform them that they can suggest additions, removals, or modifications, OR they can select an action by number from the 'Advanced Reflective, Elicitation & Brainstorming Actions'. If there are multiple items in the section, mention they can specify which item(s) to apply the action to. Then, present ONLY the numbered list (0-9) of these actions. Conclude by stating that selecting 9 will proceed to the next section. Await user selection. If an elicitation action (0-8) is chosen, execute it and then re-offer this combined review/elicitation choice. If option 9 is chosen, or if the user provides direct feedback, proceed accordingly.]]
|
||||
|
||||
**Present the numbered list (0-9) with this exact format:**
|
||||
|
||||
```text
|
||||
**Advanced Reflective, Elicitation & Brainstorming Actions**
|
||||
Choose an action (0-9 - 9 to bypass - HELP for explanation of these options):
|
||||
|
||||
0. Expand or Contract for Audience
|
||||
1. Explain Reasoning (CoT Step-by-Step)
|
||||
2. Critique and Refine
|
||||
3. Analyze Logical Flow and Dependencies
|
||||
4. Assess Alignment with Overall Goals
|
||||
5. Identify Potential Risks and Unforeseen Issues
|
||||
6. Challenge from Critical Perspective (Self or Other Persona)
|
||||
7. Explore Diverse Alternatives (ToT-Inspired)
|
||||
8. Hindsight is 20/20: The 'If Only...' Reflection
|
||||
9. Proceed / No Further Actions
|
||||
```
|
||||
|
||||
### 2. Processing Guidelines
|
||||
|
||||
**Do NOT show:**
|
||||
|
||||
- The full protocol text with `[[LLM: ...]]` instructions
|
||||
- Detailed explanations of each option unless executing or the user asks, when giving the definition you can modify to tie its relevance
|
||||
- Any internal template markup
|
||||
|
||||
**After user selection from the list:**
|
||||
|
||||
- Execute the chosen action according to the protocol instructions below
|
||||
- Ask if they want to select another action or proceed with option 9 once complete
|
||||
- Continue until user selects option 9 or indicates completion
|
||||
|
||||
## Action Definitions
|
||||
|
||||
0. Expand or Contract for Audience
|
||||
[[LLM: Ask the user whether they want to 'expand' on the content (add more detail, elaborate) or 'contract' it (simplify, clarify, make more concise). Also, ask if there's a specific target audience they have in mind. Once clarified, perform the expansion or contraction from your current role's perspective, tailored to the specified audience if provided.]]
|
||||
|
||||
1. Explain Reasoning (CoT Step-by-Step)
|
||||
[[LLM: Explain the step-by-step thinking process, characteristic of your role, that you used to arrive at the current proposal for this content.]]
|
||||
|
||||
2. Critique and Refine
|
||||
[[LLM: From your current role's perspective, review your last output or the current section for flaws, inconsistencies, or areas for improvement, and then suggest a refined version reflecting your expertise.]]
|
||||
|
||||
3. Analyze Logical Flow and Dependencies
|
||||
[[LLM: From your role's standpoint, examine the content's structure for logical progression, internal consistency, and any relevant dependencies. Confirm if elements are presented in an effective order.]]
|
||||
|
||||
4. Assess Alignment with Overall Goals
|
||||
[[LLM: Evaluate how well the current content contributes to the stated overall goals of the document, interpreting this from your specific role's perspective and identifying any misalignments you perceive.]]
|
||||
|
||||
5. Identify Potential Risks and Unforeseen Issues
|
||||
[[LLM: Based on your role's expertise, brainstorm potential risks, overlooked edge cases, or unintended consequences related to the current content or proposal.]]
|
||||
|
||||
6. Challenge from Critical Perspective (Self or Other Persona)
|
||||
[[LLM: Adopt a critical perspective on the current content. If the user specifies another role or persona (e.g., 'as a customer', 'as [Another Persona Name]'), critique the content or play devil's advocate from that specified viewpoint. If no other role is specified, play devil's advocate from your own current persona's viewpoint, arguing against the proposal or current content and highlighting weaknesses or counterarguments specific to your concerns. This can also randomly include YAGNI when appropriate, such as when trimming the scope of an MVP, the perspective might challenge the need for something to cut MVP scope.]]
|
||||
|
||||
7. Explore Diverse Alternatives (ToT-Inspired)
|
||||
[[LLM: From your role's perspective, first broadly brainstorm a range of diverse approaches or solutions to the current topic. Then, from this wider exploration, select and present 2 distinct alternatives, detailing the pros, cons, and potential implications you foresee for each.]]
|
||||
|
||||
8. Hindsight is 20/20: The 'If Only...' Reflection
|
||||
[[LLM: In your current persona, imagine it's a retrospective for a project based on the current content. What's the one 'if only we had known/done X...' that your role would humorously or dramatically highlight, along with the imagined consequences?]]
|
||||
|
||||
9. Proceed / No Further Actions
|
||||
[[LLM: Acknowledge the user's choice to finalize the current work, accept the AI's last output as is, or move on to the next step without selecting another action from this list. Prepare to proceed accordingly.]]
|
||||
==================== END: tasks#advanced-elicitation ====================
|
||||
|
||||
==================== START: tasks#create-deep-research-prompt ====================
|
||||
# Create Deep Research Prompt Task
|
||||
|
||||
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
||||
|
||||
## Purpose
|
||||
|
||||
Generate well-structured research prompts that:
|
||||
|
||||
- Define clear research objectives and scope
|
||||
- Specify appropriate research methodologies
|
||||
- Outline expected deliverables and formats
|
||||
- Guide systematic investigation of complex topics
|
||||
- Ensure actionable insights are captured
|
||||
|
||||
## Research Type Selection
|
||||
|
||||
[[LLM: First, help the user select the most appropriate research focus based on their needs and any input documents they've provided.]]
|
||||
|
||||
### 1. Research Focus Options
|
||||
|
||||
Present these numbered options to the user:
|
||||
|
||||
1. **Product Validation Research**
|
||||
|
||||
- Validate product hypotheses and market fit
|
||||
- Test assumptions about user needs and solutions
|
||||
- Assess technical and business feasibility
|
||||
- Identify risks and mitigation strategies
|
||||
|
||||
2. **Market Opportunity Research**
|
||||
|
||||
- Analyze market size and growth potential
|
||||
- Identify market segments and dynamics
|
||||
- Assess market entry strategies
|
||||
- Evaluate timing and market readiness
|
||||
|
||||
3. **User & Customer Research**
|
||||
|
||||
- Deep dive into user personas and behaviors
|
||||
- Understand jobs-to-be-done and pain points
|
||||
- Map customer journeys and touchpoints
|
||||
- Analyze willingness to pay and value perception
|
||||
|
||||
4. **Competitive Intelligence Research**
|
||||
|
||||
- Detailed competitor analysis and positioning
|
||||
- Feature and capability comparisons
|
||||
- Business model and strategy analysis
|
||||
- Identify competitive advantages and gaps
|
||||
|
||||
5. **Technology & Innovation Research**
|
||||
|
||||
- Assess technology trends and possibilities
|
||||
- Evaluate technical approaches and architectures
|
||||
- Identify emerging technologies and disruptions
|
||||
- Analyze build vs. buy vs. partner options
|
||||
|
||||
6. **Industry & Ecosystem Research**
|
||||
|
||||
- Map industry value chains and dynamics
|
||||
- Identify key players and relationships
|
||||
- Analyze regulatory and compliance factors
|
||||
- Understand partnership opportunities
|
||||
|
||||
7. **Strategic Options Research**
|
||||
|
||||
- Evaluate different strategic directions
|
||||
- Assess business model alternatives
|
||||
- Analyze go-to-market strategies
|
||||
- Consider expansion and scaling paths
|
||||
|
||||
8. **Risk & Feasibility Research**
|
||||
|
||||
- Identify and assess various risk factors
|
||||
- Evaluate implementation challenges
|
||||
- Analyze resource requirements
|
||||
- Consider regulatory and legal implications
|
||||
|
||||
9. **Custom Research Focus**
|
||||
[[LLM: Allow user to define their own specific research focus.]]
|
||||
- User-defined research objectives
|
||||
- Specialized domain investigation
|
||||
- Cross-functional research needs
|
||||
|
||||
### 2. Input Processing
|
||||
|
||||
[[LLM: Based on the selected research type and any provided inputs (project brief, brainstorming results, etc.), extract relevant context and constraints.]]
|
||||
|
||||
**If Project Brief provided:**
|
||||
|
||||
- Extract key product concepts and goals
|
||||
- Identify target users and use cases
|
||||
- Note technical constraints and preferences
|
||||
- Highlight uncertainties and assumptions
|
||||
|
||||
**If Brainstorming Results provided:**
|
||||
|
||||
- Synthesize main ideas and themes
|
||||
- Identify areas needing validation
|
||||
- Extract hypotheses to test
|
||||
- Note creative directions to explore
|
||||
|
||||
**If Market Research provided:**
|
||||
|
||||
- Build on identified opportunities
|
||||
- Deepen specific market insights
|
||||
- Validate initial findings
|
||||
- Explore adjacent possibilities
|
||||
|
||||
**If Starting Fresh:**
|
||||
|
||||
- Gather essential context through questions
|
||||
- Define the problem space
|
||||
- Clarify research objectives
|
||||
- Establish success criteria
|
||||
|
||||
## Process
|
||||
|
||||
### 3. Research Prompt Structure
|
||||
|
||||
[[LLM: Based on the selected research type and context, collaboratively develop a comprehensive research prompt with these components.]]
|
||||
|
||||
#### A. Research Objectives
|
||||
|
||||
[[LLM: Work with the user to articulate clear, specific objectives for the research.]]
|
||||
|
||||
- Primary research goal and purpose
|
||||
- Key decisions the research will inform
|
||||
- Success criteria for the research
|
||||
- Constraints and boundaries
|
||||
|
||||
#### B. Research Questions
|
||||
|
||||
[[LLM: Develop specific, actionable research questions organized by theme.]]
|
||||
|
||||
**Core Questions:**
|
||||
|
||||
- Central questions that must be answered
|
||||
- Priority ranking of questions
|
||||
- Dependencies between questions
|
||||
|
||||
**Supporting Questions:**
|
||||
|
||||
- Additional context-building questions
|
||||
- Nice-to-have insights
|
||||
- Future-looking considerations
|
||||
|
||||
#### C. Research Methodology
|
||||
|
||||
[[LLM: Specify appropriate research methods based on the type and objectives.]]
|
||||
|
||||
**Data Collection Methods:**
|
||||
|
||||
- Secondary research sources
|
||||
- Primary research approaches (if applicable)
|
||||
- Data quality requirements
|
||||
- Source credibility criteria
|
||||
|
||||
**Analysis Frameworks:**
|
||||
|
||||
- Specific frameworks to apply
|
||||
- Comparison criteria
|
||||
- Evaluation methodologies
|
||||
- Synthesis approaches
|
||||
|
||||
#### D. Output Requirements
|
||||
|
||||
[[LLM: Define how research findings should be structured and presented.]]
|
||||
|
||||
**Format Specifications:**
|
||||
|
||||
- Executive summary requirements
|
||||
- Detailed findings structure
|
||||
- Visual/tabular presentations
|
||||
- Supporting documentation
|
||||
|
||||
**Key Deliverables:**
|
||||
|
||||
- Must-have sections and insights
|
||||
- Decision-support elements
|
||||
- Action-oriented recommendations
|
||||
- Risk and uncertainty documentation
|
||||
|
||||
### 4. Prompt Generation
|
||||
|
||||
[[LLM: Synthesize all elements into a comprehensive, ready-to-use research prompt.]]
|
||||
|
||||
**Research Prompt Template:**
|
||||
|
||||
```markdown
|
||||
## Research Objective
|
||||
|
||||
[Clear statement of what this research aims to achieve]
|
||||
|
||||
## Background Context
|
||||
|
||||
[Relevant information from project brief, brainstorming, or other inputs]
|
||||
|
||||
## Research Questions
|
||||
|
||||
### Primary Questions (Must Answer)
|
||||
|
||||
1. [Specific, actionable question]
|
||||
2. [Specific, actionable question]
|
||||
...
|
||||
|
||||
### Secondary Questions (Nice to Have)
|
||||
|
||||
1. [Supporting question]
|
||||
2. [Supporting question]
|
||||
...
|
||||
|
||||
## Research Methodology
|
||||
|
||||
### Information Sources
|
||||
|
||||
- [Specific source types and priorities]
|
||||
|
||||
### Analysis Frameworks
|
||||
|
||||
- [Specific frameworks to apply]
|
||||
|
||||
### Data Requirements
|
||||
|
||||
- [Quality, recency, credibility needs]
|
||||
|
||||
## Expected Deliverables
|
||||
|
||||
### Executive Summary
|
||||
|
||||
- Key findings and insights
|
||||
- Critical implications
|
||||
- Recommended actions
|
||||
|
||||
### Detailed Analysis
|
||||
|
||||
[Specific sections needed based on research type]
|
||||
|
||||
### Supporting Materials
|
||||
|
||||
- Data tables
|
||||
- Comparison matrices
|
||||
- Source documentation
|
||||
|
||||
## Success Criteria
|
||||
|
||||
[How to evaluate if research achieved its objectives]
|
||||
|
||||
## Timeline and Priority
|
||||
|
||||
[If applicable, any time constraints or phasing]
|
||||
```
|
||||
|
||||
### 5. Review and Refinement
|
||||
|
||||
[[LLM: Present the draft research prompt for user review and refinement.]]
|
||||
|
||||
1. **Present Complete Prompt**
|
||||
|
||||
- Show the full research prompt
|
||||
- Explain key elements and rationale
|
||||
- Highlight any assumptions made
|
||||
|
||||
2. **Gather Feedback**
|
||||
|
||||
- Are the objectives clear and correct?
|
||||
- Do the questions address all concerns?
|
||||
- Is the scope appropriate?
|
||||
- Are output requirements sufficient?
|
||||
|
||||
3. **Refine as Needed**
|
||||
- Incorporate user feedback
|
||||
- Adjust scope or focus
|
||||
- Add missing elements
|
||||
- Clarify ambiguities
|
||||
|
||||
### 6. Next Steps Guidance
|
||||
|
||||
[[LLM: Provide clear guidance on how to use the research prompt.]]
|
||||
|
||||
**Execution Options:**
|
||||
|
||||
1. **Use with AI Research Assistant**: Provide this prompt to an AI model with research capabilities
|
||||
2. **Guide Human Research**: Use as a framework for manual research efforts
|
||||
3. **Hybrid Approach**: Combine AI and human research using this structure
|
||||
|
||||
**Integration Points:**
|
||||
|
||||
- How findings will feed into next phases
|
||||
- Which team members should review results
|
||||
- How to validate findings
|
||||
- When to revisit or expand research
|
||||
|
||||
## Important Notes
|
||||
|
||||
- The quality of the research prompt directly impacts the quality of insights gathered
|
||||
- Be specific rather than general in research questions
|
||||
- Consider both current state and future implications
|
||||
- Balance comprehensiveness with focus
|
||||
- Document assumptions and limitations clearly
|
||||
- Plan for iterative refinement based on initial findings
|
||||
==================== END: tasks#create-deep-research-prompt ====================
|
||||
|
||||
==================== START: templates#agent-tmpl ====================
|
||||
# [AGENT_ID]
|
||||
|
||||
|
||||
1231
dist/teams/team-all.txt
vendored
1231
dist/teams/team-all.txt
vendored
File diff suppressed because it is too large
Load Diff
1231
dist/teams/team-fullstack.txt
vendored
1231
dist/teams/team-fullstack.txt
vendored
File diff suppressed because it is too large
Load Diff
121
dist/teams/team-ide-minimal.txt
vendored
121
dist/teams/team-ide-minimal.txt
vendored
@@ -76,72 +76,68 @@ persona:
|
||||
- When embodied, specialized persona's principles take precedence
|
||||
- Be explicit about active persona and current task
|
||||
- Always use numbered lists for choices
|
||||
- Process (*) commands immediately
|
||||
- Process commands starting with * immediately
|
||||
- Always remind users that commands require * prefix
|
||||
startup:
|
||||
- Announce: Hey! I'm BMad, your BMAD-METHOD orchestrator. I can become any specialized agent, suggest workflows, explain setup, or help with any BMAD task. Type *help for options.
|
||||
- Announce: Introduce yourself as the BMAD Orchestrator, explain you can coordinate agents and workflows
|
||||
- IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
|
||||
- Mention *help shows all available commands and options
|
||||
- Assess user goal against available agents and workflows in this bundle
|
||||
- If clear match to an agent's expertise, suggest transformation
|
||||
- If project-oriented, explore available workflows and guide selection
|
||||
- Load resources only when needed
|
||||
commands:
|
||||
- '*help" - Show commands/workflows/agents'
|
||||
- '*chat-mode" - Conversational mode with advanced-elicitation'
|
||||
- '*kb-mode" - Load knowledge base for full BMAD help'
|
||||
- '*status" - Show current context/agent/progress'
|
||||
- '*agent {name}" - Transform into agent (list if unspecified)'
|
||||
- '*exit" - Return to BMad or exit (confirm if exiting BMad)'
|
||||
- '*task {name}" - Run task (list if unspecified)'
|
||||
- '*workflow {type}" - Start/list workflows'
|
||||
- '*workflow-guidance" - Get help selecting the right workflow for your project'
|
||||
- '*checklist {name}" - Execute checklist (list if unspecified)'
|
||||
- '*yolo" - Toggle skip confirmations'
|
||||
- '*party-mode" - Group chat with all agents'
|
||||
- '*doc-out" - Output full document'
|
||||
help-format:
|
||||
- When *help is called, focus on agent capabilities and what each can do
|
||||
- List actual agent names with their specializations and deliverables
|
||||
- List actual workflow names with descriptions
|
||||
- DO NOT list individual tasks/checklists (these belong to specific agents)
|
||||
- Emphasize that users should switch to an agent to access its specific capabilities
|
||||
- Format examples:
|
||||
- "*agent game-designer: Game Design Specialist"
|
||||
- " Specializes in: Game concepts, mechanics, level design"
|
||||
- " Can create: Game design documents, level designs, game briefs"
|
||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||
- If project-oriented, suggest *workflow-guidance to explore options
|
||||
- Load resources only when needed - never pre-load
|
||||
commands: # All commands require * prefix when used (e.g., *help, *agent pm)
|
||||
help: Show this guide with available agents and workflows
|
||||
chat-mode: Start conversational mode for detailed assistance
|
||||
kb-mode: Load full BMAD knowledge base
|
||||
status: Show current context, active agent, and progress
|
||||
agent: Transform into a specialized agent (list if name not specified)
|
||||
exit: Return to BMad or exit session
|
||||
task: Run a specific task (list if name not specified)
|
||||
workflow: Start a specific workflow (list if name not specified)
|
||||
workflow-guidance: Get personalized help selecting the right workflow
|
||||
checklist: Execute a checklist (list if name not specified)
|
||||
yolo: Toggle skip confirmations mode
|
||||
party-mode: Group chat with all agents
|
||||
doc-out: Output full document
|
||||
help-display-template: |
|
||||
🎭 BMad Orchestrator - Your Gateway to Specialized Agents
|
||||
=== BMAD Orchestrator Commands ===
|
||||
All commands must start with * (asterisk)
|
||||
|
||||
I coordinate specialized agents for different tasks. Tell me what you need, and I'll connect you with the right expert!
|
||||
Core Commands:
|
||||
*help ............... Show this guide
|
||||
*chat-mode .......... Start conversational mode for detailed assistance
|
||||
*kb-mode ............ Load full BMAD knowledge base
|
||||
*status ............. Show current context, active agent, and progress
|
||||
*exit ............... Return to BMad or exit session
|
||||
|
||||
Orchestrator Commands:
|
||||
*help: Show this guide
|
||||
*chat-mode: Start conversational mode for detailed assistance
|
||||
*kb-mode: Load full BMAD knowledge base
|
||||
*status: Show current context, active agent, and progress
|
||||
*yolo: Toggle skip confirmations mode
|
||||
*party-mode: Group chat with all agents
|
||||
*doc-out: Output full document
|
||||
*exit: Return to BMad or exit session
|
||||
|
||||
Agent Management:
|
||||
*agent {name}: Transform into a specialized agent
|
||||
*task {name}: Run a specific task (when in an agent)
|
||||
*checklist {name}: Execute a checklist (when in an agent)
|
||||
Agent & Task Management:
|
||||
*agent [name] ....... Transform into specialized agent (list if no name)
|
||||
*task [name] ........ Run specific task (list if no name, requires agent)
|
||||
*checklist [name] ... Execute checklist (list if no name, requires agent)
|
||||
|
||||
Workflow Commands:
|
||||
*workflow {name}: Start a specific workflow directly
|
||||
*workflow-guidance: Get personalized help selecting the right workflow for your project
|
||||
*workflow [name] .... Start specific workflow (list if no name)
|
||||
*workflow-guidance .. Get personalized help selecting the right workflow
|
||||
|
||||
Available Specialist Agents:
|
||||
[For each agent in bundle, show:
|
||||
*agent {name}: {role/title}
|
||||
Specializes in: {key capabilities from agent's whenToUse}
|
||||
Can create: {list of documents/deliverables this agent produces}]
|
||||
Other Commands:
|
||||
*yolo ............... Toggle skip confirmations mode
|
||||
*party-mode ......... Group chat with all agents
|
||||
*doc-out ............ Output full document
|
||||
|
||||
Available Workflows:
|
||||
[For each workflow in bundle, show:
|
||||
*workflow {name}: {workflow description}]
|
||||
=== Available Specialist Agents ===
|
||||
[Dynamically list each agent in bundle with format:
|
||||
*agent {id}: {title}
|
||||
When to use: {whenToUse}
|
||||
Key deliverables: {main outputs/documents}]
|
||||
|
||||
💡 Tip: Each agent has their own tasks, templates, and checklists. Switch to an agent to see what they can do!
|
||||
=== Available Workflows ===
|
||||
[Dynamically list each workflow in bundle with format:
|
||||
*workflow {id}: {name}
|
||||
Purpose: {description}]
|
||||
|
||||
💡 Tip: Each agent has unique tasks, templates, and checklists. Switch to an agent to access their capabilities!
|
||||
|
||||
fuzzy-matching:
|
||||
- 85% confidence threshold
|
||||
- Show numbered list if unsure
|
||||
@@ -152,24 +148,17 @@ transformation:
|
||||
loading:
|
||||
- KB: Only for *kb-mode or BMAD questions
|
||||
- Agents: Only when transforming
|
||||
- 'Templates/Tasks: Only when executing'
|
||||
- Templates/Tasks: Only when executing
|
||||
- Always indicate loading
|
||||
workflow-guidance:
|
||||
- Discover available workflows in the bundle at runtime
|
||||
- Understand each workflow's purpose, options, and decision points
|
||||
- Ask clarifying questions based on the workflow's structure
|
||||
- Guide users through workflow selection when multiple options exist
|
||||
- For workflows with divergent paths (e.g., simple vs complex), help users choose the right path
|
||||
- For workflows with divergent paths, help users choose the right path
|
||||
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
||||
- Only recommend workflows that actually exist in the current bundle
|
||||
workflow-guidance-command:
|
||||
- When *workflow-guidance is called, start an interactive session
|
||||
- First, list all available workflows with brief descriptions
|
||||
- Ask about the user's project goals and constraints
|
||||
- Based on answers, recommend the most suitable workflow
|
||||
- If a workflow has multiple paths, help choose between them (e.g., complex vs simple project flow)
|
||||
- Explain what documents will be created and which agents will be involved
|
||||
- Offer to start the recommended workflow immediately
|
||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||
dependencies:
|
||||
tasks:
|
||||
- advanced-elicitation
|
||||
|
||||
871
dist/teams/team-no-ui.txt
vendored
871
dist/teams/team-no-ui.txt
vendored
File diff suppressed because it is too large
Load Diff
@@ -6,9 +6,11 @@ This guide walks you through the complete BMAD workflow using Claude Code as you
|
||||
|
||||
1. Navigate to your project directory
|
||||
2. Run the BMAD installer:
|
||||
|
||||
```bash
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
3. When prompted:
|
||||
- **Installation Type**: Choose "Complete installation (recommended)"
|
||||
- **IDE**: Select "Claude Code"
|
||||
@@ -17,11 +19,11 @@ This creates a `.bmad-core` folder with all agents and a `.claude/commands` fold
|
||||
|
||||
## Step 2: Set Up Team Fullstack in Gemini
|
||||
|
||||
For ideation and planning, use Google's Gemini with the team-fullstack configuration:
|
||||
For ideation and planning, use Google's Gemini Custom Gem with the team-fullstack configuration:
|
||||
|
||||
1. Open [Google AI Studio (Gemini)](https://aistudio.google.com/)
|
||||
2. Create a new chat
|
||||
3. Copy the contents of `/Users/brianmadison/dev/BMAD-METHOD/.bmad-core/web-bundles/teams/team-fullstack.txt`
|
||||
1. Open [Google gems](https://gemini.google.com/gems/view)
|
||||
2. Create a new Gem - give it a title and description
|
||||
3. Copy the contents of `.<install location>/web-bundles/teams/team-fullstack.txt`
|
||||
4. Paste this content into Gemini to set up the team
|
||||
|
||||
### Gemini Planning Phase
|
||||
|
||||
@@ -6,9 +6,11 @@ This guide walks you through the complete BMAD workflow using Cursor as your AI-
|
||||
|
||||
1. Navigate to your project directory
|
||||
2. Run the BMAD installer:
|
||||
|
||||
```bash
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
3. When prompted:
|
||||
- **Installation Type**: Choose "Complete installation (recommended)"
|
||||
- **IDE**: Select "Cursor"
|
||||
@@ -17,11 +19,11 @@ This creates a `.bmad-core` folder with all agents and a `.cursor/rules` folder
|
||||
|
||||
## Step 2: Set Up Team Fullstack in Gemini
|
||||
|
||||
For ideation and planning, use Google's Gemini with the team-fullstack configuration:
|
||||
For ideation and planning, use Google's Gemini Custom Gem with the team-fullstack configuration:
|
||||
|
||||
1. Open [Google AI Studio (Gemini)](https://aistudio.google.com/)
|
||||
2. Create a new chat
|
||||
3. Copy the contents of `/Users/brianmadison/dev/BMAD-METHOD/.bmad-core/web-bundles/teams/team-fullstack.txt`
|
||||
1. Open [Google gems](https://gemini.google.com/gems/view)
|
||||
2. Create a new Gem - give it a title and description
|
||||
3. Copy the contents of `.<install location>/web-bundles/teams/team-fullstack.txt`
|
||||
4. Paste this content into Gemini to set up the team
|
||||
|
||||
### Gemini Planning Phase
|
||||
@@ -101,6 +103,8 @@ All BMAD agents are available as Cursor rules (use `@` prefix):
|
||||
- `@po` - Product owner for prioritization
|
||||
- `@ux-expert` - UX specialist for design
|
||||
|
||||
Alternatively, and more performance - you can copy the contents of an agent file into a custom mode - see the cursor docs on how to use custom agents.
|
||||
|
||||
## Cursor-Specific Features
|
||||
|
||||
- **Agent rules are stored in**: `.cursor/rules/` as `.mdc` files
|
||||
|
||||
@@ -6,9 +6,11 @@ This guide walks you through the complete BMAD workflow using Roo Code as your A
|
||||
|
||||
1. Navigate to your project directory
|
||||
2. Run the BMAD installer:
|
||||
|
||||
```bash
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
3. When prompted:
|
||||
- **Installation Type**: Choose "Complete installation (recommended)"
|
||||
- **IDE**: Select "Roo Code"
|
||||
@@ -17,11 +19,11 @@ This creates a `.bmad-core` folder with all agents and a `.roomodes` file (in th
|
||||
|
||||
## Step 2: Set Up Team Fullstack in Gemini
|
||||
|
||||
For ideation and planning, use Google's Gemini with the team-fullstack configuration:
|
||||
For ideation and planning, use Google's Gemini Custom Gem with the team-fullstack configuration:
|
||||
|
||||
1. Open [Google AI Studio (Gemini)](https://aistudio.google.com/)
|
||||
2. Create a new chat
|
||||
3. Copy the contents of `/Users/brianmadison/dev/BMAD-METHOD/.bmad-core/web-bundles/teams/team-fullstack.txt`
|
||||
1. Open [Google gems](https://gemini.google.com/gems/view)
|
||||
2. Create a new Gem - give it a title and description
|
||||
3. Copy the contents of `.<install location>/web-bundles/teams/team-fullstack.txt`
|
||||
4. Paste this content into Gemini to set up the team
|
||||
|
||||
### Gemini Planning Phase
|
||||
|
||||
@@ -8,11 +8,11 @@ The easiest way to release new versions is through **automatic semantic releases
|
||||
|
||||
Use these prefixes to control what type of release happens:
|
||||
|
||||
````bash
|
||||
```bash
|
||||
fix: resolve CLI argument parsing bug # → patch release (4.1.0 → 4.1.1)
|
||||
feat: add new agent orchestration mode # → minor release (4.1.0 → 4.2.0)
|
||||
feat!: redesign CLI interface # → major release (4.1.0 → 5.0.0)
|
||||
```text
|
||||
```
|
||||
|
||||
### What Happens Automatically
|
||||
|
||||
@@ -35,24 +35,24 @@ git push
|
||||
|
||||
# That's it! Release happens automatically 🎉
|
||||
# Users can now run: npx bmad-method (and get the new version)
|
||||
````
|
||||
```
|
||||
|
||||
### Commits That DON'T Trigger Releases
|
||||
|
||||
These commit types won't create releases (use them for maintenance):
|
||||
|
||||
````bash
|
||||
```bash
|
||||
chore: update dependencies # No release
|
||||
docs: fix typo in readme # No release
|
||||
style: format code # No release
|
||||
test: add unit tests # No release
|
||||
```text
|
||||
```
|
||||
|
||||
### Test Your Setup
|
||||
|
||||
```bash
|
||||
npm run release:test # Safe to run locally - tests the config
|
||||
````
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -6,9 +6,11 @@ This guide walks you through the complete BMAD workflow using Windsurf as your A
|
||||
|
||||
1. Navigate to your project directory
|
||||
2. Run the BMAD installer:
|
||||
|
||||
```bash
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
3. When prompted:
|
||||
- **Installation Type**: Choose "Complete installation (recommended)"
|
||||
- **IDE**: Select "Windsurf"
|
||||
@@ -17,11 +19,11 @@ This creates a `.bmad-core` folder with all agents and a `.windsurf/rules` folde
|
||||
|
||||
## Step 2: Set Up Team Fullstack in Gemini
|
||||
|
||||
For ideation and planning, use Google's Gemini with the team-fullstack configuration:
|
||||
For ideation and planning, use Google's Gemini Custom Gem with the team-fullstack configuration:
|
||||
|
||||
1. Open [Google AI Studio (Gemini)](https://aistudio.google.com/)
|
||||
2. Create a new chat
|
||||
3. Copy the contents of `/Users/brianmadison/dev/BMAD-METHOD/.bmad-core/web-bundles/teams/team-fullstack.txt`
|
||||
1. Open [Google gems](https://gemini.google.com/gems/view)
|
||||
2. Create a new Gem - give it a title and description
|
||||
3. Copy the contents of `.<install location>/web-bundles/teams/team-fullstack.txt`
|
||||
4. Paste this content into Gemini to set up the team
|
||||
|
||||
### Gemini Planning Phase
|
||||
|
||||
@@ -3,6 +3,7 @@ bundle:
|
||||
icon: 🎮
|
||||
description: Game Development team specialized in 2D games using Phaser 3 and TypeScript.
|
||||
agents:
|
||||
- analyst
|
||||
- bmad-orchestrator
|
||||
- game-designer
|
||||
- game-developer
|
||||
|
||||
@@ -149,7 +149,7 @@ Create `expansion-packs/{pack-name}/plan.md` with:
|
||||
## Approval
|
||||
|
||||
User approval received: [ ] Yes
|
||||
```text
|
||||
```
|
||||
|
||||
Important: Wait for user approval before proceeding to Phase 2
|
||||
|
||||
@@ -282,34 +282,36 @@ IMPORTANT: Only proceed after plan.md is approved
|
||||
#### 3.1 Create Directory Structure
|
||||
|
||||
```
|
||||
|
||||
expansion-packs/
|
||||
└── {pack-name}/
|
||||
├── plan.md (ALREADY CREATED)
|
||||
├── manifest.yml
|
||||
├── README.md
|
||||
├── agents/
|
||||
│ ├── {pack-name}-orchestrator.md (REQUIRED - Custom themed orchestrator)
|
||||
│ └── {agent-id}.md (YAML-in-Markdown with persona)
|
||||
├── data/
|
||||
│ ├── {domain}-best-practices.md
|
||||
│ ├── {domain}-terminology.md
|
||||
│ └── {domain}-standards.md
|
||||
├── tasks/
|
||||
│ ├── create-doc.md (REQUIRED - Core utility)
|
||||
│ ├── execute-checklist.md (REQUIRED - Core utility)
|
||||
│ └── {task-name}.md (Domain-specific tasks)
|
||||
├── utils/
|
||||
│ ├── template-format.md (REQUIRED - Core utility)
|
||||
│ └── workflow-management.md (REQUIRED - Core utility)
|
||||
├── templates/
|
||||
│ └── {template-name}.md
|
||||
├── checklists/
|
||||
│ └── {checklist-name}.md
|
||||
├── workflows/
|
||||
│ └── {domain}-workflow.md (REQUIRED if multiple agents)
|
||||
└── agent-teams/
|
||||
└── {domain}-team.yml (REQUIRED if multiple agents)
|
||||
```text
|
||||
├── plan.md (ALREADY CREATED)
|
||||
├── manifest.yml
|
||||
├── README.md
|
||||
├── agents/
|
||||
│ ├── {pack-name}-orchestrator.md (REQUIRED - Custom themed orchestrator)
|
||||
│ └── {agent-id}.md (YAML-in-Markdown with persona)
|
||||
├── data/
|
||||
│ ├── {domain}-best-practices.md
|
||||
│ ├── {domain}-terminology.md
|
||||
│ └── {domain}-standards.md
|
||||
├── tasks/
|
||||
│ ├── create-doc.md (REQUIRED - Core utility)
|
||||
│ ├── execute-checklist.md (REQUIRED - Core utility)
|
||||
│ └── {task-name}.md (Domain-specific tasks)
|
||||
├── utils/
|
||||
│ ├── template-format.md (REQUIRED - Core utility)
|
||||
│ └── workflow-management.md (REQUIRED - Core utility)
|
||||
├── templates/
|
||||
│ └── {template-name}.md
|
||||
├── checklists/
|
||||
│ └── {checklist-name}.md
|
||||
├── workflows/
|
||||
│ └── {domain}-workflow.md (REQUIRED if multiple agents)
|
||||
└── agent-teams/
|
||||
└── {domain}-team.yml (REQUIRED if multiple agents)
|
||||
|
||||
```
|
||||
|
||||
#### 3.2 Create Manifest
|
||||
|
||||
@@ -445,7 +447,7 @@ cp bmad-core/tasks/execute-checklist.md expansion-packs/{pack-name}/tasks/
|
||||
mkdir -p expansion-packs/{pack-name}/utils
|
||||
cp bmad-core/utils/template-format.md expansion-packs/{pack-name}/utils/
|
||||
cp bmad-core/utils/workflow-management.md expansion-packs/{pack-name}/utils/
|
||||
```text
|
||||
```
|
||||
|
||||
**Step 3: Technical Implementation**
|
||||
|
||||
@@ -695,10 +697,10 @@ _{Professional background and expertise}_
|
||||
- `{file2}.{ext}` - {description}
|
||||
|
||||
2. **Launch Orchestrator**:
|
||||
|
||||
```bash
|
||||
npm run agent {pack-name}-orchestrator
|
||||
```
|
||||
````
|
||||
|
||||
3. **Follow Numbered Options**: {Character Name} will present numbered choices for each decision
|
||||
|
||||
@@ -728,14 +730,12 @@ _{Professional background and expertise}_
|
||||
### Knowledge Base
|
||||
|
||||
[Embedded domain expertise]
|
||||
|
||||
````
|
||||
|
||||
#### 6.3 Advanced Data File Documentation with Validation
|
||||
|
||||
For each required data file, provide comprehensive guidance:
|
||||
|
||||
```markdown
|
||||
## Required User Data Files
|
||||
|
||||
### {filename}.{ext}
|
||||
@@ -745,7 +745,6 @@ For each required data file, provide comprehensive guidance:
|
||||
- **Location**: Place in `bmad-core/data/`
|
||||
- **Validation**: {how agents will verify the file is correct}
|
||||
- **Example Structure**:
|
||||
````
|
||||
|
||||
{sample content showing exact format}
|
||||
|
||||
@@ -1021,3 +1020,11 @@ Embedded knowledge (automatic):
|
||||
- [ ] Template conditional content tested with different scenarios
|
||||
- [ ] Workflow decision trees validated with sample use cases
|
||||
- [ ] Character interactions tested for consistency and professional authenticity
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
10
package-lock.json
generated
10
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "bmad-method",
|
||||
"version": "4.5.0",
|
||||
"version": "4.6.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "bmad-method",
|
||||
"version": "4.5.0",
|
||||
"version": "4.6.3",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@kayvan/markdown-tree-parser": "^1.5.0",
|
||||
@@ -443,9 +443,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@kayvan/markdown-tree-parser": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@kayvan/markdown-tree-parser/-/markdown-tree-parser-1.5.0.tgz",
|
||||
"integrity": "sha512-Tjmhcgp7OQxc/w0kclTlbDZbR/hZxSabZTER+cdV9Vu7Om5wPAayjvIQfmEcxQe3nXYP4fbJhlZ+O0NmG08w8g==",
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@kayvan/markdown-tree-parser/-/markdown-tree-parser-1.6.0.tgz",
|
||||
"integrity": "sha512-d/6L71xHwjNGA+rt2rhGFKpxP/WTxO6egiGkNdoqIuGEgHYNUXJKDpnmDBMfESSHLXqgPargaPxmR74U8JxxXQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"remark-parse": "^11.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bmad-method",
|
||||
"version": "4.5.0",
|
||||
"version": "4.6.3",
|
||||
"description": "Breakthrough Method of Agile AI-driven Development",
|
||||
"main": "tools/cli.js",
|
||||
"bin": {
|
||||
|
||||
@@ -12,6 +12,11 @@ class WebBuilder {
|
||||
this.templatePath = path.join(this.rootDir, 'bmad-core', 'templates', 'web-agent-startup-instructions-template.md');
|
||||
}
|
||||
|
||||
parseYaml(content) {
|
||||
const yaml = require('js-yaml');
|
||||
return yaml.load(content);
|
||||
}
|
||||
|
||||
async cleanOutputDirs() {
|
||||
for (const dir of this.outputDirs) {
|
||||
try {
|
||||
@@ -232,7 +237,7 @@ class WebBuilder {
|
||||
const agentContent = await fs.readFile(agentPath, 'utf8');
|
||||
sections.push(this.formatSection(`agents#${agentName}`, agentContent));
|
||||
|
||||
// Resolve and add agent dependencies from expansion pack
|
||||
// Resolve and add agent dependencies
|
||||
const agentYaml = agentContent.match(/```yaml\n([\s\S]*?)\n```/);
|
||||
if (agentYaml) {
|
||||
try {
|
||||
@@ -240,16 +245,43 @@ class WebBuilder {
|
||||
const agentConfig = yaml.load(agentYaml[1]);
|
||||
|
||||
if (agentConfig.dependencies) {
|
||||
// Add resources from expansion pack
|
||||
// Add resources, first try expansion pack, then core
|
||||
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
||||
if (Array.isArray(resources)) {
|
||||
for (const resourceName of resources) {
|
||||
const resourcePath = path.join(packDir, resourceType, `${resourceName}.md`);
|
||||
try {
|
||||
const resourceContent = await fs.readFile(resourcePath, 'utf8');
|
||||
sections.push(this.formatSection(`${resourceType}#${resourceName}`, resourceContent));
|
||||
} catch (error) {
|
||||
// Resource might not exist in expansion pack, that's ok
|
||||
let found = false;
|
||||
const extensions = ['.md', '.yml', '.yaml'];
|
||||
|
||||
// Try expansion pack first
|
||||
for (const ext of extensions) {
|
||||
const resourcePath = path.join(packDir, resourceType, `${resourceName}${ext}`);
|
||||
try {
|
||||
const resourceContent = await fs.readFile(resourcePath, 'utf8');
|
||||
sections.push(this.formatSection(`${resourceType}#${resourceName}`, resourceContent));
|
||||
found = true;
|
||||
break;
|
||||
} catch (error) {
|
||||
// Not in expansion pack, continue
|
||||
}
|
||||
}
|
||||
|
||||
// If not found in expansion pack, try core
|
||||
if (!found) {
|
||||
for (const ext of extensions) {
|
||||
const corePath = path.join(this.rootDir, 'bmad-core', resourceType, `${resourceName}${ext}`);
|
||||
try {
|
||||
const coreContent = await fs.readFile(corePath, 'utf8');
|
||||
sections.push(this.formatSection(`${resourceType}#${resourceName}`, coreContent));
|
||||
found = true;
|
||||
break;
|
||||
} catch (error) {
|
||||
// Not in core either, continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
console.warn(` ⚠ Dependency ${resourceType}#${resourceName} not found in expansion pack or core`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -268,32 +300,164 @@ class WebBuilder {
|
||||
|
||||
const sections = [template];
|
||||
|
||||
// Add team configuration
|
||||
// Add team configuration and parse to get agent list
|
||||
const teamContent = await fs.readFile(teamConfigPath, 'utf8');
|
||||
const teamFileName = path.basename(teamConfigPath, '.yml');
|
||||
const teamConfig = this.parseYaml(teamContent);
|
||||
sections.push(this.formatSection(`agent-teams#${teamFileName}`, teamContent));
|
||||
|
||||
// Add bmad-orchestrator (required for all teams)
|
||||
const orchestratorPath = path.join(this.rootDir, 'bmad-core', 'agents', 'bmad-orchestrator.md');
|
||||
const orchestratorContent = await fs.readFile(orchestratorPath, 'utf8');
|
||||
sections.push(this.formatSection('agents#bmad-orchestrator', orchestratorContent));
|
||||
|
||||
// Add expansion pack agents
|
||||
// Get list of expansion pack agents
|
||||
const expansionAgents = new Set();
|
||||
const agentsDir = path.join(packDir, 'agents');
|
||||
try {
|
||||
const agentFiles = await fs.readdir(agentsDir);
|
||||
for (const agentFile of agentFiles.filter(f => f.endsWith('.md'))) {
|
||||
const agentPath = path.join(agentsDir, agentFile);
|
||||
const agentContent = await fs.readFile(agentPath, 'utf8');
|
||||
const agentName = agentFile.replace('.md', '');
|
||||
sections.push(this.formatSection(`agents#${agentName}`, agentContent));
|
||||
expansionAgents.add(agentName);
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(` ⚠ No agents directory found in ${packName}`);
|
||||
}
|
||||
|
||||
// Add expansion pack resources (templates, tasks, checklists)
|
||||
// Build a map of all available expansion pack resources for override checking
|
||||
const expansionResources = new Map();
|
||||
const resourceDirs = ['templates', 'tasks', 'checklists', 'workflows', 'data'];
|
||||
for (const resourceDir of resourceDirs) {
|
||||
const resourcePath = path.join(packDir, resourceDir);
|
||||
try {
|
||||
const resourceFiles = await fs.readdir(resourcePath);
|
||||
for (const resourceFile of resourceFiles.filter(f => f.endsWith('.md') || f.endsWith('.yml'))) {
|
||||
const fileName = resourceFile.replace(/\.(md|yml)$/, '');
|
||||
expansionResources.set(`${resourceDir}#${fileName}`, true);
|
||||
}
|
||||
} catch (error) {
|
||||
// Directory might not exist, that's fine
|
||||
}
|
||||
}
|
||||
|
||||
// Process all agents listed in team configuration
|
||||
const agentsToProcess = teamConfig.agents || [];
|
||||
|
||||
// Ensure bmad-orchestrator is always included for teams
|
||||
if (!agentsToProcess.includes('bmad-orchestrator')) {
|
||||
console.warn(` ⚠ Team ${teamFileName} missing bmad-orchestrator, adding automatically`);
|
||||
agentsToProcess.unshift('bmad-orchestrator');
|
||||
}
|
||||
|
||||
// Track all dependencies from all agents (deduplicated)
|
||||
const allDependencies = new Map();
|
||||
|
||||
for (const agentId of agentsToProcess) {
|
||||
|
||||
if (expansionAgents.has(agentId)) {
|
||||
// Use expansion pack version (override)
|
||||
const agentPath = path.join(agentsDir, `${agentId}.md`);
|
||||
const agentContent = await fs.readFile(agentPath, 'utf8');
|
||||
sections.push(this.formatSection(`agents#${agentId}`, agentContent));
|
||||
|
||||
// Parse and collect dependencies from expansion agent
|
||||
const agentYaml = agentContent.match(/```yaml\n([\s\S]*?)\n```/);
|
||||
if (agentYaml) {
|
||||
try {
|
||||
const agentConfig = this.parseYaml(agentYaml[1]);
|
||||
if (agentConfig.dependencies) {
|
||||
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
||||
if (Array.isArray(resources)) {
|
||||
for (const resourceName of resources) {
|
||||
const key = `${resourceType}#${resourceName}`;
|
||||
if (!allDependencies.has(key)) {
|
||||
allDependencies.set(key, { type: resourceType, name: resourceName });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.debug(`Failed to parse agent YAML for ${agentId}:`, error.message);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Use core BMAD version
|
||||
try {
|
||||
const coreAgentPath = path.join(this.rootDir, 'bmad-core', 'agents', `${agentId}.md`);
|
||||
const coreAgentContent = await fs.readFile(coreAgentPath, 'utf8');
|
||||
sections.push(this.formatSection(`agents#${agentId}`, coreAgentContent));
|
||||
|
||||
// Parse and collect dependencies from core agent
|
||||
const agentYaml = coreAgentContent.match(/```yaml\n([\s\S]*?)\n```/);
|
||||
if (agentYaml) {
|
||||
try {
|
||||
// Clean up the YAML to handle command descriptions after dashes
|
||||
let yamlContent = agentYaml[1];
|
||||
yamlContent = yamlContent.replace(/^(\s*-)(\s*"[^"]+")(\s*-\s*.*)$/gm, '$1$2');
|
||||
|
||||
const agentConfig = this.parseYaml(yamlContent);
|
||||
if (agentConfig.dependencies) {
|
||||
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
||||
if (Array.isArray(resources)) {
|
||||
for (const resourceName of resources) {
|
||||
const key = `${resourceType}#${resourceName}`;
|
||||
if (!allDependencies.has(key)) {
|
||||
allDependencies.set(key, { type: resourceType, name: resourceName });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.debug(`Failed to parse agent YAML for ${agentId}:`, error.message);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(` ⚠ Agent ${agentId} not found in core or expansion pack`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add all collected dependencies from agents
|
||||
// Always prefer expansion pack versions if they exist
|
||||
for (const [key, dep] of allDependencies) {
|
||||
let found = false;
|
||||
const extensions = ['.md', '.yml', '.yaml'];
|
||||
|
||||
// Always check expansion pack first, even if the dependency came from a core agent
|
||||
if (expansionResources.has(key)) {
|
||||
// We know it exists in expansion pack, find and load it
|
||||
for (const ext of extensions) {
|
||||
const expansionPath = path.join(packDir, dep.type, `${dep.name}${ext}`);
|
||||
try {
|
||||
const content = await fs.readFile(expansionPath, 'utf8');
|
||||
sections.push(this.formatSection(key, content));
|
||||
console.log(` ✓ Using expansion override for ${key}`);
|
||||
found = true;
|
||||
break;
|
||||
} catch (error) {
|
||||
// Try next extension
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If not found in expansion pack (or doesn't exist there), try core
|
||||
if (!found) {
|
||||
for (const ext of extensions) {
|
||||
const corePath = path.join(this.rootDir, 'bmad-core', dep.type, `${dep.name}${ext}`);
|
||||
try {
|
||||
const content = await fs.readFile(corePath, 'utf8');
|
||||
sections.push(this.formatSection(key, content));
|
||||
found = true;
|
||||
break;
|
||||
} catch (error) {
|
||||
// Not in core either, continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
console.warn(` ⚠ Dependency ${key} not found in expansion pack or core`);
|
||||
}
|
||||
}
|
||||
|
||||
// Add remaining expansion pack resources not already included as dependencies
|
||||
for (const resourceDir of resourceDirs) {
|
||||
const resourcePath = path.join(packDir, resourceDir);
|
||||
try {
|
||||
@@ -302,7 +466,12 @@ class WebBuilder {
|
||||
const filePath = path.join(resourcePath, resourceFile);
|
||||
const fileContent = await fs.readFile(filePath, 'utf8');
|
||||
const fileName = resourceFile.replace(/\.(md|yml)$/, '');
|
||||
sections.push(this.formatSection(`${resourceDir}#${fileName}`, fileContent));
|
||||
|
||||
// Only add if not already included as a dependency
|
||||
const resourceKey = `${resourceDir}#${fileName}`;
|
||||
if (!allDependencies.has(resourceKey)) {
|
||||
sections.push(this.formatSection(resourceKey, fileContent));
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
// Directory might not exist, that's fine
|
||||
|
||||
@@ -425,7 +425,10 @@ class Installer {
|
||||
console.log(chalk.cyan("\n📦 Starting v3 to v4 upgrade process..."));
|
||||
const V3ToV4Upgrader = require("../../upgraders/v3-to-v4-upgrader");
|
||||
const upgrader = new V3ToV4Upgrader();
|
||||
return await upgrader.upgrade({ projectPath: installDir });
|
||||
return await upgrader.upgrade({
|
||||
projectPath: installDir,
|
||||
ides: config.ides || [] // Pass IDE selections from initial config
|
||||
});
|
||||
}
|
||||
case "alongside":
|
||||
return await this.performFreshInstall(config, installDir, spinner);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bmad-method",
|
||||
"version": "4.5.0",
|
||||
"version": "4.6.3",
|
||||
"description": "BMAD Method installer - AI-powered Agile development framework",
|
||||
"main": "lib/installer.js",
|
||||
"bin": {
|
||||
|
||||
@@ -98,7 +98,7 @@ class V3ToV4Upgrader {
|
||||
|
||||
// 8. Setup IDE
|
||||
if (!options.dryRun) {
|
||||
await this.setupIDE(projectPath);
|
||||
await this.setupIDE(projectPath, options.ides);
|
||||
}
|
||||
|
||||
// 9. Show completion report
|
||||
@@ -379,8 +379,8 @@ class V3ToV4Upgrader {
|
||||
const spinner = ora("Installing V4 structure...").start();
|
||||
|
||||
try {
|
||||
// Get the source .bmad-core directory
|
||||
const sourcePath = path.join(__dirname, "..", "..", ".bmad-core");
|
||||
// Get the source bmad-core directory (without dot prefix)
|
||||
const sourcePath = path.join(__dirname, "..", "..", "bmad-core");
|
||||
const destPath = path.join(projectPath, ".bmad-core");
|
||||
|
||||
// Copy .bmad-core
|
||||
@@ -545,47 +545,37 @@ class V3ToV4Upgrader {
|
||||
}
|
||||
}
|
||||
|
||||
async setupIDE(projectPath) {
|
||||
const { ide } = await inquirer.prompt([
|
||||
{
|
||||
type: "list",
|
||||
name: "ide",
|
||||
message: "Which IDE are you using?",
|
||||
choices: [
|
||||
{ name: "Cursor", value: "cursor" },
|
||||
{ name: "Claude Code", value: "claude-code" },
|
||||
{ name: "Windsurf", value: "windsurf" },
|
||||
{ name: "Roo Code", value: "roo" },
|
||||
{ name: "VS Code", value: "skip" },
|
||||
{ name: "Other/Skip", value: "skip" },
|
||||
],
|
||||
},
|
||||
]);
|
||||
async setupIDE(projectPath, selectedIdes) {
|
||||
// Use the IDE selections passed from the installer
|
||||
if (!selectedIdes || selectedIdes.length === 0) {
|
||||
console.log(chalk.dim("No IDE setup requested - skipping"));
|
||||
return;
|
||||
}
|
||||
|
||||
const selectedIde = ide === "skip" ? null : ide;
|
||||
const ideSetup = require("../installer/lib/ide-setup");
|
||||
const spinner = ora("Setting up IDE rules for all agents...").start();
|
||||
|
||||
if (selectedIde) {
|
||||
const ideSetup = require("../installer/lib/ide-setup");
|
||||
const spinner = ora("Setting up IDE rules for all agents...").start();
|
||||
try {
|
||||
const ideMessages = {
|
||||
cursor: "Rules created in .cursor/rules/",
|
||||
"claude-code": "Commands created in .claude/commands/",
|
||||
windsurf: "Rules created in .windsurf/rules/",
|
||||
roo: "Custom modes created in .roomodes",
|
||||
};
|
||||
|
||||
try {
|
||||
await ideSetup.setup(selectedIde, projectPath);
|
||||
spinner.succeed("IDE setup complete!");
|
||||
|
||||
const ideMessages = {
|
||||
cursor: "Rules created in .cursor/rules/",
|
||||
"claude-code": "Commands created in .claude/commands/",
|
||||
windsurf: "Rules created in .windsurf/rules/",
|
||||
roo: "Custom modes created in .roomodes",
|
||||
};
|
||||
|
||||
console.log(chalk.green(`- ${ideMessages[selectedIde]}`));
|
||||
} catch (error) {
|
||||
spinner.fail("IDE setup failed");
|
||||
console.error(
|
||||
chalk.yellow("IDE setup failed, but upgrade is complete.")
|
||||
);
|
||||
// Setup each selected IDE
|
||||
for (const ide of selectedIdes) {
|
||||
spinner.text = `Setting up ${ide}...`;
|
||||
await ideSetup.setup(ide, projectPath);
|
||||
console.log(chalk.green(`\n✓ ${ideMessages[ide]}`));
|
||||
}
|
||||
|
||||
spinner.succeed(`IDE setup complete for ${selectedIdes.length} IDE(s)!`);
|
||||
} catch (error) {
|
||||
spinner.fail("IDE setup failed");
|
||||
console.error(
|
||||
chalk.yellow("IDE setup failed, but upgrade is complete.")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user