bmad-method 4.5.0 → 4.6.0

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 (34) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/bmad-core/agents/bmad-orchestrator.md +55 -66
  3. package/bmad-core/agents/pm.md +0 -1
  4. package/bmad-core/tasks/doc-migration-task.md +9 -9
  5. package/bmad-core/tasks/index-docs.md +3 -7
  6. package/bmad-core/templates/front-end-spec-tmpl.md +1 -1
  7. package/bmad-core/templates/fullstack-architecture-tmpl.md +60 -60
  8. package/bmad-core/templates/prd-tmpl.md +2 -2
  9. package/bmad-core/workflows/brownfield-fullstack.yml +19 -58
  10. package/bmad-core/workflows/brownfield-service.yml +19 -58
  11. package/bmad-core/workflows/brownfield-ui.yml +20 -59
  12. package/bmad-core/workflows/greenfield-fullstack.yml +31 -77
  13. package/bmad-core/workflows/greenfield-service.yml +22 -68
  14. package/bmad-core/workflows/greenfield-ui.yml +30 -76
  15. package/dist/agents/architect.txt +60 -60
  16. package/dist/agents/bmad-master.txt +66 -70
  17. package/dist/agents/bmad-orchestrator.txt +55 -66
  18. package/dist/agents/pm.txt +2 -467
  19. package/dist/agents/ux-expert.txt +1 -1
  20. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +55 -66
  21. package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +39 -32
  22. package/dist/teams/team-all.txt +368 -1099
  23. package/dist/teams/team-fullstack.txt +286 -1017
  24. package/dist/teams/team-ide-minimal.txt +55 -66
  25. package/dist/teams/team-no-ui.txt +224 -785
  26. package/docs/claude-code-guide.md +6 -4
  27. package/docs/cursor-guide.md +8 -4
  28. package/docs/roo-code-guide.md +6 -4
  29. package/docs/versioning-and-releases.md +6 -6
  30. package/docs/windsurf-guide.md +6 -4
  31. package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +17 -13
  32. package/package.json +1 -1
  33. package/tools/installer/package.json +1 -1
  34. package/bmad-core/templates/simple-project-prd-tmpl.md +0 -461
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # [4.6.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.1...v4.6.0) (2025-06-18)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * orchestractor yml ([3727cc7](https://github.com/bmadcode/BMAD-METHOD/commit/3727cc764a7c7295932ff872e2e5be8b4c4e6859))
7
+
8
+
9
+ ### Features
10
+
11
+ * removed some templates that are not ready for use ([b03aece](https://github.com/bmadcode/BMAD-METHOD/commit/b03aece79e52cfe9585225de5aff7659293d9295))
12
+
13
+ ## [4.5.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.0...v4.5.1) (2025-06-18)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * docs had some ide specific errors ([a954c7e](https://github.com/bmadcode/BMAD-METHOD/commit/a954c7e24284a6637483a9e47fc63a8f9d7dfbad))
19
+
1
20
  # [4.5.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.4.2...v4.5.0) (2025-06-17)
2
21
 
3
22
 
@@ -22,72 +22,68 @@ persona:
22
22
  - When embodied, specialized persona's principles take precedence
23
23
  - Be explicit about active persona and current task
24
24
  - Always use numbered lists for choices
25
- - Process (*) commands immediately
25
+ - Process commands starting with * immediately
26
+ - Always remind users that commands require * prefix
26
27
  startup:
27
- - Announce: Hey! I'm BMad, your BMAD-METHOD orchestrator. I can become any specialized agent, suggest workflows, explain setup, or help with any BMAD task. Type *help for options.
28
+ - Announce: Introduce yourself as the BMAD Orchestrator, explain you can coordinate agents and workflows
29
+ - IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
30
+ - Mention *help shows all available commands and options
28
31
  - Assess user goal against available agents and workflows in this bundle
29
- - If clear match to an agent's expertise, suggest transformation
30
- - If project-oriented, explore available workflows and guide selection
31
- - Load resources only when needed
32
- commands:
33
- - '*help" - Show commands/workflows/agents'
34
- - '*chat-mode" - Conversational mode with advanced-elicitation'
35
- - '*kb-mode" - Load knowledge base for full BMAD help'
36
- - '*status" - Show current context/agent/progress'
37
- - '*agent {name}" - Transform into agent (list if unspecified)'
38
- - '*exit" - Return to BMad or exit (confirm if exiting BMad)'
39
- - '*task {name}" - Run task (list if unspecified)'
40
- - '*workflow {type}" - Start/list workflows'
41
- - '*workflow-guidance" - Get help selecting the right workflow for your project'
42
- - '*checklist {name}" - Execute checklist (list if unspecified)'
43
- - '*yolo" - Toggle skip confirmations'
44
- - '*party-mode" - Group chat with all agents'
45
- - '*doc-out" - Output full document'
46
- help-format:
47
- - When *help is called, focus on agent capabilities and what each can do
48
- - List actual agent names with their specializations and deliverables
49
- - List actual workflow names with descriptions
50
- - DO NOT list individual tasks/checklists (these belong to specific agents)
51
- - Emphasize that users should switch to an agent to access its specific capabilities
52
- - Format examples:
53
- - "*agent game-designer: Game Design Specialist"
54
- - " Specializes in: Game concepts, mechanics, level design"
55
- - " Can create: Game design documents, level designs, game briefs"
32
+ - If clear match to an agent's expertise, suggest transformation with *agent command
33
+ - If project-oriented, suggest *workflow-guidance to explore options
34
+ - Load resources only when needed - never pre-load
35
+ commands: # All commands require * prefix when used (e.g., *help, *agent pm)
36
+ help: Show this guide with available agents and workflows
37
+ chat-mode: Start conversational mode for detailed assistance
38
+ kb-mode: Load full BMAD knowledge base
39
+ status: Show current context, active agent, and progress
40
+ agent: Transform into a specialized agent (list if name not specified)
41
+ exit: Return to BMad or exit session
42
+ task: Run a specific task (list if name not specified)
43
+ workflow: Start a specific workflow (list if name not specified)
44
+ workflow-guidance: Get personalized help selecting the right workflow
45
+ checklist: Execute a checklist (list if name not specified)
46
+ yolo: Toggle skip confirmations mode
47
+ party-mode: Group chat with all agents
48
+ doc-out: Output full document
56
49
  help-display-template: |
57
- 🎭 BMad Orchestrator - Your Gateway to Specialized Agents
50
+ === BMAD Orchestrator Commands ===
51
+ All commands must start with * (asterisk)
58
52
 
59
- I coordinate specialized agents for different tasks. Tell me what you need, and I'll connect you with the right expert!
53
+ Core Commands:
54
+ *help ............... Show this guide
55
+ *chat-mode .......... Start conversational mode for detailed assistance
56
+ *kb-mode ............ Load full BMAD knowledge base
57
+ *status ............. Show current context, active agent, and progress
58
+ *exit ............... Return to BMad or exit session
60
59
 
61
- Orchestrator Commands:
62
- *help: Show this guide
63
- *chat-mode: Start conversational mode for detailed assistance
64
- *kb-mode: Load full BMAD knowledge base
65
- *status: Show current context, active agent, and progress
66
- *yolo: Toggle skip confirmations mode
67
- *party-mode: Group chat with all agents
68
- *doc-out: Output full document
69
- *exit: Return to BMad or exit session
70
-
71
- Agent Management:
72
- *agent {name}: Transform into a specialized agent
73
- *task {name}: Run a specific task (when in an agent)
74
- *checklist {name}: Execute a checklist (when in an agent)
60
+ Agent & Task Management:
61
+ *agent [name] ....... Transform into specialized agent (list if no name)
62
+ *task [name] ........ Run specific task (list if no name, requires agent)
63
+ *checklist [name] ... Execute checklist (list if no name, requires agent)
75
64
 
76
65
  Workflow Commands:
77
- *workflow {name}: Start a specific workflow directly
78
- *workflow-guidance: Get personalized help selecting the right workflow for your project
66
+ *workflow [name] .... Start specific workflow (list if no name)
67
+ *workflow-guidance .. Get personalized help selecting the right workflow
68
+
69
+ Other Commands:
70
+ *yolo ............... Toggle skip confirmations mode
71
+ *party-mode ......... Group chat with all agents
72
+ *doc-out ............ Output full document
79
73
 
80
- Available Specialist Agents:
81
- [For each agent in bundle, show:
82
- *agent {name}: {role/title}
83
- Specializes in: {key capabilities from agent's whenToUse}
84
- Can create: {list of documents/deliverables this agent produces}]
74
+ === Available Specialist Agents ===
75
+ [Dynamically list each agent in bundle with format:
76
+ *agent {id}: {title}
77
+ When to use: {whenToUse}
78
+ Key deliverables: {main outputs/documents}]
85
79
 
86
- Available Workflows:
87
- [For each workflow in bundle, show:
88
- *workflow {name}: {workflow description}]
80
+ === Available Workflows ===
81
+ [Dynamically list each workflow in bundle with format:
82
+ *workflow {id}: {name}
83
+ Purpose: {description}]
89
84
 
90
- 💡 Tip: Each agent has their own tasks, templates, and checklists. Switch to an agent to see what they can do!
85
+ 💡 Tip: Each agent has unique tasks, templates, and checklists. Switch to an agent to access their capabilities!
86
+
91
87
  fuzzy-matching:
92
88
  - 85% confidence threshold
93
89
  - Show numbered list if unsure
@@ -98,24 +94,17 @@ transformation:
98
94
  loading:
99
95
  - KB: Only for *kb-mode or BMAD questions
100
96
  - Agents: Only when transforming
101
- - 'Templates/Tasks: Only when executing'
97
+ - Templates/Tasks: Only when executing
102
98
  - Always indicate loading
103
99
  workflow-guidance:
104
100
  - Discover available workflows in the bundle at runtime
105
101
  - Understand each workflow's purpose, options, and decision points
106
102
  - Ask clarifying questions based on the workflow's structure
107
103
  - Guide users through workflow selection when multiple options exist
108
- - For workflows with divergent paths (e.g., simple vs complex), help users choose the right path
104
+ - For workflows with divergent paths, help users choose the right path
109
105
  - Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
110
106
  - Only recommend workflows that actually exist in the current bundle
111
- workflow-guidance-command:
112
- - When *workflow-guidance is called, start an interactive session
113
- - First, list all available workflows with brief descriptions
114
- - Ask about the user's project goals and constraints
115
- - Based on answers, recommend the most suitable workflow
116
- - If a workflow has multiple paths, help choose between them (e.g., complex vs simple project flow)
117
- - Explain what documents will be created and which agents will be involved
118
- - Offer to start the recommended workflow immediately
107
+ - When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
119
108
  dependencies:
120
109
  tasks:
121
110
  - advanced-elicitation
@@ -48,7 +48,6 @@ dependencies:
48
48
  templates:
49
49
  - prd-tmpl
50
50
  - brownfield-prd-tmpl
51
- - simple-project-prd-tmpl
52
51
  checklists:
53
52
  - pm-checklist
54
53
  - change-checklist
@@ -68,7 +68,7 @@ The epic numbering starts at 1 and increments for each epic found.
68
68
 
69
69
  ### Before (PRD):
70
70
 
71
- `````markdown
71
+ ```markdown
72
72
  # Product Requirements Document
73
73
 
74
74
  ## 1. Executive Summary
@@ -91,9 +91,10 @@ Epic content...
91
91
 
92
92
  Content here...
93
93
 
94
- ````text
94
+ ```
95
95
 
96
96
  ### After (PRD):
97
+
97
98
  ```markdown
98
99
  # Product Requirements Document
99
100
 
@@ -113,9 +114,11 @@ Epic content...
113
114
 
114
115
  ## Success Metrics
115
116
  Content here...
116
- ```text
117
+
118
+ ```
117
119
 
118
120
  ### Before (Non-PRD):
121
+
119
122
  ```markdown
120
123
  # Architecture Document
121
124
 
@@ -124,9 +127,10 @@ Content...
124
127
 
125
128
  ## 2.1 Technical Stack & Tools
126
129
  Content...
127
- ```text
130
+ ```
128
131
 
129
132
  ### After (Non-PRD):
133
+
130
134
  ```markdown
131
135
  # Architecture Document
132
136
 
@@ -135,9 +139,5 @@ Content...
135
139
 
136
140
  ## Technical Stack Tools
137
141
  Content...
138
- ````
139
- `````
140
142
 
141
- ```text
142
-
143
- ```
143
+ ```
@@ -56,7 +56,7 @@ You are now operating as a Documentation Indexer. Your goal is to ensure all doc
56
56
 
57
57
  The index should be organized as follows:
58
58
 
59
- `````markdown
59
+ ```markdown
60
60
  # Documentation Index
61
61
 
62
62
  ## Root Documents
@@ -89,7 +89,7 @@ Documents within the `another-folder/` directory:
89
89
 
90
90
  Description of nested document.
91
91
 
92
- ````text
92
+ ```
93
93
 
94
94
  ### Index Entry Format
95
95
 
@@ -99,10 +99,7 @@ Each entry should follow this format:
99
99
  ### [Document Title](relative/path/to/file.md)
100
100
 
101
101
  Brief description of the document's purpose and contents.
102
- ````
103
- `````
104
-
105
- ````
102
+ ```
106
103
 
107
104
  ### Rules of Operation
108
105
 
@@ -180,4 +177,3 @@ Please provide:
180
177
  5. Whether to include hidden files/folders (starting with `.`)
181
178
 
182
179
  Would you like to proceed with documentation indexing? Please provide the required input above.
183
- ````
@@ -131,7 +131,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
131
131
 
132
132
  ```mermaid
133
133
  {{flow_diagram}}
134
- ```text
134
+ ```
135
135
 
136
136
  **Edge Cases & Error Handling:**
137
137
 
@@ -84,7 +84,7 @@ Document the choice and key services that will be used.]]
84
84
 
85
85
  ### Repository Structure
86
86
 
87
- [[LLM: Define the repository approach based on PRD requirements and platform choice:
87
+ [[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
88
88
 
89
89
  1. For modern fullstack apps, monorepo is often preferred
90
90
  2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
@@ -109,9 +109,9 @@ Document the choice and key services that will be used.]]
109
109
 
110
110
  Use appropriate diagram type for clarity.]]
111
111
 
112
- ````mermaid
112
+ ```mermaid
113
113
  {{architecture_diagram}}
114
- ```text
114
+ ```
115
115
 
116
116
  ### Architectural Patterns
117
117
 
@@ -222,7 +222,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
222
222
  model_interface;
223
223
  }
224
224
  }
225
- ````
225
+ ```
226
226
 
227
227
  **Relationships:**
228
228
 
@@ -246,7 +246,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
246
246
 
247
247
  **TypeScript Interface:**
248
248
 
249
- ````typescript
249
+ ```typescript
250
250
  interface User {
251
251
  id: string;
252
252
  email: string;
@@ -262,7 +262,7 @@ interface UserProfile {
262
262
  bio?: string;
263
263
  preferences: Record<string, any>;
264
264
  }
265
- ```text
265
+ ```
266
266
 
267
267
  **Relationships:**
268
268
 
@@ -300,16 +300,16 @@ servers:
300
300
  '[object Object]': null
301
301
  description:
302
302
  '[object Object]': null
303
- ````
303
+ ```
304
304
 
305
305
  ^^/CONDITION: has_rest_api^^
306
306
 
307
307
  ^^CONDITION: has_graphql_api^^
308
308
 
309
- ````graphql
309
+ ```graphql
310
310
  # GraphQL Schema
311
311
  {{graphql_schema}}
312
- ```text
312
+ ```
313
313
 
314
314
  ^^/CONDITION: has_graphql_api^^
315
315
 
@@ -322,7 +322,7 @@ servers:
322
322
  trpc_routers;
323
323
  }
324
324
  }
325
- ````
325
+ ```
326
326
 
327
327
  ^^/CONDITION: has_trpc_api^^
328
328
 
@@ -467,19 +467,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
467
467
 
468
468
  **Component Organization:**
469
469
 
470
- `````text
471
- {{component_structure}}
472
470
  ```text
471
+ {{component_structure}}
472
+ ```
473
473
 
474
474
  **Component Template:**
475
475
 
476
- ````typescript
476
+ ```typescript
477
477
  {
478
478
  {
479
479
  component_template;
480
480
  }
481
481
  }
482
- ```text
482
+ ```
483
483
 
484
484
  ### State Management Architecture
485
485
 
@@ -493,7 +493,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
493
493
  state_structure;
494
494
  }
495
495
  }
496
- `````
496
+ ```
497
497
 
498
498
  **State Management Patterns:**
499
499
 
@@ -508,17 +508,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
508
508
 
509
509
  ```text
510
510
  {{route_structure}}
511
- ```text
511
+ ```
512
512
 
513
513
  **Protected Route Pattern:**
514
514
 
515
- ````typescript
515
+ ```typescript
516
516
  {
517
517
  {
518
518
  protected_route_example;
519
519
  }
520
520
  }
521
- ```text
521
+ ```
522
522
 
523
523
  ### Frontend Services Layer
524
524
 
@@ -532,17 +532,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
532
532
  api_client_setup;
533
533
  }
534
534
  }
535
- ````
535
+ ```
536
536
 
537
537
  **Service Example:**
538
538
 
539
- ````typescript
539
+ ```typescript
540
540
  {
541
541
  {
542
542
  service_example;
543
543
  }
544
544
  }
545
- ```text
545
+ ```
546
546
 
547
547
  ## Backend Architecture
548
548
 
@@ -557,11 +557,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
557
557
  ^^CONDITION: serverless^^
558
558
  **Function Organization:**
559
559
 
560
- ````
560
+ ```text
561
561
 
562
562
  {{function_structure}}
563
563
 
564
- ````text
564
+ ```
565
565
 
566
566
  **Function Template:**
567
567
 
@@ -571,26 +571,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
571
571
  function_template;
572
572
  }
573
573
  }
574
- ````
574
+ ```
575
575
 
576
576
  ^^/CONDITION: serverless^^
577
577
 
578
578
  ^^CONDITION: traditional_server^^
579
579
  **Controller/Route Organization:**
580
580
 
581
- `````text
582
- {{controller_structure}}
583
581
  ```text
582
+ {{controller_structure}}
583
+ ```
584
584
 
585
585
  **Controller Template:**
586
586
 
587
- ````typescript
587
+ ```typescript
588
588
  {
589
589
  {
590
590
  controller_template;
591
591
  }
592
592
  }
593
- ```text
593
+ ```
594
594
 
595
595
  ^^/CONDITION: traditional_server^^
596
596
 
@@ -602,17 +602,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
602
602
 
603
603
  ```sql
604
604
  {{database_schema}}
605
- `````
605
+ ```
606
606
 
607
607
  **Data Access Layer:**
608
608
 
609
- ````typescript
609
+ ```typescript
610
610
  {
611
611
  {
612
612
  repository_pattern;
613
613
  }
614
614
  }
615
- ```text
615
+ ```
616
616
 
617
617
  ### Authentication and Authorization
618
618
 
@@ -622,17 +622,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
622
622
 
623
623
  ```mermaid
624
624
  {{auth_flow_diagram}}
625
- ````
625
+ ```
626
626
 
627
627
  **Middleware/Guards:**
628
628
 
629
- ````typescript
629
+ ```typescript
630
630
  {
631
631
  {
632
632
  auth_middleware;
633
633
  }
634
634
  }
635
- ```text
635
+ ```
636
636
 
637
637
  ## Unified Project Structure
638
638
 
@@ -692,7 +692,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
692
692
  ├── package.json # Root package.json
693
693
  ├── {{monorepo_config}} # Monorepo configuration
694
694
  └── README.md
695
- ````
695
+ ```
696
696
 
697
697
  @{example: vercel_structure}
698
698
  apps/
@@ -714,19 +714,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
714
714
 
715
715
  **Prerequisites:**
716
716
 
717
- ````bash
717
+ ```bash
718
718
  {{prerequisites_commands}}
719
- ```text
719
+ ```
720
720
 
721
721
  **Initial Setup:**
722
722
 
723
723
  ```bash
724
724
  {{setup_commands}}
725
- ````
725
+ ```
726
726
 
727
727
  **Development Commands:**
728
728
 
729
- ````bash
729
+ ```bash
730
730
  # Start all services
731
731
  {{start_all_command}}
732
732
 
@@ -738,7 +738,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
738
738
 
739
739
  # Run tests
740
740
  {{test_commands}}
741
- ```text
741
+ ```
742
742
 
743
743
  ### Environment Configuration
744
744
 
@@ -753,7 +753,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
753
753
 
754
754
  # Shared
755
755
  {{shared_env_vars}}
756
- ````
756
+ ```
757
757
 
758
758
  ## Deployment Architecture
759
759
 
@@ -776,9 +776,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
776
776
 
777
777
  ### CI/CD Pipeline
778
778
 
779
- ````yaml
779
+ ```yaml
780
780
  '[object Object]': null
781
- ```text
781
+ ```
782
782
 
783
783
  ### Environments
784
784
 
@@ -836,7 +836,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
836
836
 
837
837
  ### Testing Pyramid
838
838
 
839
- ````
839
+ ```text
840
840
 
841
841
  E2E Tests
842
842
  / \
@@ -845,17 +845,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
845
845
  / \
846
846
  Frontend Unit Backend Unit
847
847
 
848
- ```text
848
+ ```
849
849
 
850
850
  ### Test Organization
851
851
 
852
852
  **Frontend Tests:**
853
853
 
854
- ```
854
+ ```text
855
855
 
856
856
  {{frontend_test_structure}}
857
857
 
858
- ````text
858
+ ```
859
859
 
860
860
  **Backend Tests:**
861
861
 
@@ -863,15 +863,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
863
863
 
864
864
  {{backend_test_structure}}
865
865
 
866
- ```text
866
+ ```
867
867
 
868
868
  **E2E Tests:**
869
869
 
870
- ````
870
+ ```text
871
871
 
872
872
  {{e2e_test_structure}}
873
873
 
874
- ````text
874
+ ```
875
875
 
876
876
  ### Test Examples
877
877
 
@@ -883,17 +883,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
883
883
  frontend_test_example;
884
884
  }
885
885
  }
886
- ````
886
+ ```
887
887
 
888
888
  **Backend API Test:**
889
889
 
890
- ````typescript
890
+ ```typescript
891
891
  {
892
892
  {
893
893
  backend_test_example;
894
894
  }
895
895
  }
896
- ```text
896
+ ```
897
897
 
898
898
  **E2E Test:**
899
899
 
@@ -903,7 +903,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
903
903
  e2e_test_example;
904
904
  }
905
905
  }
906
- ````
906
+ ```
907
907
 
908
908
  ## Coding Standards
909
909
 
@@ -944,9 +944,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
944
944
 
945
945
  ### Error Flow
946
946
 
947
- ````mermaid
947
+ ```mermaid
948
948
  {{error_flow_diagram}}
949
- ```text
949
+ ```
950
950
 
951
951
  ### Error Response Format
952
952
 
@@ -960,17 +960,17 @@ interface ApiError {
960
960
  requestId: string;
961
961
  };
962
962
  }
963
- ````
963
+ ```
964
964
 
965
965
  ### Frontend Error Handling
966
966
 
967
- ````typescript
967
+ ```typescript
968
968
  {
969
969
  {
970
970
  frontend_error_handler;
971
971
  }
972
972
  }
973
- ```text
973
+ ```
974
974
 
975
975
  ### Backend Error Handling
976
976
 
@@ -980,7 +980,7 @@ interface ApiError {
980
980
  backend_error_handler;
981
981
  }
982
982
  }
983
- ````
983
+ ```
984
984
 
985
985
  ## Monitoring and Observability
986
986