chore(yaml): enforce .yaml extension and prefer double quotes in YAML via eslint-plugin-yml; fix rule name; format repo

This commit is contained in:
manjaroblack
2025-08-15 23:49:14 -05:00
parent 312540327f
commit 1e5dcd043a
28 changed files with 2622 additions and 2608 deletions

View File

@@ -1101,24 +1101,24 @@ template:
output:
format: markdown
filename: docs/brief.md
title: "Project Brief: {{project_name}}"
title: 'Project Brief: {{project_name}}'
workflow:
mode: interactive
elicitation: advanced-elicitation
custom_elicitation:
title: "Project Brief Elicitation Actions"
title: 'Project Brief Elicitation Actions'
options:
- "Expand section with more specific details"
- "Validate against similar successful products"
- "Stress test assumptions with edge cases"
- "Explore alternative solution approaches"
- "Analyze resource/constraint trade-offs"
- "Generate risk mitigation strategies"
- "Challenge scope from MVP minimalist view"
- "Brainstorm creative feature possibilities"
- "If only we had [resource/capability/time]..."
- "Proceed to next section"
- 'Expand section with more specific details'
- 'Validate against similar successful products'
- 'Stress test assumptions with edge cases'
- 'Explore alternative solution approaches'
- 'Analyze resource/constraint trade-offs'
- 'Generate risk mitigation strategies'
- 'Challenge scope from MVP minimalist view'
- 'Brainstorm creative feature possibilities'
- 'If only we had [resource/capability/time]...'
- 'Proceed to next section'
sections:
- id: introduction
@@ -1140,7 +1140,7 @@ sections:
- Primary problem being solved
- Target market identification
- Key value proposition
template: "{{executive_summary_content}}"
template: '{{executive_summary_content}}'
- id: problem-statement
title: Problem Statement
@@ -1150,7 +1150,7 @@ sections:
- Impact of the problem (quantify if possible)
- Why existing solutions fall short
- Urgency and importance of solving this now
template: "{{detailed_problem_description}}"
template: '{{detailed_problem_description}}'
- id: proposed-solution
title: Proposed Solution
@@ -1160,7 +1160,7 @@ sections:
- Key differentiators from existing solutions
- Why this solution will succeed where others haven't
- High-level vision for the product
template: "{{solution_description}}"
template: '{{solution_description}}'
- id: target-users
title: Target Users
@@ -1172,12 +1172,12 @@ sections:
- Goals they're trying to achieve
sections:
- id: primary-segment
title: "Primary User Segment: {{segment_name}}"
template: "{{primary_user_description}}"
title: 'Primary User Segment: {{segment_name}}'
template: '{{primary_user_description}}'
- id: secondary-segment
title: "Secondary User Segment: {{segment_name}}"
title: 'Secondary User Segment: {{segment_name}}'
condition: Has secondary user segment
template: "{{secondary_user_description}}"
template: '{{secondary_user_description}}'
- id: goals-metrics
title: Goals & Success Metrics
@@ -1186,15 +1186,15 @@ sections:
- id: business-objectives
title: Business Objectives
type: bullet-list
template: "- {{objective_with_metric}}"
template: '- {{objective_with_metric}}'
- id: user-success-metrics
title: User Success Metrics
type: bullet-list
template: "- {{user_metric}}"
template: '- {{user_metric}}'
- id: kpis
title: Key Performance Indicators (KPIs)
type: bullet-list
template: "- {{kpi}}: {{definition_and_target}}"
template: '- {{kpi}}: {{definition_and_target}}'
- id: mvp-scope
title: MVP Scope
@@ -1203,14 +1203,14 @@ sections:
- id: core-features
title: Core Features (Must Have)
type: bullet-list
template: "- **{{feature}}:** {{description_and_rationale}}"
template: '- **{{feature}}:** {{description_and_rationale}}'
- id: out-of-scope
title: Out of Scope for MVP
type: bullet-list
template: "- {{feature_or_capability}}"
template: '- {{feature_or_capability}}'
- id: mvp-success-criteria
title: MVP Success Criteria
template: "{{mvp_success_definition}}"
template: '{{mvp_success_definition}}'
- id: post-mvp-vision
title: Post-MVP Vision
@@ -1218,13 +1218,13 @@ sections:
sections:
- id: phase-2-features
title: Phase 2 Features
template: "{{next_priority_features}}"
template: '{{next_priority_features}}'
- id: long-term-vision
title: Long-term Vision
template: "{{one_two_year_vision}}"
template: '{{one_two_year_vision}}'
- id: expansion-opportunities
title: Expansion Opportunities
template: "{{potential_expansions}}"
template: '{{potential_expansions}}'
- id: technical-considerations
title: Technical Considerations
@@ -1265,7 +1265,7 @@ sections:
- id: key-assumptions
title: Key Assumptions
type: bullet-list
template: "- {{assumption}}"
template: '- {{assumption}}'
- id: risks-questions
title: Risks & Open Questions
@@ -1274,15 +1274,15 @@ sections:
- id: key-risks
title: Key Risks
type: bullet-list
template: "- **{{risk}}:** {{description_and_impact}}"
template: '- **{{risk}}:** {{description_and_impact}}'
- id: open-questions
title: Open Questions
type: bullet-list
template: "- {{question}}"
template: '- {{question}}'
- id: research-areas
title: Areas Needing Further Research
type: bullet-list
template: "- {{research_topic}}"
template: '- {{research_topic}}'
- id: appendices
title: Appendices
@@ -1299,10 +1299,10 @@ sections:
- id: stakeholder-input
title: B. Stakeholder Input
condition: Has stakeholder feedback
template: "{{stakeholder_feedback}}"
template: '{{stakeholder_feedback}}'
- id: references
title: C. References
template: "{{relevant_links_and_docs}}"
template: '{{relevant_links_and_docs}}'
- id: next-steps
title: Next Steps
@@ -1310,7 +1310,7 @@ sections:
- id: immediate-actions
title: Immediate Actions
type: numbered-list
template: "{{action_item}}"
template: '{{action_item}}'
- id: pm-handoff
title: PM Handoff
content: |
@@ -1325,24 +1325,24 @@ template:
output:
format: markdown
filename: docs/market-research.md
title: "Market Research Report: {{project_product_name}}"
title: 'Market Research Report: {{project_product_name}}'
workflow:
mode: interactive
elicitation: advanced-elicitation
custom_elicitation:
title: "Market Research Elicitation Actions"
title: 'Market Research Elicitation Actions'
options:
- "Expand market sizing calculations with sensitivity analysis"
- "Deep dive into a specific customer segment"
- "Analyze an emerging market trend in detail"
- "Compare this market to an analogous market"
- "Stress test market assumptions"
- "Explore adjacent market opportunities"
- "Challenge market definition and boundaries"
- "Generate strategic scenarios (best/base/worst case)"
- "If only we had considered [X market factor]..."
- "Proceed to next section"
- 'Expand market sizing calculations with sensitivity analysis'
- 'Deep dive into a specific customer segment'
- 'Analyze an emerging market trend in detail'
- 'Compare this market to an analogous market'
- 'Stress test market assumptions'
- 'Explore adjacent market opportunities'
- 'Challenge market definition and boundaries'
- 'Generate strategic scenarios (best/base/worst case)'
- 'If only we had considered [X market factor]...'
- 'Proceed to next section'
sections:
- id: executive-summary
@@ -1424,7 +1424,7 @@ sections:
repeatable: true
sections:
- id: segment
title: "Segment {{segment_number}}: {{segment_name}}"
title: 'Segment {{segment_number}}: {{segment_name}}'
template: |
- **Description:** {{brief_overview}}
- **Size:** {{number_of_customers_market_value}}
@@ -1493,20 +1493,20 @@ sections:
instruction: Analyze each force with specific evidence and implications
sections:
- id: supplier-power
title: "Supplier Power: {{power_level}}"
template: "{{analysis_and_implications}}"
title: 'Supplier Power: {{power_level}}'
template: '{{analysis_and_implications}}'
- id: buyer-power
title: "Buyer Power: {{power_level}}"
template: "{{analysis_and_implications}}"
title: 'Buyer Power: {{power_level}}'
template: '{{analysis_and_implications}}'
- id: competitive-rivalry
title: "Competitive Rivalry: {{intensity_level}}"
template: "{{analysis_and_implications}}"
title: 'Competitive Rivalry: {{intensity_level}}'
template: '{{analysis_and_implications}}'
- id: threat-new-entry
title: "Threat of New Entry: {{threat_level}}"
template: "{{analysis_and_implications}}"
title: 'Threat of New Entry: {{threat_level}}'
template: '{{analysis_and_implications}}'
- id: threat-substitutes
title: "Threat of Substitutes: {{threat_level}}"
template: "{{analysis_and_implications}}"
title: 'Threat of Substitutes: {{threat_level}}'
template: '{{analysis_and_implications}}'
- id: adoption-lifecycle
title: Technology Adoption Lifecycle Stage
instruction: |
@@ -1524,7 +1524,7 @@ sections:
repeatable: true
sections:
- id: opportunity
title: "Opportunity {{opportunity_number}}: {{name}}"
title: 'Opportunity {{opportunity_number}}: {{name}}'
template: |
- **Description:** {{what_is_the_opportunity}}
- **Size/Potential:** {{quantified_potential}}
@@ -1580,24 +1580,24 @@ template:
output:
format: markdown
filename: docs/competitor-analysis.md
title: "Competitive Analysis Report: {{project_product_name}}"
title: 'Competitive Analysis Report: {{project_product_name}}'
workflow:
mode: interactive
elicitation: advanced-elicitation
custom_elicitation:
title: "Competitive Analysis Elicitation Actions"
title: 'Competitive Analysis Elicitation Actions'
options:
- "Deep dive on a specific competitor's strategy"
- "Analyze competitive dynamics in a specific segment"
- "War game competitive responses to your moves"
- "Explore partnership vs. competition scenarios"
- "Stress test differentiation claims"
- "Analyze disruption potential (yours or theirs)"
- "Compare to competition in adjacent markets"
- "Generate win/loss analysis insights"
- 'Analyze competitive dynamics in a specific segment'
- 'War game competitive responses to your moves'
- 'Explore partnership vs. competition scenarios'
- 'Stress test differentiation claims'
- 'Analyze disruption potential (yours or theirs)'
- 'Compare to competition in adjacent markets'
- 'Generate win/loss analysis insights'
- "If only we had known about [competitor X's plan]..."
- "Proceed to next section"
- 'Proceed to next section'
sections:
- id: executive-summary
@@ -1664,7 +1664,7 @@ sections:
repeatable: true
sections:
- id: competitor
title: "{{competitor_name}} - Priority {{priority_level}}"
title: '{{competitor_name}} - Priority {{priority_level}}'
sections:
- id: company-overview
title: Company Overview
@@ -1696,11 +1696,11 @@ sections:
- id: strengths
title: Strengths
type: bullet-list
template: "- {{strength}}"
template: '- {{strength}}'
- id: weaknesses
title: Weaknesses
type: bullet-list
template: "- {{weakness}}"
template: '- {{weakness}}'
- id: market-position
title: Market Position & Performance
template: |
@@ -1718,35 +1718,35 @@ sections:
type: table
columns:
[
"Feature Category",
"{{your_company}}",
"{{competitor_1}}",
"{{competitor_2}}",
"{{competitor_3}}",
'Feature Category',
'{{your_company}}',
'{{competitor_1}}',
'{{competitor_2}}',
'{{competitor_3}}',
]
rows:
- category: "Core Functionality"
- category: 'Core Functionality'
items:
- ["Feature A", "{{status}}", "{{status}}", "{{status}}", "{{status}}"]
- ["Feature B", "{{status}}", "{{status}}", "{{status}}", "{{status}}"]
- category: "User Experience"
- ['Feature A', '{{status}}', '{{status}}', '{{status}}', '{{status}}']
- ['Feature B', '{{status}}', '{{status}}', '{{status}}', '{{status}}']
- category: 'User Experience'
items:
- ["Mobile App", "{{rating}}", "{{rating}}", "{{rating}}", "{{rating}}"]
- ["Onboarding Time", "{{time}}", "{{time}}", "{{time}}", "{{time}}"]
- category: "Integration & Ecosystem"
- ['Mobile App', '{{rating}}', '{{rating}}', '{{rating}}', '{{rating}}']
- ['Onboarding Time', '{{time}}', '{{time}}', '{{time}}', '{{time}}']
- category: 'Integration & Ecosystem'
items:
- [
"API Availability",
"{{availability}}",
"{{availability}}",
"{{availability}}",
"{{availability}}",
'API Availability',
'{{availability}}',
'{{availability}}',
'{{availability}}',
'{{availability}}',
]
- ["Third-party Integrations", "{{number}}", "{{number}}", "{{number}}", "{{number}}"]
- category: "Pricing & Plans"
- ['Third-party Integrations', '{{number}}', '{{number}}', '{{number}}', '{{number}}']
- category: 'Pricing & Plans'
items:
- ["Starting Price", "{{price}}", "{{price}}", "{{price}}", "{{price}}"]
- ["Free Tier", "{{yes_no}}", "{{yes_no}}", "{{yes_no}}", "{{yes_no}}"]
- ['Starting Price', '{{price}}', '{{price}}', '{{price}}', '{{price}}']
- ['Free Tier', '{{yes_no}}', '{{yes_no}}', '{{yes_no}}', '{{yes_no}}']
- id: swot-comparison
title: SWOT Comparison
instruction: Create SWOT analysis for your solution vs. top competitors
@@ -1759,7 +1759,7 @@ sections:
- **Opportunities:** {{opportunities}}
- **Threats:** {{threats}}
- id: vs-competitor
title: "vs. {{main_competitor}}"
title: 'vs. {{main_competitor}}'
template: |
- **Competitive Advantages:** {{your_advantages}}
- **Competitive Disadvantages:** {{their_advantages}}
@@ -1889,7 +1889,7 @@ template:
output:
format: markdown
filename: docs/brainstorming-session-results.md
title: "Brainstorming Session Results"
title: 'Brainstorming Session Results'
workflow:
mode: non-interactive
@@ -1914,38 +1914,38 @@ sections:
**Total Ideas Generated:** {{total_ideas}}
- id: key-themes
title: "Key Themes Identified:"
title: 'Key Themes Identified:'
type: bullet-list
template: "- {{theme}}"
template: '- {{theme}}'
- id: technique-sessions
title: Technique Sessions
repeatable: true
sections:
- id: technique
title: "{{technique_name}} - {{duration}}"
title: '{{technique_name}} - {{duration}}'
sections:
- id: description
template: "**Description:** {{technique_description}}"
template: '**Description:** {{technique_description}}'
- id: ideas-generated
title: "Ideas Generated:"
title: 'Ideas Generated:'
type: numbered-list
template: "{{idea}}"
template: '{{idea}}'
- id: insights
title: "Insights Discovered:"
title: 'Insights Discovered:'
type: bullet-list
template: "- {{insight}}"
template: '- {{insight}}'
- id: connections
title: "Notable Connections:"
title: 'Notable Connections:'
type: bullet-list
template: "- {{connection}}"
template: '- {{connection}}'
- id: idea-categorization
title: Idea Categorization
sections:
- id: immediate-opportunities
title: Immediate Opportunities
content: "*Ideas ready to implement now*"
content: '*Ideas ready to implement now*'
repeatable: true
type: numbered-list
template: |
@@ -1955,7 +1955,7 @@ sections:
- Resources needed: {{requirements}}
- id: future-innovations
title: Future Innovations
content: "*Ideas requiring development/research*"
content: '*Ideas requiring development/research*'
repeatable: true
type: numbered-list
template: |
@@ -1965,7 +1965,7 @@ sections:
- Timeline estimate: {{timeline}}
- id: moonshots
title: Moonshots
content: "*Ambitious, transformative concepts*"
content: '*Ambitious, transformative concepts*'
repeatable: true
type: numbered-list
template: |
@@ -1975,9 +1975,9 @@ sections:
- Challenges to overcome: {{challenges}}
- id: insights-learnings
title: Insights & Learnings
content: "*Key realizations from the session*"
content: '*Key realizations from the session*'
type: bullet-list
template: "- {{insight}}: {{description_and_implications}}"
template: '- {{insight}}: {{description_and_implications}}'
- id: action-planning
title: Action Planning
@@ -1986,21 +1986,21 @@ sections:
title: Top 3 Priority Ideas
sections:
- id: priority-1
title: "#1 Priority: {{idea_name}}"
title: '#1 Priority: {{idea_name}}'
template: |
- Rationale: {{rationale}}
- Next steps: {{next_steps}}
- Resources needed: {{resources}}
- Timeline: {{timeline}}
- id: priority-2
title: "#2 Priority: {{idea_name}}"
title: '#2 Priority: {{idea_name}}'
template: |
- Rationale: {{rationale}}
- Next steps: {{next_steps}}
- Resources needed: {{resources}}
- Timeline: {{timeline}}
- id: priority-3
title: "#3 Priority: {{idea_name}}"
title: '#3 Priority: {{idea_name}}'
template: |
- Rationale: {{rationale}}
- Next steps: {{next_steps}}
@@ -2013,19 +2013,19 @@ sections:
- id: what-worked
title: What Worked Well
type: bullet-list
template: "- {{aspect}}"
template: '- {{aspect}}'
- id: areas-exploration
title: Areas for Further Exploration
type: bullet-list
template: "- {{area}}: {{reason}}"
template: '- {{area}}: {{reason}}'
- id: recommended-techniques
title: Recommended Follow-up Techniques
type: bullet-list
template: "- {{technique}}: {{reason}}"
template: '- {{technique}}: {{reason}}'
- id: questions-emerged
title: Questions That Emerged
type: bullet-list
template: "- {{question}}"
template: '- {{question}}'
- id: next-session
title: Next Session Planning
template: |

View File

@@ -933,7 +933,7 @@ template:
output:
format: markdown
filename: docs/architecture.md
title: "{{project_name}} Architecture Document"
title: '{{project_name}} Architecture Document'
workflow:
mode: interactive
@@ -1044,11 +1044,11 @@ sections:
- Code organization patterns (Dependency Injection, Repository, Module, Factory)
- Data patterns (Event Sourcing, Saga, Database per Service)
- Communication patterns (REST, GraphQL, Message Queue, Pub/Sub)
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
examples:
- "**Serverless Architecture:** Using AWS Lambda for compute - _Rationale:_ Aligns with PRD requirement for cost optimization and automatic scaling"
- "**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility"
- "**Event-Driven Communication:** Using SNS/SQS for service decoupling - _Rationale:_ Supports async processing and system resilience"
- '**Serverless Architecture:** Using AWS Lambda for compute - _Rationale:_ Aligns with PRD requirement for cost optimization and automatic scaling'
- '**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility'
- '**Event-Driven Communication:** Using SNS/SQS for service decoupling - _Rationale:_ Supports async processing and system resilience'
- id: tech-stack
title: Tech Stack
@@ -1086,9 +1086,9 @@ sections:
columns: [Category, Technology, Version, Purpose, Rationale]
instruction: Populate the technology stack table with all relevant technologies
examples:
- "| **Language** | TypeScript | 5.3.3 | Primary development language | Strong typing, excellent tooling, team expertise |"
- "| **Runtime** | Node.js | 20.11.0 | JavaScript runtime | LTS version, stable performance, wide ecosystem |"
- "| **Framework** | NestJS | 10.3.2 | Backend framework | Enterprise-ready, good DI, matches team patterns |"
- '| **Language** | TypeScript | 5.3.3 | Primary development language | Strong typing, excellent tooling, team expertise |'
- '| **Runtime** | Node.js | 20.11.0 | JavaScript runtime | LTS version, stable performance, wide ecosystem |'
- '| **Framework** | NestJS | 10.3.2 | Backend framework | Enterprise-ready, good DI, matches team patterns |'
- id: data-models
title: Data Models
@@ -1106,7 +1106,7 @@ sections:
repeatable: true
sections:
- id: model
title: "{{model_name}}"
title: '{{model_name}}'
template: |
**Purpose:** {{model_purpose}}
@@ -1137,7 +1137,7 @@ sections:
sections:
- id: component-list
repeatable: true
title: "{{component_name}}"
title: '{{component_name}}'
template: |
**Responsibility:** {{component_description}}
@@ -1175,7 +1175,7 @@ sections:
repeatable: true
sections:
- id: api
title: "{{api_name}} API"
title: '{{api_name}} API'
template: |
- **Purpose:** {{api_purpose}}
- **Documentation:** {{api_docs_url}}
@@ -1300,12 +1300,12 @@ sections:
- id: environments
title: Environments
repeatable: true
template: "- **{{env_name}}:** {{env_purpose}} - {{env_details}}"
template: '- **{{env_name}}:** {{env_purpose}} - {{env_details}}'
- id: promotion-flow
title: Environment Promotion Flow
type: code
language: text
template: "{{promotion_flow_diagram}}"
template: '{{promotion_flow_diagram}}'
- id: rollback-strategy
title: Rollback Strategy
template: |
@@ -1401,16 +1401,16 @@ sections:
Avoid obvious rules like "use SOLID principles" or "write clean code"
repeatable: true
template: "- **{{rule_name}}:** {{rule_description}}"
template: '- **{{rule_name}}:** {{rule_description}}'
- id: language-specifics
title: Language-Specific Guidelines
condition: Critical language-specific rules needed
instruction: Add ONLY if critical for preventing AI mistakes. Most teams don't need this section.
sections:
- id: language-rules
title: "{{language_name}} Specifics"
title: '{{language_name}} Specifics'
repeatable: true
template: "- **{{rule_topic}}:** {{rule_detail}}"
template: '- **{{rule_topic}}:** {{rule_detail}}'
- id: test-strategy
title: Test Strategy and Standards
@@ -1458,9 +1458,9 @@ sections:
- **Test Infrastructure:**
- **{{dependency_name}}:** {{test_approach}} ({{test_tool}})
examples:
- "**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL for integration"
- "**Message Queue:** Embedded Kafka for tests"
- "**External APIs:** WireMock for stubbing"
- '**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL for integration'
- '**Message Queue:** Embedded Kafka for tests'
- '**External APIs:** WireMock for stubbing'
- id: e2e-tests
title: End-to-End Tests
template: |
@@ -1586,7 +1586,7 @@ template:
output:
format: markdown
filename: docs/ui-architecture.md
title: "{{project_name}} Frontend Architecture Document"
title: '{{project_name}} Frontend Architecture Document'
workflow:
mode: interactive
@@ -1654,29 +1654,29 @@ sections:
columns: [Category, Technology, Version, Purpose, Rationale]
instruction: Fill in appropriate technology choices based on the selected framework and project requirements.
rows:
- ["Framework", "{{framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["UI Library", "{{ui_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['Framework', '{{framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['UI Library', '{{ui_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- [
"State Management",
"{{state_management}}",
"{{version}}",
"{{purpose}}",
"{{why_chosen}}",
'State Management',
'{{state_management}}',
'{{version}}',
'{{purpose}}',
'{{why_chosen}}',
]
- ["Routing", "{{routing_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Styling", "{{styling_solution}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Testing", "{{test_framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['Routing', '{{routing_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Build Tool', '{{build_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Styling', '{{styling_solution}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Testing', '{{test_framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- [
"Component Library",
"{{component_lib}}",
"{{version}}",
"{{purpose}}",
"{{why_chosen}}",
'Component Library',
'{{component_lib}}',
'{{version}}',
'{{purpose}}',
'{{why_chosen}}',
]
- ["Form Handling", "{{form_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Animation", "{{animation_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Dev Tools", "{{dev_tools}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['Form Handling', '{{form_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Animation', '{{animation_lib}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Dev Tools', '{{dev_tools}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- id: project-structure
title: Project Structure
@@ -1770,12 +1770,12 @@ sections:
title: Testing Best Practices
type: numbered-list
items:
- "**Unit Tests**: Test individual components in isolation"
- "**Integration Tests**: Test component interactions"
- "**E2E Tests**: Test critical user flows (using Cypress/Playwright)"
- "**Coverage Goals**: Aim for 80% code coverage"
- "**Test Structure**: Arrange-Act-Assert pattern"
- "**Mock External Dependencies**: API calls, routing, state management"
- '**Unit Tests**: Test individual components in isolation'
- '**Integration Tests**: Test component interactions'
- '**E2E Tests**: Test critical user flows (using Cypress/Playwright)'
- '**Coverage Goals**: Aim for 80% code coverage'
- '**Test Structure**: Arrange-Act-Assert pattern'
- '**Mock External Dependencies**: API calls, routing, state management'
- id: environment-configuration
title: Environment Configuration
@@ -1807,7 +1807,7 @@ template:
output:
format: markdown
filename: docs/architecture.md
title: "{{project_name}} Fullstack Architecture Document"
title: '{{project_name}} Fullstack Architecture Document'
workflow:
mode: interactive
@@ -1928,12 +1928,12 @@ sections:
For each pattern, provide recommendation and rationale.
repeatable: true
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
examples:
- "**Jamstack Architecture:** Static site generation with serverless APIs - _Rationale:_ Optimal performance and scalability for content-heavy applications"
- "**Component-Based UI:** Reusable React components with TypeScript - _Rationale:_ Maintainability and type safety across large codebases"
- "**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility"
- "**API Gateway Pattern:** Single entry point for all API calls - _Rationale:_ Centralized auth, rate limiting, and monitoring"
- '**Jamstack Architecture:** Static site generation with serverless APIs - _Rationale:_ Optimal performance and scalability for content-heavy applications'
- '**Component-Based UI:** Reusable React components with TypeScript - _Rationale:_ Maintainability and type safety across large codebases'
- '**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility'
- '**API Gateway Pattern:** Single entry point for all API calls - _Rationale:_ Centralized auth, rate limiting, and monitoring'
- id: tech-stack
title: Tech Stack
@@ -1957,45 +1957,45 @@ sections:
type: table
columns: [Category, Technology, Version, Purpose, Rationale]
rows:
- ["Frontend Language", "{{fe_language}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['Frontend Language', '{{fe_language}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- [
"Frontend Framework",
"{{fe_framework}}",
"{{version}}",
"{{purpose}}",
"{{why_chosen}}",
'Frontend Framework',
'{{fe_framework}}',
'{{version}}',
'{{purpose}}',
'{{why_chosen}}',
]
- [
"UI Component Library",
"{{ui_library}}",
"{{version}}",
"{{purpose}}",
"{{why_chosen}}",
'UI Component Library',
'{{ui_library}}',
'{{version}}',
'{{purpose}}',
'{{why_chosen}}',
]
- ["State Management", "{{state_mgmt}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Backend Language", "{{be_language}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['State Management', '{{state_mgmt}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Backend Language', '{{be_language}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- [
"Backend Framework",
"{{be_framework}}",
"{{version}}",
"{{purpose}}",
"{{why_chosen}}",
'Backend Framework',
'{{be_framework}}',
'{{version}}',
'{{purpose}}',
'{{why_chosen}}',
]
- ["API Style", "{{api_style}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Database", "{{database}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Cache", "{{cache}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["File Storage", "{{storage}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Authentication", "{{auth}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Frontend Testing", "{{fe_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Backend Testing", "{{be_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["E2E Testing", "{{e2e_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Bundler", "{{bundler}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["IaC Tool", "{{iac_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["CI/CD", "{{cicd}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Monitoring", "{{monitoring}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["Logging", "{{logging}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ["CSS Framework", "{{css_framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
- ['API Style', '{{api_style}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Database', '{{database}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Cache', '{{cache}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['File Storage', '{{storage}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Authentication', '{{auth}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Frontend Testing', '{{fe_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Backend Testing', '{{be_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['E2E Testing', '{{e2e_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Build Tool', '{{build_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Bundler', '{{bundler}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['IaC Tool', '{{iac_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['CI/CD', '{{cicd}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Monitoring', '{{monitoring}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['Logging', '{{logging}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- ['CSS Framework', '{{css_framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
- id: data-models
title: Data Models
@@ -2014,7 +2014,7 @@ sections:
repeatable: true
sections:
- id: model
title: "{{model_name}}"
title: '{{model_name}}'
template: |
**Purpose:** {{model_purpose}}
@@ -2026,11 +2026,11 @@ sections:
title: TypeScript Interface
type: code
language: typescript
template: "{{model_interface}}"
template: '{{model_interface}}'
- id: relationships
title: Relationships
type: bullet-list
template: "- {{relationship}}"
template: '- {{relationship}}'
- id: api-spec
title: API Specification
@@ -2067,13 +2067,13 @@ sections:
condition: API style is GraphQL
type: code
language: graphql
template: "{{graphql_schema}}"
template: '{{graphql_schema}}'
- id: trpc-api
title: tRPC Router Definitions
condition: API style is tRPC
type: code
language: typescript
template: "{{trpc_routers}}"
template: '{{trpc_routers}}'
- id: components
title: Components
@@ -2094,7 +2094,7 @@ sections:
sections:
- id: component-list
repeatable: true
title: "{{component_name}}"
title: '{{component_name}}'
template: |
**Responsibility:** {{component_description}}
@@ -2132,7 +2132,7 @@ sections:
repeatable: true
sections:
- id: api
title: "{{api_name}} API"
title: '{{api_name}} API'
template: |
- **Purpose:** {{api_purpose}}
- **Documentation:** {{api_docs_url}}
@@ -2189,12 +2189,12 @@ sections:
title: Component Organization
type: code
language: text
template: "{{component_structure}}"
template: '{{component_structure}}'
- id: component-template
title: Component Template
type: code
language: typescript
template: "{{component_template}}"
template: '{{component_template}}'
- id: state-management
title: State Management Architecture
instruction: Detail state management approach based on chosen solution.
@@ -2203,11 +2203,11 @@ sections:
title: State Structure
type: code
language: typescript
template: "{{state_structure}}"
template: '{{state_structure}}'
- id: state-patterns
title: State Management Patterns
type: bullet-list
template: "- {{pattern}}"
template: '- {{pattern}}'
- id: routing-architecture
title: Routing Architecture
instruction: Define routing structure based on framework choice.
@@ -2216,12 +2216,12 @@ sections:
title: Route Organization
type: code
language: text
template: "{{route_structure}}"
template: '{{route_structure}}'
- id: protected-routes
title: Protected Route Pattern
type: code
language: typescript
template: "{{protected_route_example}}"
template: '{{protected_route_example}}'
- id: frontend-services
title: Frontend Services Layer
instruction: Define how frontend communicates with backend.
@@ -2230,12 +2230,12 @@ sections:
title: API Client Setup
type: code
language: typescript
template: "{{api_client_setup}}"
template: '{{api_client_setup}}'
- id: service-example
title: Service Example
type: code
language: typescript
template: "{{service_example}}"
template: '{{service_example}}'
- id: backend-architecture
title: Backend Architecture
@@ -2253,12 +2253,12 @@ sections:
title: Function Organization
type: code
language: text
template: "{{function_structure}}"
template: '{{function_structure}}'
- id: function-template
title: Function Template
type: code
language: typescript
template: "{{function_template}}"
template: '{{function_template}}'
- id: traditional-server
condition: Traditional server architecture chosen
sections:
@@ -2266,12 +2266,12 @@ sections:
title: Controller/Route Organization
type: code
language: text
template: "{{controller_structure}}"
template: '{{controller_structure}}'
- id: controller-template
title: Controller Template
type: code
language: typescript
template: "{{controller_template}}"
template: '{{controller_template}}'
- id: database-architecture
title: Database Architecture
instruction: Define database schema and access patterns.
@@ -2280,12 +2280,12 @@ sections:
title: Schema Design
type: code
language: sql
template: "{{database_schema}}"
template: '{{database_schema}}'
- id: data-access-layer
title: Data Access Layer
type: code
language: typescript
template: "{{repository_pattern}}"
template: '{{repository_pattern}}'
- id: auth-architecture
title: Authentication and Authorization
instruction: Define auth implementation details.
@@ -2294,12 +2294,12 @@ sections:
title: Auth Flow
type: mermaid
mermaid_type: sequence
template: "{{auth_flow_diagram}}"
template: '{{auth_flow_diagram}}'
- id: auth-middleware
title: Middleware/Guards
type: code
language: typescript
template: "{{auth_middleware}}"
template: '{{auth_middleware}}'
- id: unified-project-structure
title: Unified Project Structure
@@ -2375,12 +2375,12 @@ sections:
title: Prerequisites
type: code
language: bash
template: "{{prerequisites_commands}}"
template: '{{prerequisites_commands}}'
- id: initial-setup
title: Initial Setup
type: code
language: bash
template: "{{setup_commands}}"
template: '{{setup_commands}}'
- id: dev-commands
title: Development Commands
type: code
@@ -2436,15 +2436,15 @@ sections:
title: CI/CD Pipeline
type: code
language: yaml
template: "{{cicd_pipeline_config}}"
template: '{{cicd_pipeline_config}}'
- id: environments
title: Environments
type: table
columns: [Environment, Frontend URL, Backend URL, Purpose]
rows:
- ["Development", "{{dev_fe_url}}", "{{dev_be_url}}", "Local development"]
- ["Staging", "{{staging_fe_url}}", "{{staging_be_url}}", "Pre-production testing"]
- ["Production", "{{prod_fe_url}}", "{{prod_be_url}}", "Live environment"]
- ['Development', '{{dev_fe_url}}', '{{dev_be_url}}', 'Local development']
- ['Staging', '{{staging_fe_url}}', '{{staging_be_url}}', 'Pre-production testing']
- ['Production', '{{prod_fe_url}}', '{{prod_be_url}}', 'Live environment']
- id: security-performance
title: Security and Performance
@@ -2503,17 +2503,17 @@ sections:
title: Frontend Tests
type: code
language: text
template: "{{frontend_test_structure}}"
template: '{{frontend_test_structure}}'
- id: backend-tests
title: Backend Tests
type: code
language: text
template: "{{backend_test_structure}}"
template: '{{backend_test_structure}}'
- id: e2e-tests
title: E2E Tests
type: code
language: text
template: "{{e2e_test_structure}}"
template: '{{e2e_test_structure}}'
- id: test-examples
title: Test Examples
sections:
@@ -2521,17 +2521,17 @@ sections:
title: Frontend Component Test
type: code
language: typescript
template: "{{frontend_test_example}}"
template: '{{frontend_test_example}}'
- id: backend-test
title: Backend API Test
type: code
language: typescript
template: "{{backend_test_example}}"
template: '{{backend_test_example}}'
- id: e2e-test
title: E2E Test
type: code
language: typescript
template: "{{e2e_test_example}}"
template: '{{e2e_test_example}}'
- id: coding-standards
title: Coding Standards
@@ -2541,22 +2541,22 @@ sections:
- id: critical-rules
title: Critical Fullstack Rules
repeatable: true
template: "- **{{rule_name}}:** {{rule_description}}"
template: '- **{{rule_name}}:** {{rule_description}}'
examples:
- "**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"
- '**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'
- id: naming-conventions
title: Naming Conventions
type: table
columns: [Element, Frontend, Backend, Example]
rows:
- ["Components", "PascalCase", "-", "`UserProfile.tsx`"]
- ["Hooks", "camelCase with 'use'", "-", "`useAuth.ts`"]
- ["API Routes", "-", "kebab-case", "`/api/user-profile`"]
- ["Database Tables", "-", "snake_case", "`user_profiles`"]
- ['Components', 'PascalCase', '-', '`UserProfile.tsx`']
- ['Hooks', "camelCase with 'use'", '-', '`useAuth.ts`']
- ['API Routes', '-', 'kebab-case', '`/api/user-profile`']
- ['Database Tables', '-', 'snake_case', '`user_profiles`']
- id: error-handling
title: Error Handling Strategy
@@ -2567,7 +2567,7 @@ sections:
title: Error Flow
type: mermaid
mermaid_type: sequence
template: "{{error_flow_diagram}}"
template: '{{error_flow_diagram}}'
- id: error-format
title: Error Response Format
type: code
@@ -2586,12 +2586,12 @@ sections:
title: Frontend Error Handling
type: code
language: typescript
template: "{{frontend_error_handler}}"
template: '{{frontend_error_handler}}'
- id: backend-error-handling
title: Backend Error Handling
type: code
language: typescript
template: "{{backend_error_handler}}"
template: '{{backend_error_handler}}'
- id: monitoring
title: Monitoring and Observability
@@ -2633,7 +2633,7 @@ template:
output:
format: markdown
filename: docs/architecture.md
title: "{{project_name}} Brownfield Enhancement Architecture"
title: '{{project_name}} Brownfield Enhancement Architecture'
workflow:
mode: interactive
@@ -2691,11 +2691,11 @@ sections:
- id: available-docs
title: Available Documentation
type: bullet-list
template: "- {{existing_docs_summary}}"
template: '- {{existing_docs_summary}}'
- id: constraints
title: Identified Constraints
type: bullet-list
template: "- {{constraint}}"
template: '- {{constraint}}'
- id: changelog
title: Change Log
type: table
@@ -2775,7 +2775,7 @@ sections:
repeatable: true
sections:
- id: model
title: "{{model_name}}"
title: '{{model_name}}'
template: |
**Purpose:** {{model_purpose}}
**Integration:** {{integration_with_existing}}
@@ -2818,7 +2818,7 @@ sections:
repeatable: true
sections:
- id: component
title: "{{component_name}}"
title: '{{component_name}}'
template: |
**Responsibility:** {{component_description}}
**Integration Points:** {{integration_points}}
@@ -2861,7 +2861,7 @@ sections:
repeatable: true
sections:
- id: endpoint
title: "{{endpoint_name}}"
title: '{{endpoint_name}}'
template: |
- **Method:** {{http_method}}
- **Endpoint:** {{endpoint_path}}
@@ -2872,12 +2872,12 @@ sections:
title: Request
type: code
language: json
template: "{{request_schema}}"
template: '{{request_schema}}'
- id: response
title: Response
type: code
language: json
template: "{{response_schema}}"
template: '{{response_schema}}'
- id: external-api-integration
title: External API Integration
@@ -2886,7 +2886,7 @@ sections:
repeatable: true
sections:
- id: external-api
title: "{{api_name}} API"
title: '{{api_name}} API'
template: |
- **Purpose:** {{api_purpose}}
- **Documentation:** {{api_docs_url}}
@@ -2915,7 +2915,7 @@ sections:
type: code
language: plaintext
instruction: Document relevant parts of current structure
template: "{{existing_structure_relevant_parts}}"
template: '{{existing_structure_relevant_parts}}'
- id: new-file-organization
title: New File Organization
type: code
@@ -2990,7 +2990,7 @@ sections:
title: Enhancement-Specific Standards
condition: New patterns needed for enhancement
repeatable: true
template: "- **{{standard_name}}:** {{standard_description}}"
template: '- **{{standard_name}}:** {{standard_description}}'
- id: integration-rules
title: Critical Integration Rules
template: |

File diff suppressed because it is too large Load Diff

80
dist/agents/pm.txt vendored
View File

@@ -1159,7 +1159,7 @@ template:
output:
format: markdown
filename: docs/prd.md
title: "{{project_name}} Product Requirements Document (PRD)"
title: '{{project_name}} Product Requirements Document (PRD)'
workflow:
mode: interactive
@@ -1196,14 +1196,14 @@ sections:
prefix: FR
instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with FR
examples:
- "FR6: The Todo List uses AI to detect and warn against potentially duplicate todo items that are worded differently."
- 'FR6: The Todo List uses AI to detect and warn against potentially duplicate todo items that are worded differently.'
- id: non-functional
title: Non Functional
type: numbered-list
prefix: NFR
instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR
examples:
- "NFR1: AWS service usage must aim to stay within free-tier limits where feasible."
- 'NFR1: AWS service usage must aim to stay within free-tier limits where feasible.'
- id: ui-goals
title: User Interface Design Goals
@@ -1229,24 +1229,24 @@ sections:
title: Core Screens and Views
instruction: 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
examples:
- "Login Screen"
- "Main Dashboard"
- "Item Detail Page"
- "Settings Page"
- 'Login Screen'
- 'Main Dashboard'
- 'Item Detail Page'
- 'Settings Page'
- id: accessibility
title: "Accessibility: {None|WCAG AA|WCAG AAA|Custom Requirements}"
title: 'Accessibility: {None|WCAG AA|WCAG AAA|Custom Requirements}'
- id: branding
title: Branding
instruction: Any known branding elements or style guides that must be incorporated?
examples:
- "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."
- '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.'
- id: target-platforms
title: "Target Device and Platforms: {Web Responsive|Mobile Only|Desktop Only|Cross-Platform}"
title: 'Target Device and Platforms: {Web Responsive|Mobile Only|Desktop Only|Cross-Platform}'
examples:
- "Web Responsive, and all mobile platforms"
- "iPhone Only"
- "ASCII Windows Desktop"
- 'Web Responsive, and all mobile platforms'
- 'iPhone Only'
- 'ASCII Windows Desktop'
- id: technical-assumptions
title: Technical Assumptions
@@ -1265,13 +1265,13 @@ sections:
testing: [Unit Only, Unit + Integration, Full Testing Pyramid]
sections:
- id: repository-structure
title: "Repository Structure: {Monorepo|Polyrepo|Multi-repo}"
title: 'Repository Structure: {Monorepo|Polyrepo|Multi-repo}'
- id: service-architecture
title: Service Architecture
instruction: "CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo)."
instruction: 'CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).'
- id: testing-requirements
title: Testing Requirements
instruction: "CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods)."
instruction: 'CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).'
- id: additional-assumptions
title: Additional Technical Assumptions and Requests
instruction: 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
@@ -1291,10 +1291,10 @@ sections:
- 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.
elicit: true
examples:
- "Epic 1: Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management"
- "Epic 2: Core Business Entities: Create and manage primary domain objects with CRUD operations"
- "Epic 3: User Workflows & Interactions: Enable key user journeys and business processes"
- "Epic 4: Reporting & Analytics: Provide insights and data visualization for users"
- 'Epic 1: Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management'
- 'Epic 2: Core Business Entities: Create and manage primary domain objects with CRUD operations'
- 'Epic 3: User Workflows & Interactions: Enable key user journeys and business processes'
- 'Epic 4: Reporting & Analytics: Provide insights and data visualization for users'
- id: epic-details
title: Epic {{epic_number}} {{epic_title}}
@@ -1316,7 +1316,7 @@ sections:
- 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
elicit: true
template: "{{epic_goal}}"
template: '{{epic_goal}}'
sections:
- id: story
title: Story {{epic_number}}.{{story_number}} {{story_title}}
@@ -1329,7 +1329,7 @@ sections:
- id: acceptance-criteria
title: Acceptance Criteria
type: numbered-list
item_template: "{{criterion_number}}: {{criteria}}"
item_template: '{{criterion_number}}: {{criteria}}'
repeatable: true
instruction: |
Define clear, comprehensive, and testable acceptance criteria that:
@@ -1364,7 +1364,7 @@ template:
output:
format: markdown
filename: docs/prd.md
title: "{{project_name}} Brownfield Enhancement PRD"
title: '{{project_name}} Brownfield Enhancement PRD'
workflow:
mode: interactive
@@ -1427,7 +1427,7 @@ sections:
- External API Documentation [[LLM: If from document-project, check ✓]]
- UX/UI Guidelines [[LLM: May not be in document-project]]
- Technical Debt Documentation [[LLM: If from document-project, check ✓]]
- "Other: {{other_docs}}"
- 'Other: {{other_docs}}'
instruction: |
- If document-project was already run: "Using existing project analysis from document-project output."
- If critical documentation is missing and no document-project: "I recommend running the document-project task first..."
@@ -1447,7 +1447,7 @@ sections:
- UI/UX Overhaul
- Technology Stack Upgrade
- Bug Fix and Stability Improvements
- "Other: {{other_type}}"
- 'Other: {{other_type}}'
- id: enhancement-description
title: Enhancement Description
instruction: 2-3 sentences describing what the user wants to add or change
@@ -1488,29 +1488,29 @@ sections:
prefix: FR
instruction: Each Requirement will be a bullet markdown with identifier starting with FR
examples:
- "FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality."
- 'FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality.'
- id: non-functional
title: Non Functional
type: numbered-list
prefix: NFR
instruction: Each Requirement will be a bullet markdown with identifier starting with NFR. Include constraints from existing system
examples:
- "NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%."
- 'NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%.'
- id: compatibility
title: Compatibility Requirements
instruction: Critical for brownfield - what must remain compatible
type: numbered-list
prefix: CR
template: "{{requirement}}: {{description}}"
template: '{{requirement}}: {{description}}'
items:
- id: cr1
template: "CR1: {{existing_api_compatibility}}"
template: 'CR1: {{existing_api_compatibility}}'
- id: cr2
template: "CR2: {{database_schema_compatibility}}"
template: 'CR2: {{database_schema_compatibility}}'
- id: cr3
template: "CR3: {{ui_ux_consistency}}"
template: 'CR3: {{ui_ux_consistency}}'
- id: cr4
template: "CR4: {{integration_compatibility}}"
template: 'CR4: {{integration_compatibility}}'
- id: ui-enhancement-goals
title: User Interface Enhancement Goals
@@ -1593,10 +1593,10 @@ sections:
- id: epic-approach
title: Epic Approach
instruction: Explain the rationale for epic structure - typically single epic for brownfield unless multiple unrelated features
template: "**Epic Structure Decision**: {{epic_decision}} with rationale"
template: '**Epic Structure Decision**: {{epic_decision}} with rationale'
- id: epic-details
title: "Epic 1: {{enhancement_title}}"
title: 'Epic 1: {{enhancement_title}}'
instruction: |
Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality
@@ -1616,7 +1616,7 @@ sections:
**Integration Requirements**: {{integration_requirements}}
sections:
- id: story
title: "Story 1.{{story_number}} {{story_title}}"
title: 'Story 1.{{story_number}} {{story_title}}'
repeatable: true
template: |
As a {{user_type}},
@@ -1627,16 +1627,16 @@ sections:
title: Acceptance Criteria
type: numbered-list
instruction: Define criteria that include both new functionality and existing system integrity
item_template: "{{criterion_number}}: {{criteria}}"
item_template: '{{criterion_number}}: {{criteria}}'
- id: integration-verification
title: Integration Verification
instruction: Specific verification steps to ensure existing functionality remains intact
type: numbered-list
prefix: IV
items:
- template: "IV1: {{existing_functionality_verification}}"
- template: "IV2: {{integration_point_verification}}"
- template: "IV3: {{performance_impact_verification}}"
- template: 'IV1: {{existing_functionality_verification}}'
- template: 'IV2: {{integration_point_verification}}'
- template: 'IV3: {{performance_impact_verification}}'
==================== END: .bmad-core/templates/brownfield-prd-tmpl.yaml ====================
==================== START: .bmad-core/checklists/pm-checklist.md ====================

4
dist/agents/po.txt vendored
View File

@@ -593,7 +593,7 @@ template:
output:
format: markdown
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
workflow:
mode: interactive
@@ -695,7 +695,7 @@ sections:
sections:
- id: agent-model
title: Agent Model Used
template: "{{agent_model_name_version}}"
template: '{{agent_model_name_version}}'
instruction: Record the specific AI agent model and version used for development
owner: dev-agent
editors: [dev-agent]

18
dist/agents/qa.txt vendored
View File

@@ -1743,7 +1743,7 @@ template:
output:
format: markdown
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
workflow:
mode: interactive
@@ -1845,7 +1845,7 @@ sections:
sections:
- id: agent-model
title: Agent Model Used
template: "{{agent_model_name_version}}"
template: '{{agent_model_name_version}}'
instruction: Record the specific AI agent model and version used for development
owner: dev-agent
editors: [dev-agent]
@@ -1883,16 +1883,16 @@ template:
output:
format: yaml
filename: docs/qa/gates/{{epic_num}}.{{story_num}}-{{story_slug}}.yml
title: "Quality Gate: {{epic_num}}.{{story_num}}"
title: 'Quality Gate: {{epic_num}}.{{story_num}}'
# Required fields (keep these first)
schema: 1
story: "{{epic_num}}.{{story_num}}"
story_title: "{{story_title}}"
gate: "{{gate_status}}" # PASS|CONCERNS|FAIL|WAIVED
status_reason: "{{status_reason}}" # 1-2 sentence summary of why this gate decision
reviewer: "Quinn (Test Architect)"
updated: "{{iso_timestamp}}"
story: '{{epic_num}}.{{story_num}}'
story_title: '{{story_title}}'
gate: '{{gate_status}}' # PASS|CONCERNS|FAIL|WAIVED
status_reason: '{{status_reason}}' # 1-2 sentence summary of why this gate decision
reviewer: 'Quinn (Test Architect)'
updated: '{{iso_timestamp}}'
# Always present but only active when WAIVED
waiver: { active: false }

4
dist/agents/sm.txt vendored
View File

@@ -369,7 +369,7 @@ template:
output:
format: markdown
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
workflow:
mode: interactive
@@ -471,7 +471,7 @@ sections:
sections:
- id: agent-model
title: Agent Model Used
template: "{{agent_model_name_version}}"
template: '{{agent_model_name_version}}'
instruction: Record the specific AI agent model and version used for development
owner: dev-agent
editors: [dev-agent]

View File

@@ -343,7 +343,7 @@ template:
output:
format: markdown
filename: docs/front-end-spec.md
title: "{{project_name}} UI/UX Specification"
title: '{{project_name}} UI/UX Specification'
workflow:
mode: interactive
@@ -371,29 +371,29 @@ sections:
sections:
- id: user-personas
title: Target User Personas
template: "{{persona_descriptions}}"
template: '{{persona_descriptions}}'
examples:
- "**Power User:** Technical professionals who need advanced features and efficiency"
- "**Casual User:** Occasional users who prioritize ease of use and clear guidance"
- "**Administrator:** System managers who need control and oversight capabilities"
- '**Power User:** Technical professionals who need advanced features and efficiency'
- '**Casual User:** Occasional users who prioritize ease of use and clear guidance'
- '**Administrator:** System managers who need control and oversight capabilities'
- id: usability-goals
title: Usability Goals
template: "{{usability_goals}}"
template: '{{usability_goals}}'
examples:
- "Ease of learning: New users can complete core tasks within 5 minutes"
- "Efficiency of use: Power users can complete frequent tasks with minimal clicks"
- "Error prevention: Clear validation and confirmation for destructive actions"
- "Memorability: Infrequent users can return without relearning"
- 'Ease of learning: New users can complete core tasks within 5 minutes'
- 'Efficiency of use: Power users can complete frequent tasks with minimal clicks'
- 'Error prevention: Clear validation and confirmation for destructive actions'
- 'Memorability: Infrequent users can return without relearning'
- id: design-principles
title: Design Principles
template: "{{design_principles}}"
template: '{{design_principles}}'
type: numbered-list
examples:
- "**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation"
- '**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation'
- "**Progressive disclosure** - Show only what's needed, when it's needed"
- "**Consistent patterns** - Use familiar UI patterns throughout the application"
- "**Immediate feedback** - Every action should have a clear, immediate response"
- "**Accessible by default** - Design for all users from the start"
- '**Consistent patterns** - Use familiar UI patterns throughout the application'
- '**Immediate feedback** - Every action should have a clear, immediate response'
- '**Accessible by default** - Design for all users from the start'
- id: changelog
title: Change Log
type: table
@@ -415,7 +415,7 @@ sections:
title: Site Map / Screen Inventory
type: mermaid
mermaid_type: graph
template: "{{sitemap_diagram}}"
template: '{{sitemap_diagram}}'
examples:
- |
graph TD
@@ -455,7 +455,7 @@ sections:
repeatable: true
sections:
- id: flow
title: "{{flow_name}}"
title: '{{flow_name}}'
template: |
**User Goal:** {{flow_goal}}
@@ -467,13 +467,13 @@ sections:
title: Flow Diagram
type: mermaid
mermaid_type: graph
template: "{{flow_diagram}}"
template: '{{flow_diagram}}'
- id: edge-cases
title: "Edge Cases & Error Handling:"
title: 'Edge Cases & Error Handling:'
type: bullet-list
template: "- {{edge_case}}"
template: '- {{edge_case}}'
- id: notes
template: "**Notes:** {{flow_notes}}"
template: '**Notes:** {{flow_notes}}'
- id: wireframes-mockups
title: Wireframes & Mockups
@@ -482,13 +482,13 @@ sections:
elicit: true
sections:
- id: design-files
template: "**Primary Design Files:** {{design_tool_link}}"
template: '**Primary Design Files:** {{design_tool_link}}'
- id: key-screen-layouts
title: Key Screen Layouts
repeatable: true
sections:
- id: screen
title: "{{screen_name}}"
title: '{{screen_name}}'
template: |
**Purpose:** {{screen_purpose}}
@@ -508,13 +508,13 @@ sections:
elicit: true
sections:
- id: design-system-approach
template: "**Design System Approach:** {{design_system_approach}}"
template: '**Design System Approach:** {{design_system_approach}}'
- id: core-components
title: Core Components
repeatable: true
sections:
- id: component
title: "{{component_name}}"
title: '{{component_name}}'
template: |
**Purpose:** {{component_purpose}}
@@ -531,19 +531,19 @@ sections:
sections:
- id: visual-identity
title: Visual Identity
template: "**Brand Guidelines:** {{brand_guidelines_link}}"
template: '**Brand Guidelines:** {{brand_guidelines_link}}'
- id: color-palette
title: Color Palette
type: table
columns: ["Color Type", "Hex Code", "Usage"]
columns: ['Color Type', 'Hex Code', 'Usage']
rows:
- ["Primary", "{{primary_color}}", "{{primary_usage}}"]
- ["Secondary", "{{secondary_color}}", "{{secondary_usage}}"]
- ["Accent", "{{accent_color}}", "{{accent_usage}}"]
- ["Success", "{{success_color}}", "Positive feedback, confirmations"]
- ["Warning", "{{warning_color}}", "Cautions, important notices"]
- ["Error", "{{error_color}}", "Errors, destructive actions"]
- ["Neutral", "{{neutral_colors}}", "Text, borders, backgrounds"]
- ['Primary', '{{primary_color}}', '{{primary_usage}}']
- ['Secondary', '{{secondary_color}}', '{{secondary_usage}}']
- ['Accent', '{{accent_color}}', '{{accent_usage}}']
- ['Success', '{{success_color}}', 'Positive feedback, confirmations']
- ['Warning', '{{warning_color}}', 'Cautions, important notices']
- ['Error', '{{error_color}}', 'Errors, destructive actions']
- ['Neutral', '{{neutral_colors}}', 'Text, borders, backgrounds']
- id: typography
title: Typography
sections:
@@ -556,13 +556,13 @@ sections:
- id: type-scale
title: Type Scale
type: table
columns: ["Element", "Size", "Weight", "Line Height"]
columns: ['Element', 'Size', 'Weight', 'Line Height']
rows:
- ["H1", "{{h1_size}}", "{{h1_weight}}", "{{h1_line}}"]
- ["H2", "{{h2_size}}", "{{h2_weight}}", "{{h2_line}}"]
- ["H3", "{{h3_size}}", "{{h3_weight}}", "{{h3_line}}"]
- ["Body", "{{body_size}}", "{{body_weight}}", "{{body_line}}"]
- ["Small", "{{small_size}}", "{{small_weight}}", "{{small_line}}"]
- ['H1', '{{h1_size}}', '{{h1_weight}}', '{{h1_line}}']
- ['H2', '{{h2_size}}', '{{h2_weight}}', '{{h2_line}}']
- ['H3', '{{h3_size}}', '{{h3_weight}}', '{{h3_line}}']
- ['Body', '{{body_size}}', '{{body_weight}}', '{{body_line}}']
- ['Small', '{{small_size}}', '{{small_weight}}', '{{small_line}}']
- id: iconography
title: Iconography
template: |
@@ -583,7 +583,7 @@ sections:
sections:
- id: compliance-target
title: Compliance Target
template: "**Standard:** {{compliance_standard}}"
template: '**Standard:** {{compliance_standard}}'
- id: key-requirements
title: Key Requirements
template: |
@@ -603,7 +603,7 @@ sections:
- Form labels: {{form_requirements}}
- id: testing-strategy
title: Testing Strategy
template: "{{accessibility_testing}}"
template: '{{accessibility_testing}}'
- id: responsiveness
title: Responsiveness Strategy
@@ -613,12 +613,12 @@ sections:
- id: breakpoints
title: Breakpoints
type: table
columns: ["Breakpoint", "Min Width", "Max Width", "Target Devices"]
columns: ['Breakpoint', 'Min Width', 'Max Width', 'Target Devices']
rows:
- ["Mobile", "{{mobile_min}}", "{{mobile_max}}", "{{mobile_devices}}"]
- ["Tablet", "{{tablet_min}}", "{{tablet_max}}", "{{tablet_devices}}"]
- ["Desktop", "{{desktop_min}}", "{{desktop_max}}", "{{desktop_devices}}"]
- ["Wide", "{{wide_min}}", "-", "{{wide_devices}}"]
- ['Mobile', '{{mobile_min}}', '{{mobile_max}}', '{{mobile_devices}}']
- ['Tablet', '{{tablet_min}}', '{{tablet_max}}', '{{tablet_devices}}']
- ['Desktop', '{{desktop_min}}', '{{desktop_max}}', '{{desktop_devices}}']
- ['Wide', '{{wide_min}}', '-', '{{wide_devices}}']
- id: adaptation-patterns
title: Adaptation Patterns
template: |
@@ -637,11 +637,11 @@ sections:
sections:
- id: motion-principles
title: Motion Principles
template: "{{motion_principles}}"
template: '{{motion_principles}}'
- id: key-animations
title: Key Animations
repeatable: true
template: "- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})"
template: '- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})'
- id: performance
title: Performance Considerations
@@ -655,7 +655,7 @@ sections:
- **Animation FPS:** {{animation_goal}}
- id: design-strategies
title: Design Strategies
template: "{{performance_strategies}}"
template: '{{performance_strategies}}'
- id: next-steps
title: Next Steps
@@ -670,17 +670,17 @@ sections:
- id: immediate-actions
title: Immediate Actions
type: numbered-list
template: "{{action}}"
template: '{{action}}'
- id: design-handoff-checklist
title: Design Handoff Checklist
type: checklist
items:
- "All user flows documented"
- "Component inventory complete"
- "Accessibility requirements defined"
- "Responsive strategy clear"
- "Brand guidelines incorporated"
- "Performance goals established"
- 'All user flows documented'
- 'Component inventory complete'
- 'Accessibility requirements defined'
- 'Responsive strategy clear'
- 'Brand guidelines incorporated'
- 'Performance goals established'
- id: checklist-results
title: Checklist Results