feat(templates): Consolidate project brief templates and reorganize Memory Bank templates

Consolidated duplicate project brief templates into a unified solution that supports
multiple workflow modes, and moved all Memory Bank templates to base templates folder.

Template Consolidation:
- Merged project-brief-tmpl.yaml and projectbrief-tmpl.yaml into unified template
- Created mode-based template supporting 3 workflows:
  * Comprehensive Mode: Full product development brief with elicitation
  * Memory Bank Mode: Foundation document for Memory Bank system
  * Rapid Mode: Quick project documentation with structured prompts
- Maintains backward compatibility while eliminating duplication

Template Organization:
- Moved all Memory Bank templates from memory-bank/ to base templates/ folder
- Updated all agents to include Memory Bank templates in dependencies
- Simplified template structure and references across framework

Updated Components:
- architect.md: Added all Memory Bank templates to dependencies
- dev.md: Added activeContext and progress templates
- po.md: Added relevant Memory Bank templates for requirements management
- initialize-memory-bank.md: Updated template references and added usage notes

Benefits:
- Single source of truth for project brief creation
- Flexible workflow support for different use cases
- Simplified template management and discovery
- Consistent framework organization
- Better integration between standalone and Memory Bank workflows
This commit is contained in:
Lucas C 2025-07-20 18:53:49 +02:00
parent 7b8ca9e683
commit 6bea90f3f2
11 changed files with 337 additions and 350 deletions

View File

@ -103,6 +103,12 @@ dependencies:
- fullstack-architecture-tmpl.yaml - fullstack-architecture-tmpl.yaml
- brownfield-architecture-tmpl.yaml - brownfield-architecture-tmpl.yaml
- adr-tmpl.yaml - adr-tmpl.yaml
- project-brief-tmpl.yaml
- productContext-tmpl.yaml
- systemPatterns-tmpl.yaml
- techContext-tmpl.yaml
- activeContext-tmpl.yaml
- progress-tmpl.yaml
checklists: checklists:
- architect-checklist.md - architect-checklist.md
data: data:

View File

@ -98,4 +98,6 @@ dependencies:
- story-dod-checklist.md - story-dod-checklist.md
templates: templates:
- dev-journal-tmpl.md - dev-journal-tmpl.md
- activeContext-tmpl.yaml
- progress-tmpl.yaml
``` ```

View File

@ -80,6 +80,10 @@ dependencies:
- update-memory-bank.md - update-memory-bank.md
templates: templates:
- story-tmpl.yaml - story-tmpl.yaml
- project-brief-tmpl.yaml
- productContext-tmpl.yaml
- activeContext-tmpl.yaml
- progress-tmpl.yaml
checklists: checklists:
- po-master-checklist.md - po-master-checklist.md
- change-checklist.md - change-checklist.md

View File

@ -37,6 +37,8 @@ Foundation document - the source of truth for project scope:
- Success criteria - Success criteria
- Constraints and boundaries - Constraints and boundaries
**Note**: Use `project-brief-tmpl.yaml` template in **Memory Bank mode** to generate this file. This ensures compatibility with both standalone project briefs and Memory Bank integration.
#### 3.2 Product Context (`productContext.md`) #### 3.2 Product Context (`productContext.md`)
The "why" behind the project: The "why" behind the project:
- Problems being solved - Problems being solved
@ -129,8 +131,8 @@ After creating initial files:
## Templates ## Templates
Use the memory bank templates from `bmad-core/templates/memory-bank/`: Use the memory bank templates from `bmad-core/templates/`:
- `projectbrief-tmpl.yaml` - `project-brief-tmpl.yaml` (use Memory Bank mode)
- `productContext-tmpl.yaml` - `productContext-tmpl.yaml`
- `systemPatterns-tmpl.yaml` - `systemPatterns-tmpl.yaml`
- `techContext-tmpl.yaml` - `techContext-tmpl.yaml`

View File

@ -1,171 +0,0 @@
template:
id: memory-bank-projectbrief-v1
name: Memory Bank - Project Brief
version: 1.0
output:
format: markdown
filename: docs/memory-bank/projectbrief.md
title: "Project Brief"
description: |
Foundation document - the source of truth for project scope.
This file defines the project foundation. All other memory bank files build upon this brief.
workflow:
mode: guided
instruction: |
For new projects: Interview user about project goals, understand target users, define success criteria, identify constraints.
For existing projects: Analyze current state from documentation, README files, architecture docs, and existing code.
sections:
- id: overview
title: Project Overview
instruction: Capture the essential project information
template: |
**Project Name**: {{project_name}}
**Version**: {{version | default: "1.0"}}
**Last Updated**: {{current_date}}
**Status**: {{status | options: "Active, Planning, On Hold"}}
- id: core-purpose
title: Core Purpose
instruction: Write one paragraph describing what this project is and why it exists
template: |
{{core_purpose_description}}
- id: goals-objectives
title: Goals and Objectives
instruction: Define primary goals and measurable success criteria
template: |
### Primary Goals
{{#each primary_goals}}
{{@index + 1}}. {{this}}
{{/each}}
### Success Criteria
{{#each success_criteria}}
- [ ] {{this}}
{{/each}}
- id: scope
title: Scope
instruction: Clearly define what's in and out of scope
template: |
### In Scope
{{#each in_scope}}
- {{this}}
{{/each}}
### Out of Scope
{{#each out_scope}}
- {{this}}
{{/each}}
- id: constraints
title: Constraints
instruction: Document all types of constraints affecting the project
template: |
### Technical Constraints
{{#each technical_constraints}}
- {{this}}
{{/each}}
### Business Constraints
{{#each business_constraints}}
- {{this}}
{{/each}}
### Regulatory/Compliance
{{#each regulatory_constraints}}
- {{this}}
{{/each}}
- id: target-users
title: Target Users
instruction: Define primary and secondary user groups
template: |
### Primary Users
- **User Type**: {{primary_user_type}}
- **Needs**: {{primary_user_needs}}
- **Volume**: {{primary_user_volume}}
### Secondary Users
- **User Type**: {{secondary_user_type}}
- **Needs**: {{secondary_user_needs}}
- id: key-requirements
title: Key Requirements
instruction: List functional and non-functional requirements
template: |
### Functional Requirements
{{#each functional_requirements}}
{{@index + 1}}. {{this}}
{{/each}}
### Non-Functional Requirements
- **Performance**: {{performance_requirements}}
- **Security**: {{security_requirements}}
- **Scalability**: {{scalability_requirements}}
- **Reliability**: {{reliability_requirements}}
- id: timeline
title: Timeline
instruction: Define major milestones and current phase
template: |
### Major Milestones
| Milestone | Target Date | Description |
|-----------|-------------|-------------|
{{#each milestones}}
| {{this.name}} | {{this.date}} | {{this.description}} |
{{/each}}
### Current Phase
{{current_phase_description}}
- id: stakeholders
title: Stakeholders
instruction: Identify primary stakeholders and decision makers
template: |
### Primary Stakeholders
{{#each stakeholders}}
- **{{this.role}}**: {{this.name}} - {{this.interest}}
{{/each}}
### Key Decision Makers
{{#each decision_makers}}
- **{{this.role}}**: {{this.name}} - {{this.decisions}}
{{/each}}
- id: references
title: References
instruction: Link to related documentation
template: |
{{#each references}}
- {{this}}
{{/each}}
prompts:
project_name: "What is the project name?"
status: "What is the current project status? (Active/Planning/On Hold)"
core_purpose_description: "Describe in one paragraph what this project is and why it exists"
primary_goals: "List 3-5 primary goals for this project"
success_criteria: "Define 3-5 measurable success criteria"
in_scope: "What is IN scope for this project? (features, capabilities, platforms)"
out_scope: "What is explicitly OUT of scope?"
technical_constraints: "List any technical constraints (technology limitations, platform requirements, integration constraints)"
business_constraints: "List any business constraints (timeline, budget, resources)"
regulatory_constraints: "List any regulatory/compliance requirements"
primary_user_type: "Describe the primary user type"
primary_user_needs: "What do primary users need from this system?"
primary_user_volume: "Expected number of primary users"
secondary_user_type: "Describe secondary user types (if any)"
secondary_user_needs: "What do secondary users need?"
functional_requirements: "List 3-5 core functional requirements"
performance_requirements: "Define performance targets"
security_requirements: "Define security requirements"
scalability_requirements: "Define scalability expectations"
reliability_requirements: "Define reliability/uptime requirements"
milestones: "Define major milestones with dates and descriptions"
current_phase_description: "Describe the current project phase"
stakeholders: "List primary stakeholders with roles and interests"
decision_makers: "List key decision makers and what they decide"
references: "List links to related documentation"

View File

@ -1,17 +1,35 @@
template: template:
id: project-brief-template-v2 id: unified-project-brief-v3
name: Project Brief name: Unified Project Brief
version: 2.0 version: 3.0
output: output:
format: markdown format: markdown
filename: docs/brief.md filename: "{{output_path}}"
title: "Project Brief: {{project_name}}" title: "Project Brief: {{project_name}}"
description: |
Comprehensive project brief template supporting multiple workflows:
- Product development with elicitation and MVP planning
- Memory bank foundation document for AI context
- Rapid project documentation for quick starts
workflow: workflow:
mode: interactive mode_selection:
instruction: |
Choose the workflow mode that best fits your needs:
1. **Comprehensive Mode** - Full product development brief with guided elicitation
Output: docs/brief.md
2. **Memory Bank Mode** - Foundation document for Memory Bank system
Output: docs/memory-bank/projectbrief.md
3. **Rapid Mode** - Quick project documentation with structured prompts
Output: docs/brief.md
elicitation: advanced-elicitation elicitation: advanced-elicitation
custom_elicitation: custom_elicitation:
title: "Project Brief Elicitation Actions" title: "Project Brief Enhancement Actions"
condition: "mode == 'comprehensive'"
options: options:
- "Expand section with more specific details" - "Expand section with more specific details"
- "Validate against similar successful products" - "Validate against similar successful products"
@ -26,196 +44,322 @@ workflow:
sections: sections:
- id: introduction - id: introduction
condition: "mode == 'comprehensive'"
instruction: | instruction: |
This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development. This template guides creation of a comprehensive Project Brief for product development.
Understand what inputs are available (brainstorming results, market research, competitive analysis)
Start by asking the user which mode they prefer: and gather project context before beginning.
1. **Interactive Mode** - Work through each section collaboratively
2. **YOLO Mode** - Generate complete draft for review and refinement
Before beginning, understand what inputs are available (brainstorming results, market research, competitive analysis, initial ideas) and gather project context.
- id: executive-summary - id: project-overview
title: Executive Summary title: Project Overview
instruction: | instruction: Capture essential project information and core purpose
Create a concise overview that captures the essence of the project. Include: template: |
- Product concept in 1-2 sentences {{#if is_memory_bank_mode}}
- Primary problem being solved **Project Name**: {{project_name}}
- Target market identification **Version**: {{version | default: "1.0"}}
- Key value proposition **Last Updated**: {{current_date}}
template: "{{executive_summary_content}}" **Status**: {{status | options: "Active, Planning, On Hold"}}
{{else}}
## Executive Summary
{{executive_summary_content}}
{{/if}}
## Core Purpose
{{core_purpose_description}}
- id: problem-statement - id: problem-statement
title: Problem Statement title: Problem Statement
instruction: | instruction: |
Articulate the problem with clarity and evidence. Address: {{#if is_comprehensive_mode}}
- Current state and pain points Articulate the problem with clarity and evidence. Address current state, impact,
- Impact of the problem (quantify if possible) why existing solutions fall short, and urgency of solving this now.
- Why existing solutions fall short {{else}}
- Urgency and importance of solving this now Describe the main problem this project solves and its impact.
template: "{{detailed_problem_description}}" {{/if}}
template: |
{{#if is_comprehensive_mode}}
{{detailed_problem_description}}
{{else}}
{{problem_description}}
{{/if}}
- id: proposed-solution - id: proposed-solution
title: Proposed Solution title: Proposed Solution
instruction: | condition: "mode != 'memory_bank'"
Describe the solution approach at a high level. Include: instruction: Describe the solution approach and key differentiators
- Core concept and approach template: |
- Key differentiators from existing solutions {{solution_description}}
- Why this solution will succeed where others haven't
- High-level vision for the product
template: "{{solution_description}}"
- id: target-users - id: target-users
title: Target Users title: Target Users
instruction: | instruction: Define and characterize the intended users
Define and characterize the intended users with specificity. For each user segment include: template: |
- Demographic/firmographic profile ### Primary Users
- Current behaviors and workflows {{#if is_memory_bank_mode}}
- Specific needs and pain points - **User Type**: {{primary_user_type}}
- Goals they're trying to achieve - **Needs**: {{primary_user_needs}}
sections: - **Volume**: {{primary_user_volume}}
- id: primary-segment {{else}}
title: "Primary User Segment: {{segment_name}}" {{primary_user_description}}
template: "{{primary_user_description}}" {{/if}}
- id: secondary-segment
title: "Secondary User Segment: {{segment_name}}"
condition: Has secondary user segment
template: "{{secondary_user_description}}"
- id: goals-metrics {{#if secondary_users}}
title: Goals & Success Metrics ### Secondary Users
instruction: Establish clear objectives and how to measure success. Make goals SMART (Specific, Measurable, Achievable, Relevant, Time-bound) {{#if is_memory_bank_mode}}
sections: - **User Type**: {{secondary_user_type}}
- id: business-objectives - **Needs**: {{secondary_user_needs}}
title: Business Objectives {{else}}
type: bullet-list {{secondary_user_description}}
template: "- {{objective_with_metric}}" {{/if}}
- id: user-success-metrics {{/if}}
title: User Success Metrics
type: bullet-list
template: "- {{user_metric}}"
- id: kpis
title: Key Performance Indicators (KPIs)
type: bullet-list
template: "- {{kpi}}: {{definition_and_target}}"
- id: mvp-scope - id: goals-objectives
title: MVP Scope title: Goals & Objectives
instruction: Define the minimum viable product clearly. Be specific about what's in and what's out. Help user distinguish must-haves from nice-to-haves. instruction: Define primary goals and measurable success criteria
sections: template: |
- id: core-features ### Primary Goals
title: Core Features (Must Have) {{#each primary_goals}}
type: bullet-list {{@index + 1}}. {{this}}
template: "- **{{feature}}:** {{description_and_rationale}}" {{/each}}
- id: out-of-scope
title: Out of Scope for MVP
type: bullet-list
template: "- {{feature_or_capability}}"
- id: mvp-success-criteria
title: MVP Success Criteria
template: "{{mvp_success_definition}}"
- id: post-mvp-vision ### Success Criteria
title: Post-MVP Vision {{#each success_criteria}}
instruction: Outline the longer-term product direction without overcommitting to specifics - [ ] {{this}}
sections: {{/each}}
- id: phase-2-features
title: Phase 2 Features
template: "{{next_priority_features}}"
- id: long-term-vision
title: Long-term Vision
template: "{{one_two_year_vision}}"
- id: expansion-opportunities
title: Expansion Opportunities
template: "{{potential_expansions}}"
- id: technical-considerations {{#if is_comprehensive_mode}}
title: Technical Considerations ### Key Performance Indicators (KPIs)
instruction: Document known technical constraints and preferences. Note these are initial thoughts, not final decisions. {{#each kpis}}
sections: - {{this}}
- id: platform-requirements {{/each}}
title: Platform Requirements {{/if}}
template: |
- **Target Platforms:** {{platforms}}
- **Browser/OS Support:** {{specific_requirements}}
- **Performance Requirements:** {{performance_specs}}
- id: technology-preferences
title: Technology Preferences
template: |
- **Frontend:** {{frontend_preferences}}
- **Backend:** {{backend_preferences}}
- **Database:** {{database_preferences}}
- **Hosting/Infrastructure:** {{infrastructure_preferences}}
- id: architecture-considerations
title: Architecture Considerations
template: |
- **Repository Structure:** {{repo_thoughts}}
- **Service Architecture:** {{service_thoughts}}
- **Integration Requirements:** {{integration_needs}}
- **Security/Compliance:** {{security_requirements}}
- id: constraints-assumptions - id: scope
title: Constraints & Assumptions title: Scope
instruction: Clearly state limitations and assumptions to set realistic expectations instruction: Clearly define what's in and out of scope
sections: template: |
- id: constraints ### In Scope
title: Constraints {{#each in_scope}}
template: | - {{this}}
- **Budget:** {{budget_info}} {{/each}}
- **Timeline:** {{timeline_info}}
- **Resources:** {{resource_info}}
- **Technical:** {{technical_constraints}}
- id: key-assumptions
title: Key Assumptions
type: bullet-list
template: "- {{assumption}}"
- id: risks-questions ### Out of Scope
title: Risks & Open Questions {{#each out_scope}}
instruction: Identify unknowns and potential challenges proactively - {{this}}
sections: {{/each}}
- id: key-risks
title: Key Risks {{#if is_comprehensive_mode}}
type: bullet-list ### MVP Scope
template: "- **{{risk}}:** {{description_and_impact}}" {{#each mvp_scope}}
- id: open-questions - {{this}}
title: Open Questions {{/each}}
type: bullet-list {{/if}}
template: "- {{question}}"
- id: research-areas - id: constraints
title: Areas Needing Further Research title: Constraints
type: bullet-list instruction: Document constraints affecting the project
template: "- {{research_topic}}" template: |
### Technical Constraints
{{#each technical_constraints}}
- {{this}}
{{/each}}
### Business Constraints
{{#each business_constraints}}
- {{this}}
{{/each}}
{{#if regulatory_constraints}}
### Regulatory/Compliance
{{#each regulatory_constraints}}
- {{this}}
{{/each}}
{{/if}}
- id: requirements
title: Key Requirements
condition: "mode != 'rapid'"
instruction: List functional and non-functional requirements
template: |
### Functional Requirements
{{#each functional_requirements}}
{{@index + 1}}. {{this}}
{{/each}}
### Non-Functional Requirements
- **Performance**: {{performance_requirements}}
- **Security**: {{security_requirements}}
- **Scalability**: {{scalability_requirements}}
- **Reliability**: {{reliability_requirements}}
- id: stakeholders
title: Stakeholders
condition: "mode == 'memory_bank' || mode == 'comprehensive'"
instruction: Identify stakeholders and decision makers
template: |
### Primary Stakeholders
{{#each stakeholders}}
- **{{this.role}}**: {{this.name}} - {{this.interest}}
{{/each}}
### Key Decision Makers
{{#each decision_makers}}
- **{{this.role}}**: {{this.name}} - {{this.decisions}}
{{/each}}
- id: timeline
title: Timeline & Milestones
condition: "mode != 'rapid'"
instruction: Define timeline and major milestones
template: |
### Major Milestones
| Milestone | Target Date | Description |
|-----------|-------------|-------------|
{{#each milestones}}
| {{this.name}} | {{this.date}} | {{this.description}} |
{{/each}}
### Current Phase
{{current_phase_description}}
- id: technology-considerations
title: Technology Considerations
condition: "mode == 'comprehensive'"
instruction: Document technology stack preferences and constraints
template: |
### Technology Preferences
{{#each tech_preferences}}
- **{{this.category}}**: {{this.preference}} - {{this.rationale}}
{{/each}}
### Technical Architecture
{{technical_architecture_notes}}
- id: risks-assumptions
title: Risks & Assumptions
condition: "mode == 'comprehensive'"
instruction: Document key risks and assumptions
template: |
### Key Assumptions
{{#each assumptions}}
{{@index + 1}}. {{this}}
{{/each}}
### Primary Risks
{{#each risks}}
- **Risk**: {{this.risk}}
- **Impact**: {{this.impact}}
- **Mitigation**: {{this.mitigation}}
{{/each}}
- id: post-mvp
title: Post-MVP Planning
condition: "mode == 'comprehensive'"
instruction: Plan beyond MVP for future development
template: |
### Phase 2 Features
{{#each phase2_features}}
- {{this}}
{{/each}}
### Long-term Vision
{{long_term_vision}}
- id: references
title: References
condition: "mode != 'rapid'"
instruction: Link to supporting documentation
template: |
{{#each references}}
- {{this}}
{{/each}}
- id: appendices - id: appendices
title: Appendices title: Appendices
sections: condition: "mode == 'comprehensive'"
- id: research-summary instruction: Include supporting research and analysis
title: A. Research Summary template: |
condition: Has research findings {{#if research_summary}}
instruction: | ### Research Summary
If applicable, summarize key findings from: {{research_summary}}
- Market research {{/if}}
- Competitive analysis
- User interviews
- Technical feasibility studies
- id: stakeholder-input
title: B. Stakeholder Input
condition: Has stakeholder feedback
template: "{{stakeholder_feedback}}"
- id: references
title: C. References
template: "{{relevant_links_and_docs}}"
- id: next-steps {{#if competitive_analysis}}
title: Next Steps ### Competitive Analysis
sections: {{competitive_analysis}}
- id: immediate-actions {{/if}}
title: Immediate Actions
type: numbered-list validation:
template: "{{action_item}}" required_fields:
- id: pm-handoff - project_name
title: PM Handoff - core_purpose_description
content: | - primary_goals
This Project Brief provides the full context for {{project_name}}. Please start in 'PRD Generation Mode', review the brief thoroughly to work with the user to create the PRD section by section as the template indicates, asking for any necessary clarification or suggesting improvements. - in_scope
- primary_user_type
comprehensive_required:
- executive_summary_content
- detailed_problem_description
- solution_description
- mvp_scope
memory_bank_required:
- stakeholders
- milestones
- current_phase_description
prompts:
# Core prompts (all modes)
project_name: "What is the project name?"
core_purpose_description: "Describe in one paragraph what this project is and why it exists"
primary_goals: "List 3-5 primary goals for this project"
success_criteria: "Define 3-5 measurable success criteria"
in_scope: "What is IN scope for this project?"
out_scope: "What is explicitly OUT of scope?"
# User-related prompts
primary_user_type: "Describe the primary user type"
primary_user_needs: "What do primary users need from this system?"
primary_user_volume: "Expected number of primary users"
primary_user_description: "Detailed description of primary users (comprehensive mode)"
secondary_user_type: "Describe secondary user types (if any)"
secondary_user_needs: "What do secondary users need?"
secondary_user_description: "Detailed description of secondary users"
# Comprehensive mode prompts
executive_summary_content: "Create executive summary (product concept, problem, target market, value proposition)"
detailed_problem_description: "Detailed problem statement with evidence and impact"
solution_description: "Describe the solution approach and key differentiators"
mvp_scope: "Define MVP scope - what's the minimum viable product?"
kpis: "List key performance indicators"
# Technical prompts
technical_constraints: "List technical constraints"
business_constraints: "List business constraints"
regulatory_constraints: "List regulatory/compliance requirements"
functional_requirements: "List core functional requirements"
performance_requirements: "Define performance targets"
security_requirements: "Define security requirements"
scalability_requirements: "Define scalability expectations"
reliability_requirements: "Define reliability/uptime requirements"
# Stakeholder prompts (memory bank mode)
stakeholders: "List primary stakeholders with roles and interests"
decision_makers: "List key decision makers and what they decide"
milestones: "Define major milestones with dates and descriptions"
current_phase_description: "Describe the current project phase"
# Risk and planning prompts (comprehensive mode)
assumptions: "List key assumptions"
risks: "List primary risks with impact and mitigation"
tech_preferences: "List technology preferences by category"
technical_architecture_notes: "Technical architecture considerations"
phase2_features: "Features planned for Phase 2"
long_term_vision: "Long-term vision for the product"
# Support prompts
references: "List links to supporting documentation"
research_summary: "Summary of research conducted"
competitive_analysis: "Competitive analysis findings"
# Mode selection
workflow_mode: "Choose workflow mode: comprehensive, memory_bank, or rapid"
output_path: "Output file path (auto-set based on mode if not specified)"