bmad-method 4.27.0 → 4.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bmad-core/agent-teams/team-all.yaml +6 -6
  3. package/bmad-core/agent-teams/team-fullstack.yaml +6 -6
  4. package/bmad-core/agent-teams/team-no-ui.yaml +2 -2
  5. package/bmad-core/agents/analyst.md +17 -20
  6. package/bmad-core/agents/architect.md +15 -18
  7. package/bmad-core/agents/bmad-master.md +55 -56
  8. package/bmad-core/agents/bmad-orchestrator.md +24 -23
  9. package/bmad-core/agents/dev.md +10 -10
  10. package/bmad-core/agents/pm.md +17 -20
  11. package/bmad-core/agents/po.md +12 -15
  12. package/bmad-core/agents/qa.md +7 -8
  13. package/bmad-core/agents/sm.md +8 -13
  14. package/bmad-core/agents/ux-expert.md +7 -11
  15. package/bmad-core/core-config.yaml +1 -1
  16. package/bmad-core/templates/architecture-tmpl.yaml +650 -0
  17. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  18. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  19. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  20. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  21. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  22. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  23. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
  24. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  25. package/bmad-core/templates/{prd-tmpl2.yaml → prd-tmpl.yaml} +3 -3
  26. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  27. package/bmad-core/templates/story-tmpl.yaml +137 -0
  28. package/common/tasks/create-doc.md +55 -67
  29. package/common/utils/bmad-doc-template.md +29 -0
  30. package/dist/agents/analyst.txt +1004 -1061
  31. package/dist/agents/architect.txt +2460 -2872
  32. package/dist/agents/bmad-master.txt +3842 -4354
  33. package/dist/agents/bmad-orchestrator.txt +211 -87
  34. package/dist/agents/dev.txt +4 -8
  35. package/dist/agents/pm.txt +557 -587
  36. package/dist/agents/po.txt +149 -102
  37. package/dist/agents/qa.txt +145 -35
  38. package/dist/agents/sm.txt +145 -100
  39. package/dist/agents/ux-expert.txt +413 -522
  40. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +1258 -1236
  41. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +623 -573
  42. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +263 -248
  43. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +9135 -4942
  44. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +288 -251
  45. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +1123 -1145
  46. package/dist/teams/team-all.txt +4583 -4837
  47. package/dist/teams/team-fullstack.txt +5276 -5520
  48. package/dist/teams/team-ide-minimal.txt +375 -185
  49. package/dist/teams/team-no-ui.txt +4875 -5051
  50. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +2 -2
  51. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +17 -15
  52. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +13 -11
  53. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +13 -11
  54. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  55. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
  56. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
  57. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  58. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
  59. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  60. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +14 -12
  61. package/expansion-packs/bmad-creator-tools/config.yaml +1 -1
  62. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +178 -0
  63. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +154 -0
  64. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +120 -0
  65. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +14 -14
  66. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  67. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
  68. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
  69. package/package.json +1 -1
  70. package/tools/builders/web-builder.js +65 -85
  71. package/tools/installer/package.json +1 -1
  72. package/tools/lib/dependency-resolver.js +8 -19
  73. package/zoo/docs/architecture.md +812 -0
  74. package/zoo/docs/brief.md +253 -0
  75. package/zoo/docs/prd.md +500 -0
  76. package/zoo/docs/stories/1.1.story.md +278 -0
  77. package/bmad-core/templates/architecture-tmpl.md +0 -776
  78. package/bmad-core/templates/brainstorming-output-tmpl.md +0 -149
  79. package/bmad-core/templates/brownfield-architecture-tmpl.md +0 -544
  80. package/bmad-core/templates/brownfield-prd-tmpl.md +0 -266
  81. package/bmad-core/templates/competitor-analysis-tmpl.md +0 -291
  82. package/bmad-core/templates/front-end-architecture-tmpl.md +0 -175
  83. package/bmad-core/templates/front-end-spec-tmpl.md +0 -413
  84. package/bmad-core/templates/fullstack-architecture-tmpl.md +0 -1018
  85. package/bmad-core/templates/market-research-tmpl.md +0 -263
  86. package/bmad-core/templates/prd-tmpl.md +0 -202
  87. package/bmad-core/templates/project-brief-tmpl.md +0 -232
  88. package/bmad-core/templates/story-tmpl.md +0 -58
  89. package/common/tasks/create-doc2.md +0 -65
  90. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +0 -560
  91. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.md +0 -345
  92. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.md +0 -331
  93. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.md +0 -235
  94. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +0 -470
  95. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.md +0 -154
  96. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.md +0 -143
  97. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.md +0 -91
  98. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
  99. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
@@ -50,6 +50,7 @@ activation-instructions:
50
50
  - Only read the files/tasks listed here when user selects them for execution to minimize context usage
51
51
  - The customization field ALWAYS takes precedence over any conflicting instructions
52
52
  - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
53
+ - Greet the user with your name and role, and inform of the *help command.
53
54
  agent:
54
55
  name: Sally
55
56
  id: ux-expert
@@ -71,9 +72,6 @@ persona:
71
72
  - You have a keen eye for detail and a deep empathy for users.
72
73
  - You're particularly skilled at translating user needs into beautiful, functional designs.
73
74
  - You can craft effective prompts for AI UI generation tools like v0, or Lovable.
74
- startup:
75
- - Greet the user with your name and role, and inform of the *help command.
76
- - Always start by understanding the user's context, goals, and constraints before proposing solutions.
77
75
  commands:
78
76
  - help: Show numbered list of the following commands to allow selection
79
77
  - create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
@@ -83,16 +81,14 @@ commands:
83
81
  - exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
84
82
  dependencies:
85
83
  tasks:
86
- - generate-ai-frontend-prompt
87
- - create-deep-research-prompt
88
- - create-doc
89
- - execute-checklist
84
+ - generate-ai-frontend-prompt.md
85
+ - create-deep-research-prompt.md
86
+ - create-doc.md
87
+ - execute-checklist.md
90
88
  templates:
91
- - front-end-spec-tmpl
89
+ - front-end-spec-tmpl.yaml
92
90
  data:
93
- - technical-preferences
94
- utils:
95
- - template-format
91
+ - technical-preferences.md
96
92
  ```
97
93
  ==================== END: .bmad-core/agents/ux-expert.md ====================
98
94
 
@@ -455,97 +451,85 @@ Present these numbered options to the user:
455
451
  ==================== END: .bmad-core/tasks/create-deep-research-prompt.md ====================
456
452
 
457
453
  ==================== START: .bmad-core/tasks/create-doc.md ====================
458
- # Create Document from Template Task
459
-
460
- ## Purpose
454
+ # Create Document from Template (YAML Driven)
461
455
 
462
- Generate documents from templates by EXECUTING (not just reading) embedded instructions from the perspective of the selected agent persona.
456
+ ## CRITICAL: Mandatory Elicitation Format
463
457
 
464
- ## CRITICAL RULES
458
+ **When `elicit: true`, ALWAYS use this exact format:**
465
459
 
466
- 1. **Templates are PROGRAMS** - Execute every [[LLM:]] instruction exactly as written
467
- 2. **NEVER show markup** - Hide all [[LLM:]], {{placeholders}}, @{examples}, and template syntax
468
- 3. **STOP and EXECUTE** - When you see "apply tasks#" or "execute tasks#", STOP and run that task immediately
469
- 4. **WAIT for user input** - At review points and after elicitation tasks
460
+ 1. Present section content
461
+ 2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
462
+ 3. Present numbered options 1-9:
463
+ - **Option 1:** Always "Proceed to next section"
464
+ - **Options 2-9:** Select 8 methods from data/elicitation-methods
465
+ - End with: "Select 1-9 or just type your question/feedback:"
470
466
 
471
- ## Execution Flow
467
+ **NEVER ask yes/no questions or use any other format.**
472
468
 
473
- ### 0. Check Workflow Plan (if configured)
469
+ ## Processing Flow
474
470
 
475
- [[LLM: Check if plan tracking is enabled in core-config.yaml]]
471
+ 1. **Parse YAML template** - Load template metadata and sections
472
+ 2. **Set preferences** - Show current mode (Interactive), confirm output file
473
+ 3. **Process each section:**
474
+ - Skip if condition unmet
475
+ - Check agent permissions (owner/editors) - note if section is restricted to specific agents
476
+ - Draft content using section instruction
477
+ - Present content + detailed rationale
478
+ - **IF elicit: true** → MANDATORY 1-9 options format
479
+ - Save to file if possible
480
+ 4. **Continue until complete**
476
481
 
477
- - If `workflow.trackProgress: true`, check for active plan using .bmad-core/utils/plan-management.md
478
- - If plan exists and this document creation is part of the plan:
479
- - Verify this is the expected next step
480
- - If out of sequence and `enforceSequence: true`, warn user and halt without user override
481
- - If out of sequence and `enforceSequence: false`, ask for confirmation
482
- - Continue with normal execution after plan check
482
+ ## Detailed Rationale Requirements
483
483
 
484
- ### 1. Identify Template
484
+ When presenting section content, ALWAYS include rationale that explains:
485
485
 
486
- - Load from `.bmad-core/templates/*.md` or `.bmad-core/templates directory`
487
- - Agent-specific templates are listed in agent's dependencies
488
- - If agent has `templates: [prd-tmpl, architecture-tmpl]` for example, then offer to create "PRD" and "Architecture" documents
486
+ - Trade-offs and choices made (what was chosen over alternatives and why)
487
+ - Key assumptions made during drafting
488
+ - Interesting or questionable decisions that need user attention
489
+ - Areas that might need validation
489
490
 
490
- ### 2. Ask Interaction Mode
491
+ ## Elicitation Results Flow
491
492
 
492
- > 1. **Incremental** - Section by section with reviews
493
- > 2. **YOLO Mode** - Complete draft then review (user can type `/yolo` anytime to switch)
493
+ After user selects elicitation method (2-9):
494
494
 
495
- ### 3. Execute Template
495
+ 1. Execute method from data/elicitation-methods
496
+ 2. Present results with insights
497
+ 3. Offer options:
498
+ - **1. Apply changes and update section**
499
+ - **2. Return to elicitation menu**
500
+ - **3. Ask any questions or engage further with this elicitation**
496
501
 
497
- - Replace {{placeholders}} with real content
498
- - Execute [[LLM:]] instructions as you encounter them
499
- - Process <<REPEAT>> loops and ^^CONDITIONS^^
500
- - Use @{examples} for guidance but never output them
502
+ ## Agent Permissions
501
503
 
502
- ### 4. Key Execution Patterns
504
+ When processing sections with agent permission fields:
503
505
 
504
- **When you see:** `[[LLM: Draft X and immediately execute .bmad-core/tasks/advanced-elicitation.md]]`
506
+ - **owner**: Note which agent role initially creates/populates the section
507
+ - **editors**: List agent roles allowed to modify the section
508
+ - **readonly**: Mark sections that cannot be modified after creation
505
509
 
506
- - Draft the content
507
- - Present it to user
508
- - IMMEDIATELY execute the task
509
- - Wait for completion before continuing
510
+ **For sections with restricted access:**
510
511
 
511
- **When you see:** `[[LLM: After section completion, apply .bmad-core/tasks/Y.md]]`
512
+ - Include a note in the generated document indicating the responsible agent
513
+ - Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
512
514
 
513
- - Finish the section
514
- - STOP and execute the task
515
- - Wait for user input
515
+ ## YOLO Mode
516
516
 
517
- ### 5. Validation & Final Presentation
517
+ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
518
518
 
519
- - Run any specified checklists
520
- - Present clean, formatted content only
521
- - No truncation or summarization
522
- - Begin directly with content (no preamble)
523
- - Include any handoff prompts from template
519
+ ## CRITICAL REMINDERS
524
520
 
525
- ### 6. Update Workflow Plan (if applicable)
521
+ **❌ NEVER:**
526
522
 
527
- [[LLM: After successful document creation]]
523
+ - Ask yes/no questions for elicitation
524
+ - Use any format other than 1-9 numbered options
525
+ - Create new elicitation methods
528
526
 
529
- - If plan tracking is enabled and document was part of plan:
530
- - Call update-workflow-plan task to mark step complete
531
- - Parameters: task: create-doc, step_id: {from plan}, status: complete
532
- - Show next recommended step from plan
527
+ **✅ ALWAYS:**
533
528
 
534
- ## Common Mistakes to Avoid
535
-
536
- Skipping elicitation tasks
537
- Showing template markup to users
538
- ❌ Continuing past STOP signals
539
- ❌ Combining multiple review points
540
-
541
- ✅ Execute ALL instructions in sequence
542
- ✅ Present only clean, formatted content
543
- ✅ Stop at every elicitation point
544
- ✅ Wait for user confirmation when instructed
545
-
546
- ## Remember
547
-
548
- Templates contain precise instructions for a reason. Follow them exactly to ensure document quality and completeness.
529
+ - Use exact 1-9 format when elicit: true
530
+ - Select options 2-9 from data/elicitation-methods only
531
+ - Provide detailed rationale explaining decisions
532
+ - End with "Select 1-9 or just type your question/feedback:"
549
533
  ==================== END: .bmad-core/tasks/create-doc.md ====================
550
534
 
551
535
  ==================== START: .bmad-core/tasks/execute-checklist.md ====================
@@ -644,453 +628,360 @@ The LLM will:
644
628
  - Offer to provide detailed analysis of any section, especially those with warnings or failures
645
629
  ==================== END: .bmad-core/tasks/execute-checklist.md ====================
646
630
 
647
- ==================== START: .bmad-core/templates/front-end-spec-tmpl.md ====================
648
- # {{Project Name}} UI/UX Specification
649
-
650
- [[LLM: The default path and filename unless specified is docs/front-end-spec.md]]
651
-
652
- [[LLM: Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.]]
653
-
654
- ## Introduction
655
-
656
- [[LLM: Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.]]
657
-
658
- This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{Project Name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
659
-
660
- ### Overall UX Goals & Principles
661
-
662
- [[LLM: Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
663
-
664
- 1. Target User Personas - elicit details or confirm existing ones from PRD
665
- 2. Key Usability Goals - understand what success looks like for users
666
- 3. Core Design Principles - establish 3-5 guiding principles
667
-
668
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
669
-
670
- ### Target User Personas
671
-
672
- {{persona_descriptions}}
673
-
674
- @{example: personas}
675
-
676
- - **Power User:** Technical professionals who need advanced features and efficiency
677
- - **Casual User:** Occasional users who prioritize ease of use and clear guidance
678
- - **Administrator:** System managers who need control and oversight capabilities
679
- @{/example}
680
-
681
- ### Usability Goals
682
-
683
- {{usability_goals}}
684
-
685
- @{example: usability_goals}
686
-
687
- - Ease of learning: New users can complete core tasks within 5 minutes
688
- - Efficiency of use: Power users can complete frequent tasks with minimal clicks
689
- - Error prevention: Clear validation and confirmation for destructive actions
690
- - Memorability: Infrequent users can return without relearning
691
- @{/example}
692
-
693
- ### Design Principles
694
-
695
- {{design_principles}}
696
-
697
- @{example: design_principles}
698
-
699
- 1. **Clarity over cleverness** - Prioritize clear communication over aesthetic innovation
700
- 2. **Progressive disclosure** - Show only what's needed, when it's needed
701
- 3. **Consistent patterns** - Use familiar UI patterns throughout the application
702
- 4. **Immediate feedback** - Every action should have a clear, immediate response
703
- 5. **Accessible by default** - Design for all users from the start
704
- @{/example}
705
-
706
- ### Change Log
707
-
708
- [[LLM: Track document versions and changes]]
709
-
710
- | Date | Version | Description | Author |
711
- | :--- | :------ | :---------- | :----- |
712
-
713
- ## Information Architecture (IA)
714
-
715
- [[LLM: Collaborate with the user to create a comprehensive information architecture:
716
-
717
- 1. Build a Site Map or Screen Inventory showing all major areas
718
- 2. Define the Navigation Structure (primary, secondary, breadcrumbs)
719
- 3. Use Mermaid diagrams for visual representation
720
- 4. Consider user mental models and expected groupings
721
-
722
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
723
-
724
- ### Site Map / Screen Inventory
725
-
726
- ```mermaid
727
- {{sitemap_diagram}}
728
- ```
729
-
730
- @{example: sitemap}
731
-
732
- ```mermaid
733
- graph TD
734
- A[Homepage] --> B[Dashboard]
735
- A --> C[Products]
736
- A --> D[Account]
737
- B --> B1[Analytics]
738
- B --> B2[Recent Activity]
739
- C --> C1[Browse]
740
- C --> C2[Search]
741
- C --> C3[Product Details]
742
- D --> D1[Profile]
743
- D --> D2[Settings]
744
- D --> D3[Billing]
745
- ```
746
-
747
- @{/example}
748
-
749
- ### Navigation Structure
750
-
751
- **Primary Navigation:** {{primary_nav_description}}
752
-
753
- **Secondary Navigation:** {{secondary_nav_description}}
754
-
755
- **Breadcrumb Strategy:** {{breadcrumb_strategy}}
756
-
757
- ## User Flows
758
-
759
- [[LLM: For each critical user task identified in the PRD:
760
-
761
- 1. Define the user's goal clearly
762
- 2. Map out all steps including decision points
763
- 3. Consider edge cases and error states
764
- 4. Use Mermaid flow diagrams for clarity
765
- 5. Link to external tools (Figma/Miro) if detailed flows exist there
766
-
767
- Create subsections for each major flow. After presenting all flows, apply `tasks#advanced-elicitation` protocol]]
768
-
769
- <<REPEAT: user_flow>>
770
-
771
- ### {{flow_name}}
772
-
773
- **User Goal:** {{flow_goal}}
774
-
775
- **Entry Points:** {{entry_points}}
776
-
777
- **Success Criteria:** {{success_criteria}}
778
-
779
- #### Flow Diagram
780
-
781
- ```mermaid
782
- {{flow_diagram}}
783
- ```
784
-
785
- **Edge Cases & Error Handling:**
786
-
787
- - {{edge_case_1}}
788
- - {{edge_case_2}}
789
-
790
- **Notes:** {{flow_notes}}
791
- <</REPEAT>>
792
-
793
- @{example: user_flow}
794
-
795
- ### User Registration
796
-
797
- **User Goal:** Create a new account to access the platform
798
-
799
- **Entry Points:** Homepage CTA, Login page link, Marketing landing pages
800
-
801
- **Success Criteria:** User successfully creates account and reaches dashboard
802
-
803
- #### Flow Diagram
804
-
805
- ```mermaid
806
- graph TD
807
- Start[Landing Page] --> Click[Click Sign Up]
808
- Click --> Form[Registration Form]
809
- Form --> Fill[Fill Required Fields]
810
- Fill --> Submit[Submit Form]
811
- Submit --> Validate{Valid?}
812
- Validate -->|No| Error[Show Errors]
813
- Error --> Form
814
- Validate -->|Yes| Verify[Email Verification]
815
- Verify --> Complete[Account Created]
816
- Complete --> Dashboard[Redirect to Dashboard]
817
- ```
818
-
819
- **Edge Cases & Error Handling:**
820
-
821
- - Duplicate email: Show inline error with password recovery option
822
- - Weak password: Real-time feedback on password strength
823
- - Network error: Preserve form data and show retry option
824
- @{/example}
825
-
826
- ## Wireframes & Mockups
827
-
828
- [[LLM: Clarify where detailed visual designs will be created (Figma, Sketch, etc.) and how to reference them. If low-fidelity wireframes are needed, offer to help conceptualize layouts for key screens.
829
-
830
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
831
-
832
- **Primary Design Files:** {{design_tool_link}}
833
-
834
- ### Key Screen Layouts
835
-
836
- <<REPEAT: screen_layout>>
837
-
838
- #### {{screen_name}}
839
-
840
- **Purpose:** {{screen_purpose}}
841
-
842
- **Key Elements:**
843
-
844
- - {{element_1}}
845
- - {{element_2}}
846
- - {{element_3}}
847
-
848
- **Interaction Notes:** {{interaction_notes}}
849
-
850
- **Design File Reference:** {{specific_frame_link}}
851
- <</REPEAT>>
852
-
853
- ## Component Library / Design System
854
-
855
- [[LLM: Discuss whether to use an existing design system or create a new one. If creating new, identify foundational components and their key states. Note that detailed technical specs belong in front-end-architecture.
856
-
857
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
858
-
859
- **Design System Approach:** {{design_system_approach}}
860
-
861
- ### Core Components
862
-
863
- <<REPEAT: component>>
864
-
865
- #### {{component_name}}
866
-
867
- **Purpose:** {{component_purpose}}
868
-
869
- **Variants:** {{component_variants}}
870
-
871
- **States:** {{component_states}}
872
-
873
- **Usage Guidelines:** {{usage_guidelines}}
874
- <</REPEAT>>
875
-
876
- @{example: component}
877
-
878
- #### Button
879
-
880
- **Purpose:** Primary interaction element for user actions
881
-
882
- **Variants:** Primary, Secondary, Tertiary, Destructive
883
-
884
- **States:** Default, Hover, Active, Disabled, Loading
885
-
886
- **Usage Guidelines:**
887
-
888
- - Use Primary for main CTAs (one per view)
889
- - Secondary for supporting actions
890
- - Destructive only for permanent deletions with confirmation
891
- @{/example}
892
-
893
- ## Branding & Style Guide
894
-
895
- [[LLM: Link to existing style guide or define key brand elements. Ensure consistency with company brand guidelines if they exist.
896
-
897
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
898
-
899
- ### Visual Identity
900
-
901
- **Brand Guidelines:** {{brand_guidelines_link}}
902
-
903
- ### Color Palette
904
-
905
- | Color Type | Hex Code | Usage |
906
- | :------------ | :------------------ | :------------------------------- |
907
- | **Primary** | {{primary_color}} | {{primary_usage}} |
908
- | **Secondary** | {{secondary_color}} | {{secondary_usage}} |
909
- | **Accent** | {{accent_color}} | {{accent_usage}} |
910
- | **Success** | {{success_color}} | Positive feedback, confirmations |
911
- | **Warning** | {{warning_color}} | Cautions, important notices |
912
- | **Error** | {{error_color}} | Errors, destructive actions |
913
- | **Neutral** | {{neutral_colors}} | Text, borders, backgrounds |
914
-
915
- ### Typography
916
-
917
- **Font Families:**
918
-
919
- - **Primary:** {{primary_font}}
920
- - **Secondary:** {{secondary_font}}
921
- - **Monospace:** {{mono_font}}
922
-
923
- **Type Scale:**
924
- | Element | Size | Weight | Line Height |
925
- |:--------|:-----|:-------|:------------|
926
- | H1 | {{h1_size}} | {{h1_weight}} | {{h1_line}} |
927
- | H2 | {{h2_size}} | {{h2_weight}} | {{h2_line}} |
928
- | H3 | {{h3_size}} | {{h3_weight}} | {{h3_line}} |
929
- | Body | {{body_size}} | {{body_weight}} | {{body_line}} |
930
- | Small | {{small_size}} | {{small_weight}} | {{small_line}} |
931
-
932
- ### Iconography
933
-
934
- **Icon Library:** {{icon_library}}
935
-
936
- **Usage Guidelines:** {{icon_guidelines}}
937
-
938
- ### Spacing & Layout
939
-
940
- **Grid System:** {{grid_system}}
941
-
942
- **Spacing Scale:** {{spacing_scale}}
943
-
944
- ## Accessibility Requirements
945
-
946
- [[LLM: Define specific accessibility requirements based on target compliance level and user needs. Be comprehensive but practical.
947
-
948
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
949
-
950
- ### Compliance Target
951
-
952
- **Standard:** {{compliance_standard}}
953
-
954
- ### Key Requirements
955
-
956
- **Visual:**
957
-
958
- - Color contrast ratios: {{contrast_requirements}}
959
- - Focus indicators: {{focus_requirements}}
960
- - Text sizing: {{text_requirements}}
961
-
962
- **Interaction:**
963
-
964
- - Keyboard navigation: {{keyboard_requirements}}
965
- - Screen reader support: {{screen_reader_requirements}}
966
- - Touch targets: {{touch_requirements}}
967
-
968
- **Content:**
969
-
970
- - Alternative text: {{alt_text_requirements}}
971
- - Heading structure: {{heading_requirements}}
972
- - Form labels: {{form_requirements}}
973
-
974
- ### Testing Strategy
975
-
976
- {{accessibility_testing}}
977
-
978
- ## Responsiveness Strategy
979
-
980
- [[LLM: Define breakpoints and adaptation strategies for different device sizes. Consider both technical constraints and user contexts.
981
-
982
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
983
-
984
- ### Breakpoints
985
-
986
- | Breakpoint | Min Width | Max Width | Target Devices |
987
- | :--------- | :-------------- | :-------------- | :------------------ |
988
- | Mobile | {{mobile_min}} | {{mobile_max}} | {{mobile_devices}} |
989
- | Tablet | {{tablet_min}} | {{tablet_max}} | {{tablet_devices}} |
990
- | Desktop | {{desktop_min}} | {{desktop_max}} | {{desktop_devices}} |
991
- | Wide | {{wide_min}} | - | {{wide_devices}} |
992
-
993
- ### Adaptation Patterns
994
-
995
- **Layout Changes:** {{layout_adaptations}}
996
-
997
- **Navigation Changes:** {{nav_adaptations}}
998
-
999
- **Content Priority:** {{content_adaptations}}
1000
-
1001
- **Interaction Changes:** {{interaction_adaptations}}
1002
-
1003
- ## Animation & Micro-interactions
1004
-
1005
- [[LLM: Define motion design principles and key interactions. Keep performance and accessibility in mind.
1006
-
1007
- After presenting this section, apply `tasks#advanced-elicitation` protocol]]
1008
-
1009
- ### Motion Principles
1010
-
1011
- {{motion_principles}}
1012
-
1013
- ### Key Animations
1014
-
1015
- <<REPEAT: animation>>
1016
-
1017
- - **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})
1018
- <</REPEAT>>
1019
-
1020
- ## Performance Considerations
1021
-
1022
- [[LLM: Define performance goals and strategies that impact UX design decisions.]]
1023
-
1024
- ### Performance Goals
1025
-
1026
- - **Page Load:** {{load_time_goal}}
1027
- - **Interaction Response:** {{interaction_goal}}
1028
- - **Animation FPS:** {{animation_goal}}
1029
-
1030
- ### Design Strategies
1031
-
1032
- {{performance_strategies}}
1033
-
1034
- ## Next Steps
1035
-
1036
- [[LLM: After completing the UI/UX specification:
1037
-
1038
- 1. Recommend review with stakeholders
1039
- 2. Suggest creating/updating visual designs in design tool
1040
- 3. Prepare for handoff to Design Architect for frontend architecture
1041
- 4. Note any open questions or decisions needed]]
1042
-
1043
- ### Immediate Actions
1044
-
1045
- 1. {{next_step_1}}
1046
- 2. {{next_step_2}}
1047
- 3. {{next_step_3}}
1048
-
1049
- ### Design Handoff Checklist
1050
-
1051
- - [ ] All user flows documented
1052
- - [ ] Component inventory complete
1053
- - [ ] Accessibility requirements defined
1054
- - [ ] Responsive strategy clear
1055
- - [ ] Brand guidelines incorporated
1056
- - [ ] Performance goals established
1057
-
1058
- ## Checklist Results
1059
-
1060
- [[LLM: If a UI/UX checklist exists, run it against this document and report results here.]]
1061
- ==================== END: .bmad-core/templates/front-end-spec-tmpl.md ====================
631
+ ==================== START: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
632
+ template:
633
+ id: frontend-spec-template-v2
634
+ name: UI/UX Specification
635
+ version: 2.0
636
+ output:
637
+ format: markdown
638
+ filename: docs/front-end-spec.md
639
+ title: "{{project_name}} UI/UX Specification"
640
+
641
+ workflow:
642
+ mode: interactive
643
+ elicitation: advanced-elicitation
644
+
645
+ sections:
646
+ - id: introduction
647
+ title: Introduction
648
+ instruction: |
649
+ Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
650
+
651
+ Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
652
+ content: |
653
+ This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
654
+ sections:
655
+ - id: ux-goals-principles
656
+ title: Overall UX Goals & Principles
657
+ instruction: |
658
+ Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
659
+
660
+ 1. Target User Personas - elicit details or confirm existing ones from PRD
661
+ 2. Key Usability Goals - understand what success looks like for users
662
+ 3. Core Design Principles - establish 3-5 guiding principles
663
+ elicit: true
664
+ sections:
665
+ - id: user-personas
666
+ title: Target User Personas
667
+ template: "{{persona_descriptions}}"
668
+ examples:
669
+ - "**Power User:** Technical professionals who need advanced features and efficiency"
670
+ - "**Casual User:** Occasional users who prioritize ease of use and clear guidance"
671
+ - "**Administrator:** System managers who need control and oversight capabilities"
672
+ - id: usability-goals
673
+ title: Usability Goals
674
+ template: "{{usability_goals}}"
675
+ examples:
676
+ - "Ease of learning: New users can complete core tasks within 5 minutes"
677
+ - "Efficiency of use: Power users can complete frequent tasks with minimal clicks"
678
+ - "Error prevention: Clear validation and confirmation for destructive actions"
679
+ - "Memorability: Infrequent users can return without relearning"
680
+ - id: design-principles
681
+ title: Design Principles
682
+ template: "{{design_principles}}"
683
+ type: numbered-list
684
+ examples:
685
+ - "**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation"
686
+ - "**Progressive disclosure** - Show only what's needed, when it's needed"
687
+ - "**Consistent patterns** - Use familiar UI patterns throughout the application"
688
+ - "**Immediate feedback** - Every action should have a clear, immediate response"
689
+ - "**Accessible by default** - Design for all users from the start"
690
+ - id: changelog
691
+ title: Change Log
692
+ type: table
693
+ columns: [Date, Version, Description, Author]
694
+ instruction: Track document versions and changes
695
+
696
+ - id: information-architecture
697
+ title: Information Architecture (IA)
698
+ instruction: |
699
+ Collaborate with the user to create a comprehensive information architecture:
700
+
701
+ 1. Build a Site Map or Screen Inventory showing all major areas
702
+ 2. Define the Navigation Structure (primary, secondary, breadcrumbs)
703
+ 3. Use Mermaid diagrams for visual representation
704
+ 4. Consider user mental models and expected groupings
705
+ elicit: true
706
+ sections:
707
+ - id: sitemap
708
+ title: Site Map / Screen Inventory
709
+ type: mermaid
710
+ mermaid_type: graph
711
+ template: "{{sitemap_diagram}}"
712
+ examples:
713
+ - |
714
+ graph TD
715
+ A[Homepage] --> B[Dashboard]
716
+ A --> C[Products]
717
+ A --> D[Account]
718
+ B --> B1[Analytics]
719
+ B --> B2[Recent Activity]
720
+ C --> C1[Browse]
721
+ C --> C2[Search]
722
+ C --> C3[Product Details]
723
+ D --> D1[Profile]
724
+ D --> D2[Settings]
725
+ D --> D3[Billing]
726
+ - id: navigation-structure
727
+ title: Navigation Structure
728
+ template: |
729
+ **Primary Navigation:** {{primary_nav_description}}
730
+
731
+ **Secondary Navigation:** {{secondary_nav_description}}
732
+
733
+ **Breadcrumb Strategy:** {{breadcrumb_strategy}}
734
+
735
+ - id: user-flows
736
+ title: User Flows
737
+ instruction: |
738
+ For each critical user task identified in the PRD:
739
+
740
+ 1. Define the user's goal clearly
741
+ 2. Map out all steps including decision points
742
+ 3. Consider edge cases and error states
743
+ 4. Use Mermaid flow diagrams for clarity
744
+ 5. Link to external tools (Figma/Miro) if detailed flows exist there
745
+
746
+ Create subsections for each major flow.
747
+ elicit: true
748
+ repeatable: true
749
+ sections:
750
+ - id: flow
751
+ title: "{{flow_name}}"
752
+ template: |
753
+ **User Goal:** {{flow_goal}}
754
+
755
+ **Entry Points:** {{entry_points}}
756
+
757
+ **Success Criteria:** {{success_criteria}}
758
+ sections:
759
+ - id: flow-diagram
760
+ title: Flow Diagram
761
+ type: mermaid
762
+ mermaid_type: graph
763
+ template: "{{flow_diagram}}"
764
+ - id: edge-cases
765
+ title: "Edge Cases & Error Handling:"
766
+ type: bullet-list
767
+ template: "- {{edge_case}}"
768
+ - id: notes
769
+ template: "**Notes:** {{flow_notes}}"
770
+
771
+ - id: wireframes-mockups
772
+ title: Wireframes & Mockups
773
+ instruction: |
774
+ Clarify where detailed visual designs will be created (Figma, Sketch, etc.) and how to reference them. If low-fidelity wireframes are needed, offer to help conceptualize layouts for key screens.
775
+ elicit: true
776
+ sections:
777
+ - id: design-files
778
+ template: "**Primary Design Files:** {{design_tool_link}}"
779
+ - id: key-screen-layouts
780
+ title: Key Screen Layouts
781
+ repeatable: true
782
+ sections:
783
+ - id: screen
784
+ title: "{{screen_name}}"
785
+ template: |
786
+ **Purpose:** {{screen_purpose}}
787
+
788
+ **Key Elements:**
789
+ - {{element_1}}
790
+ - {{element_2}}
791
+ - {{element_3}}
792
+
793
+ **Interaction Notes:** {{interaction_notes}}
794
+
795
+ **Design File Reference:** {{specific_frame_link}}
796
+
797
+ - id: component-library
798
+ title: Component Library / Design System
799
+ instruction: |
800
+ Discuss whether to use an existing design system or create a new one. If creating new, identify foundational components and their key states. Note that detailed technical specs belong in front-end-architecture.
801
+ elicit: true
802
+ sections:
803
+ - id: design-system-approach
804
+ template: "**Design System Approach:** {{design_system_approach}}"
805
+ - id: core-components
806
+ title: Core Components
807
+ repeatable: true
808
+ sections:
809
+ - id: component
810
+ title: "{{component_name}}"
811
+ template: |
812
+ **Purpose:** {{component_purpose}}
813
+
814
+ **Variants:** {{component_variants}}
815
+
816
+ **States:** {{component_states}}
817
+
818
+ **Usage Guidelines:** {{usage_guidelines}}
819
+
820
+ - id: branding-style
821
+ title: Branding & Style Guide
822
+ instruction: Link to existing style guide or define key brand elements. Ensure consistency with company brand guidelines if they exist.
823
+ elicit: true
824
+ sections:
825
+ - id: visual-identity
826
+ title: Visual Identity
827
+ template: "**Brand Guidelines:** {{brand_guidelines_link}}"
828
+ - id: color-palette
829
+ title: Color Palette
830
+ type: table
831
+ columns: ["Color Type", "Hex Code", "Usage"]
832
+ rows:
833
+ - ["Primary", "{{primary_color}}", "{{primary_usage}}"]
834
+ - ["Secondary", "{{secondary_color}}", "{{secondary_usage}}"]
835
+ - ["Accent", "{{accent_color}}", "{{accent_usage}}"]
836
+ - ["Success", "{{success_color}}", "Positive feedback, confirmations"]
837
+ - ["Warning", "{{warning_color}}", "Cautions, important notices"]
838
+ - ["Error", "{{error_color}}", "Errors, destructive actions"]
839
+ - ["Neutral", "{{neutral_colors}}", "Text, borders, backgrounds"]
840
+ - id: typography
841
+ title: Typography
842
+ sections:
843
+ - id: font-families
844
+ title: Font Families
845
+ template: |
846
+ - **Primary:** {{primary_font}}
847
+ - **Secondary:** {{secondary_font}}
848
+ - **Monospace:** {{mono_font}}
849
+ - id: type-scale
850
+ title: Type Scale
851
+ type: table
852
+ columns: ["Element", "Size", "Weight", "Line Height"]
853
+ rows:
854
+ - ["H1", "{{h1_size}}", "{{h1_weight}}", "{{h1_line}}"]
855
+ - ["H2", "{{h2_size}}", "{{h2_weight}}", "{{h2_line}}"]
856
+ - ["H3", "{{h3_size}}", "{{h3_weight}}", "{{h3_line}}"]
857
+ - ["Body", "{{body_size}}", "{{body_weight}}", "{{body_line}}"]
858
+ - ["Small", "{{small_size}}", "{{small_weight}}", "{{small_line}}"]
859
+ - id: iconography
860
+ title: Iconography
861
+ template: |
862
+ **Icon Library:** {{icon_library}}
863
+
864
+ **Usage Guidelines:** {{icon_guidelines}}
865
+ - id: spacing-layout
866
+ title: Spacing & Layout
867
+ template: |
868
+ **Grid System:** {{grid_system}}
869
+
870
+ **Spacing Scale:** {{spacing_scale}}
871
+
872
+ - id: accessibility
873
+ title: Accessibility Requirements
874
+ instruction: Define specific accessibility requirements based on target compliance level and user needs. Be comprehensive but practical.
875
+ elicit: true
876
+ sections:
877
+ - id: compliance-target
878
+ title: Compliance Target
879
+ template: "**Standard:** {{compliance_standard}}"
880
+ - id: key-requirements
881
+ title: Key Requirements
882
+ template: |
883
+ **Visual:**
884
+ - Color contrast ratios: {{contrast_requirements}}
885
+ - Focus indicators: {{focus_requirements}}
886
+ - Text sizing: {{text_requirements}}
887
+
888
+ **Interaction:**
889
+ - Keyboard navigation: {{keyboard_requirements}}
890
+ - Screen reader support: {{screen_reader_requirements}}
891
+ - Touch targets: {{touch_requirements}}
892
+
893
+ **Content:**
894
+ - Alternative text: {{alt_text_requirements}}
895
+ - Heading structure: {{heading_requirements}}
896
+ - Form labels: {{form_requirements}}
897
+ - id: testing-strategy
898
+ title: Testing Strategy
899
+ template: "{{accessibility_testing}}"
900
+
901
+ - id: responsiveness
902
+ title: Responsiveness Strategy
903
+ instruction: Define breakpoints and adaptation strategies for different device sizes. Consider both technical constraints and user contexts.
904
+ elicit: true
905
+ sections:
906
+ - id: breakpoints
907
+ title: Breakpoints
908
+ type: table
909
+ columns: ["Breakpoint", "Min Width", "Max Width", "Target Devices"]
910
+ rows:
911
+ - ["Mobile", "{{mobile_min}}", "{{mobile_max}}", "{{mobile_devices}}"]
912
+ - ["Tablet", "{{tablet_min}}", "{{tablet_max}}", "{{tablet_devices}}"]
913
+ - ["Desktop", "{{desktop_min}}", "{{desktop_max}}", "{{desktop_devices}}"]
914
+ - ["Wide", "{{wide_min}}", "-", "{{wide_devices}}"]
915
+ - id: adaptation-patterns
916
+ title: Adaptation Patterns
917
+ template: |
918
+ **Layout Changes:** {{layout_adaptations}}
919
+
920
+ **Navigation Changes:** {{nav_adaptations}}
921
+
922
+ **Content Priority:** {{content_adaptations}}
923
+
924
+ **Interaction Changes:** {{interaction_adaptations}}
925
+
926
+ - id: animation
927
+ title: Animation & Micro-interactions
928
+ instruction: Define motion design principles and key interactions. Keep performance and accessibility in mind.
929
+ elicit: true
930
+ sections:
931
+ - id: motion-principles
932
+ title: Motion Principles
933
+ template: "{{motion_principles}}"
934
+ - id: key-animations
935
+ title: Key Animations
936
+ repeatable: true
937
+ template: "- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})"
938
+
939
+ - id: performance
940
+ title: Performance Considerations
941
+ instruction: Define performance goals and strategies that impact UX design decisions.
942
+ sections:
943
+ - id: performance-goals
944
+ title: Performance Goals
945
+ template: |
946
+ - **Page Load:** {{load_time_goal}}
947
+ - **Interaction Response:** {{interaction_goal}}
948
+ - **Animation FPS:** {{animation_goal}}
949
+ - id: design-strategies
950
+ title: Design Strategies
951
+ template: "{{performance_strategies}}"
952
+
953
+ - id: next-steps
954
+ title: Next Steps
955
+ instruction: |
956
+ After completing the UI/UX specification:
957
+
958
+ 1. Recommend review with stakeholders
959
+ 2. Suggest creating/updating visual designs in design tool
960
+ 3. Prepare for handoff to Design Architect for frontend architecture
961
+ 4. Note any open questions or decisions needed
962
+ sections:
963
+ - id: immediate-actions
964
+ title: Immediate Actions
965
+ type: numbered-list
966
+ template: "{{action}}"
967
+ - id: design-handoff-checklist
968
+ title: Design Handoff Checklist
969
+ type: checklist
970
+ items:
971
+ - "All user flows documented"
972
+ - "Component inventory complete"
973
+ - "Accessibility requirements defined"
974
+ - "Responsive strategy clear"
975
+ - "Brand guidelines incorporated"
976
+ - "Performance goals established"
977
+
978
+ - id: checklist-results
979
+ title: Checklist Results
980
+ instruction: If a UI/UX checklist exists, run it against this document and report results here.
981
+ ==================== END: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
1062
982
 
1063
983
  ==================== START: .bmad-core/data/technical-preferences.md ====================
1064
984
  # User-Defined Preferred Patterns and Preferences
1065
985
 
1066
986
  None Listed
1067
987
  ==================== END: .bmad-core/data/technical-preferences.md ====================
1068
-
1069
- ==================== START: .bmad-core/utils/template-format.md ====================
1070
- # Template Format Conventions
1071
-
1072
- Templates in the BMad method use standardized markup for AI processing. These conventions ensure consistent document generation.
1073
-
1074
- ## Template Markup Elements
1075
-
1076
- - **{{placeholders}}**: Variables to be replaced with actual content
1077
- - **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
1078
- - **REPEAT** sections: Content blocks that may be repeated as needed
1079
- - **^^CONDITION^^** blocks: Conditional content included only if criteria are met
1080
- - **@{examples}**: Example content for guidance (never output to users)
1081
-
1082
- ## Processing Rules
1083
-
1084
- - Replace all {{placeholders}} with project-specific content
1085
- - Execute all [[LLM: instructions]] internally without showing users
1086
- - Process conditional and repeat blocks as specified
1087
- - Use examples for guidance but never include them in final output
1088
- - Present only clean, formatted content to users
1089
-
1090
- ## Critical Guidelines
1091
-
1092
- - **NEVER display template markup, LLM instructions, or examples to users**
1093
- - Template elements are for AI processing only
1094
- - Focus on faithful template execution and clean output
1095
- - All template-specific instructions are embedded within templates
1096
- ==================== END: .bmad-core/utils/template-format.md ====================