fix: orchestractor yml

This commit is contained in:
Brian Madison
2025-06-17 22:22:05 -05:00
parent 7ecf47f8cf
commit 3727cc764a
11 changed files with 412 additions and 2339 deletions

View File

@@ -22,68 +22,67 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: startup:
- Announce: Introduce yourself, what you are capable of, and let the user know they can 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- `*help` - display the help-display-template menu for user selection help: Show this guide with available agents and workflows
- `*chat-mode` - Conversational mode with advanced-elicitation chat-mode: Start conversational mode for detailed assistance
- `*kb-mode` - Load knowledge base for full BMAD help kb-mode: Load full BMAD knowledge base
- `*status` - Show current context/agent/progress status: Show current context, active agent, and progress
- `*agent {name}` - Transform into agent (list if unspecified) agent: Transform into a specialized agent (list if name not specified)
- `*exit` - Return to BMad or exit (confirm if exiting BMad) exit: Return to BMad or exit session
- `*task {name}` - Run task (list if unspecified) task: Run a specific task (list if name not specified)
- `*workflow {type}` - Start workflow workflow: Start a specific workflow (list if name not specified)
- `*workflow-guidance` - Get help selecting the right workflow for your project workflow-guidance: Get personalized help selecting the right workflow
- `*checklist {name}` - Execute checklist (list if unspecified) checklist: Execute a checklist (list if name not specified)
- `*yolo` - Toggle skip confirmations yolo: Toggle skip confirmations mode
- `*party-mode` - Group chat with all agents party-mode: Group chat with all agents
- `*doc-out` - Output full document 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"
help-display-template: | help-display-template: |
Orchestrator Commands: === BMAD Orchestrator Commands ===
*help: Show this guide All commands must start with * (asterisk)
*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: Core Commands:
*agent {name}: Transform into a specialized agent *help ............... Show this guide
*task {name}: Run a specific task (when in an agent) *chat-mode .......... Start conversational mode for detailed assistance
*checklist {name}: Execute a checklist (when in an agent) *kb-mode ............ Load full BMAD knowledge base
*status ............. Show current context, active agent, and progress
*exit ............... Return to BMad or exit session
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 Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
@@ -95,7 +94,7 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime

View File

@@ -2015,7 +2015,7 @@ Document the choice and key services that will be used.]]
### Repository Structure ### 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 1. For modern fullstack apps, monorepo is often preferred
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces) 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -2193,7 +2193,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
```text ```
**Relationships:** **Relationships:**
@@ -2439,7 +2439,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```text ```text
{{route_structure}} {{route_structure}}
```text ```
**Protected Route Pattern:** **Protected Route Pattern:**

View File

@@ -4603,7 +4603,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
```text ```
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**
@@ -4970,7 +4970,7 @@ Document the choice and key services that will be used.]]
### Repository Structure ### 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 1. For modern fullstack apps, monorepo is often preferred
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces) 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -5148,7 +5148,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
```text ```
**Relationships:** **Relationships:**
@@ -5394,7 +5394,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```text ```text
{{route_structure}} {{route_structure}}
```text ```
**Protected Route Pattern:** **Protected Route Pattern:**
@@ -6285,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: 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 - 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 - 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. - 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. - 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.
@@ -6317,7 +6317,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS: [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
- Stories within each epic MUST be logically sequential - 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 - No story should depend on work from a later story or epic
- Identify and note any direct prerequisite stories - 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. - 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.

View File

@@ -63,72 +63,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -139,24 +135,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation

469
dist/agents/pm.txt vendored
View File

@@ -89,7 +89,6 @@ dependencies:
templates: templates:
- prd-tmpl - prd-tmpl
- brownfield-prd-tmpl - brownfield-prd-tmpl
- simple-project-prd-tmpl
checklists: checklists:
- pm-checklist - pm-checklist
- change-checklist - change-checklist
@@ -1265,7 +1264,7 @@ Document sharded successfully:
CRITICAL: Epics MUST be logically sequential following agile best practices: 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 - 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 - 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. - 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. - 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: [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
- Stories within each epic MUST be logically sequential - 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 - No story should depend on work from a later story or epic
- Identify and note any direct prerequisite stories - 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. - 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>> <</REPEAT>>
==================== END: templates#brownfield-prd-tmpl ==================== ==================== 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;
}
}
```
**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
```
^^/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 ==================== ==================== START: checklists#pm-checklist ====================
# Product Manager (PM) Requirements Checklist # Product Manager (PM) Requirements Checklist

View File

@@ -770,7 +770,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
```text ```
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**

View File

@@ -78,72 +78,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -154,24 +150,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation

View File

@@ -80,72 +80,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -156,24 +152,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation
@@ -436,7 +425,6 @@ dependencies:
templates: templates:
- prd-tmpl - prd-tmpl
- brownfield-prd-tmpl - brownfield-prd-tmpl
- simple-project-prd-tmpl
checklists: checklists:
- pm-checklist - pm-checklist
- change-checklist - change-checklist
@@ -4021,7 +4009,7 @@ Document the choice and key services that will be used.]]
### Repository Structure ### 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 1. For modern fullstack apps, monorepo is often preferred
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces) 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -4199,7 +4187,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
```text ```
**Relationships:** **Relationships:**
@@ -4445,7 +4433,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```text ```text
{{route_structure}} {{route_structure}}
```text ```
**Protected Route Pattern:** **Protected Route Pattern:**
@@ -6738,7 +6726,7 @@ Document sharded successfully:
CRITICAL: Epics MUST be logically sequential following agile best practices: 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 - 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 - 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. - 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. - 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.
@@ -6770,7 +6758,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS: [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
- Stories within each epic MUST be logically sequential - 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 - No story should depend on work from a later story or epic
- Identify and note any direct prerequisite stories - 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. - 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.
@@ -7065,470 +7053,6 @@ so that {{benefit}}.
<</REPEAT>> <</REPEAT>>
==================== END: templates#brownfield-prd-tmpl ==================== ==================== 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;
}
}
```
**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
```
^^/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 ==================== ==================== START: checklists#pm-checklist ====================
# Product Manager (PM) Requirements Checklist # Product Manager (PM) Requirements Checklist
@@ -9156,7 +8680,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
```text ```
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**

View File

@@ -84,72 +84,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -160,24 +156,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation
@@ -303,7 +292,6 @@ dependencies:
templates: templates:
- prd-tmpl - prd-tmpl
- brownfield-prd-tmpl - brownfield-prd-tmpl
- simple-project-prd-tmpl
checklists: checklists:
- pm-checklist - pm-checklist
- change-checklist - change-checklist
@@ -3097,7 +3085,7 @@ Document sharded successfully:
CRITICAL: Epics MUST be logically sequential following agile best practices: 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 - 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 - 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. - 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. - 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.
@@ -3129,7 +3117,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS: [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
- Stories within each epic MUST be logically sequential - 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 - No story should depend on work from a later story or epic
- Identify and note any direct prerequisite stories - 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. - 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.
@@ -3424,470 +3412,6 @@ so that {{benefit}}.
<</REPEAT>> <</REPEAT>>
==================== END: templates#brownfield-prd-tmpl ==================== ==================== 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;
}
}
```
**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
```
^^/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 ==================== ==================== START: checklists#pm-checklist ====================
# Product Manager (PM) Requirements Checklist # Product Manager (PM) Requirements Checklist
@@ -4645,7 +4169,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
```text ```
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**
@@ -6357,7 +5881,7 @@ Document the choice and key services that will be used.]]
### Repository Structure ### 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 1. For modern fullstack apps, monorepo is often preferred
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces) 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -6535,7 +6059,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
```text ```
**Relationships:** **Relationships:**
@@ -6781,7 +6305,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```text ```text
{{route_structure}} {{route_structure}}
```text ```
**Protected Route Pattern:** **Protected Route Pattern:**

View File

@@ -76,72 +76,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -152,24 +148,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation

View File

@@ -79,72 +79,68 @@ persona:
- When embodied, specialized persona's principles take precedence - When embodied, specialized persona's principles take precedence
- Be explicit about active persona and current task - Be explicit about active persona and current task
- Always use numbered lists for choices - Always use numbered lists for choices
- Process (*) commands immediately - Process commands starting with * immediately
- Always remind users that commands require * prefix
startup: 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 - Assess user goal against available agents and workflows in this bundle
- If clear match to an agent's expertise, suggest transformation - If clear match to an agent's expertise, suggest transformation with *agent command
- If project-oriented, explore available workflows and guide selection - If project-oriented, suggest *workflow-guidance to explore options
- Load resources only when needed - Load resources only when needed - never pre-load
commands: commands: # All commands require * prefix when used (e.g., *help, *agent pm)
- '*help" - Show commands/workflows/agents' help: Show this guide with available agents and workflows
- '*chat-mode" - Conversational mode with advanced-elicitation' chat-mode: Start conversational mode for detailed assistance
- '*kb-mode" - Load knowledge base for full BMAD help' kb-mode: Load full BMAD knowledge base
- '*status" - Show current context/agent/progress' status: Show current context, active agent, and progress
- '*agent {name}" - Transform into agent (list if unspecified)' agent: Transform into a specialized agent (list if name not specified)
- '*exit" - Return to BMad or exit (confirm if exiting BMad)' exit: Return to BMad or exit session
- '*task {name}" - Run task (list if unspecified)' task: Run a specific task (list if name not specified)
- '*workflow {type}" - Start/list workflows' workflow: Start a specific workflow (list if name not specified)
- '*workflow-guidance" - Get help selecting the right workflow for your project' workflow-guidance: Get personalized help selecting the right workflow
- '*checklist {name}" - Execute checklist (list if unspecified)' checklist: Execute a checklist (list if name not specified)
- '*yolo" - Toggle skip confirmations' yolo: Toggle skip confirmations mode
- '*party-mode" - Group chat with all agents' party-mode: Group chat with all agents
- '*doc-out" - Output full document' 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"
help-display-template: | 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: Agent & Task Management:
*help: Show this guide *agent [name] ....... Transform into specialized agent (list if no name)
*chat-mode: Start conversational mode for detailed assistance *task [name] ........ Run specific task (list if no name, requires agent)
*kb-mode: Load full BMAD knowledge base *checklist [name] ... Execute checklist (list if no name, requires agent)
*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)
Workflow Commands: Workflow Commands:
*workflow {name}: Start a specific workflow directly *workflow [name] .... Start specific workflow (list if no name)
*workflow-guidance: Get personalized help selecting the right workflow for your project *workflow-guidance .. Get personalized help selecting the right workflow
Available Specialist Agents: Other Commands:
[For each agent in bundle, show: *yolo ............... Toggle skip confirmations mode
*agent {name}: {role/title} *party-mode ......... Group chat with all agents
Specializes in: {key capabilities from agent's whenToUse} *doc-out ............ Output full document
Can create: {list of documents/deliverables this agent produces}]
Available Workflows: === Available Specialist Agents ===
[For each workflow in bundle, show: [Dynamically list each agent in bundle with format:
*workflow {name}: {workflow description}] *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: fuzzy-matching:
- 85% confidence threshold - 85% confidence threshold
- Show numbered list if unsure - Show numbered list if unsure
@@ -155,24 +151,17 @@ transformation:
loading: loading:
- KB: Only for *kb-mode or BMAD questions - KB: Only for *kb-mode or BMAD questions
- Agents: Only when transforming - Agents: Only when transforming
- 'Templates/Tasks: Only when executing' - Templates/Tasks: Only when executing
- Always indicate loading - Always indicate loading
workflow-guidance: workflow-guidance:
- Discover available workflows in the bundle at runtime - Discover available workflows in the bundle at runtime
- Understand each workflow's purpose, options, and decision points - Understand each workflow's purpose, options, and decision points
- Ask clarifying questions based on the workflow's structure - Ask clarifying questions based on the workflow's structure
- Guide users through workflow selection when multiple options exist - 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) - 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 - Only recommend workflows that actually exist in the current bundle
workflow-guidance-command: - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
- 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
dependencies: dependencies:
tasks: tasks:
- advanced-elicitation - advanced-elicitation
@@ -298,7 +287,6 @@ dependencies:
templates: templates:
- prd-tmpl - prd-tmpl
- brownfield-prd-tmpl - brownfield-prd-tmpl
- simple-project-prd-tmpl
checklists: checklists:
- pm-checklist - pm-checklist
- change-checklist - change-checklist
@@ -3029,7 +3017,7 @@ Document sharded successfully:
CRITICAL: Epics MUST be logically sequential following agile best practices: 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 - 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 - 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. - 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. - 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.
@@ -3061,7 +3049,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS: [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
- Stories within each epic MUST be logically sequential - 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 - No story should depend on work from a later story or epic
- Identify and note any direct prerequisite stories - 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. - 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.
@@ -3356,470 +3344,6 @@ so that {{benefit}}.
<</REPEAT>> <</REPEAT>>
==================== END: templates#brownfield-prd-tmpl ==================== ==================== 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;
}
}
```
**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
```
^^/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 ==================== ==================== START: checklists#pm-checklist ====================
# Product Manager (PM) Requirements Checklist # Product Manager (PM) Requirements Checklist
@@ -5821,7 +5345,7 @@ Document the choice and key services that will be used.]]
### Repository Structure ### 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 1. For modern fullstack apps, monorepo is often preferred
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces) 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -5999,7 +5523,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
```text ```
**Relationships:** **Relationships:**
@@ -6245,7 +5769,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```text ```text
{{route_structure}} {{route_structure}}
```text ```
**Protected Route Pattern:** **Protected Route Pattern:**