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)
and gather project context before beginning.
Start by asking the user which mode they prefer: - id: project-overview
title: Project Overview
instruction: Capture essential project information and core purpose
template: |
{{#if is_memory_bank_mode}}
**Project Name**: {{project_name}}
**Version**: {{version | default: "1.0"}}
**Last Updated**: {{current_date}}
**Status**: {{status | options: "Active, Planning, On Hold"}}
{{else}}
## Executive Summary
{{executive_summary_content}}
{{/if}}
1. **Interactive Mode** - Work through each section collaboratively ## Core Purpose
2. **YOLO Mode** - Generate complete draft for review and refinement {{core_purpose_description}}
Before beginning, understand what inputs are available (brainstorming results, market research, competitive analysis, initial ideas) and gather project context.
- id: executive-summary
title: Executive Summary
instruction: |
Create a concise overview that captures the essence of the project. Include:
- Product concept in 1-2 sentences
- Primary problem being solved
- Target market identification
- Key value proposition
template: "{{executive_summary_content}}"
- 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:
- Demographic/firmographic profile
- Current behaviors and workflows
- Specific needs and pain points
- Goals they're trying to achieve
sections:
- id: primary-segment
title: "Primary User Segment: {{segment_name}}"
template: "{{primary_user_description}}"
- id: secondary-segment
title: "Secondary User Segment: {{segment_name}}"
condition: Has secondary user segment
template: "{{secondary_user_description}}"
- id: goals-metrics
title: Goals & Success Metrics
instruction: Establish clear objectives and how to measure success. Make goals SMART (Specific, Measurable, Achievable, Relevant, Time-bound)
sections:
- id: business-objectives
title: Business Objectives
type: bullet-list
template: "- {{objective_with_metric}}"
- id: user-success-metrics
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
title: MVP Scope
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.
sections:
- id: core-features
title: Core Features (Must Have)
type: bullet-list
template: "- **{{feature}}:** {{description_and_rationale}}"
- 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
title: Post-MVP Vision
instruction: Outline the longer-term product direction without overcommitting to specifics
sections:
- 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
title: Technical Considerations
instruction: Document known technical constraints and preferences. Note these are initial thoughts, not final decisions.
sections:
- id: platform-requirements
title: Platform Requirements
template: | template: |
- **Target Platforms:** {{platforms}} ### Primary Users
- **Browser/OS Support:** {{specific_requirements}} {{#if is_memory_bank_mode}}
- **Performance Requirements:** {{performance_specs}} - **User Type**: {{primary_user_type}}
- id: technology-preferences - **Needs**: {{primary_user_needs}}
title: Technology Preferences - **Volume**: {{primary_user_volume}}
template: | {{else}}
- **Frontend:** {{frontend_preferences}} {{primary_user_description}}
- **Backend:** {{backend_preferences}} {{/if}}
- **Database:** {{database_preferences}}
- **Hosting/Infrastructure:** {{infrastructure_preferences}} {{#if secondary_users}}
- id: architecture-considerations ### Secondary Users
title: Architecture Considerations {{#if is_memory_bank_mode}}
template: | - **User Type**: {{secondary_user_type}}
- **Repository Structure:** {{repo_thoughts}} - **Needs**: {{secondary_user_needs}}
- **Service Architecture:** {{service_thoughts}} {{else}}
- **Integration Requirements:** {{integration_needs}} {{secondary_user_description}}
- **Security/Compliance:** {{security_requirements}} {{/if}}
{{/if}}
- id: goals-objectives
title: Goals & 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}}
{{#if is_comprehensive_mode}}
### Key Performance Indicators (KPIs)
{{#each kpis}}
- {{this}}
{{/each}}
{{/if}}
- 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}}
{{#if is_comprehensive_mode}}
### MVP Scope
{{#each mvp_scope}}
- {{this}}
{{/each}}
{{/if}}
- id: constraints-assumptions
title: Constraints & Assumptions
instruction: Clearly state limitations and assumptions to set realistic expectations
sections:
- id: constraints - id: constraints
title: Constraints title: Constraints
instruction: Document constraints affecting the project
template: | template: |
- **Budget:** {{budget_info}} ### Technical Constraints
- **Timeline:** {{timeline_info}} {{#each technical_constraints}}
- **Resources:** {{resource_info}} - {{this}}
- **Technical:** {{technical_constraints}} {{/each}}
- id: key-assumptions
title: Key Assumptions
type: bullet-list
template: "- {{assumption}}"
- id: risks-questions ### Business Constraints
title: Risks & Open Questions {{#each business_constraints}}
instruction: Identify unknowns and potential challenges proactively - {{this}}
sections: {{/each}}
- id: key-risks
title: Key Risks {{#if regulatory_constraints}}
type: bullet-list ### Regulatory/Compliance
template: "- **{{risk}}:** {{description_and_impact}}" {{#each regulatory_constraints}}
- id: open-questions - {{this}}
title: Open Questions {{/each}}
type: bullet-list {{/if}}
template: "- {{question}}"
- id: research-areas - id: requirements
title: Areas Needing Further Research title: Key Requirements
type: bullet-list condition: "mode != 'rapid'"
template: "- {{research_topic}}" 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)"