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.
- package/CHANGELOG.md +19 -0
- package/bmad-core/agents/bmad-orchestrator.md +55 -66
- package/bmad-core/agents/pm.md +0 -1
- package/bmad-core/tasks/doc-migration-task.md +9 -9
- package/bmad-core/tasks/index-docs.md +3 -7
- package/bmad-core/templates/front-end-spec-tmpl.md +1 -1
- package/bmad-core/templates/fullstack-architecture-tmpl.md +60 -60
- package/bmad-core/templates/prd-tmpl.md +2 -2
- package/bmad-core/workflows/brownfield-fullstack.yml +19 -58
- package/bmad-core/workflows/brownfield-service.yml +19 -58
- package/bmad-core/workflows/brownfield-ui.yml +20 -59
- package/bmad-core/workflows/greenfield-fullstack.yml +31 -77
- package/bmad-core/workflows/greenfield-service.yml +22 -68
- package/bmad-core/workflows/greenfield-ui.yml +30 -76
- package/dist/agents/architect.txt +60 -60
- package/dist/agents/bmad-master.txt +66 -70
- package/dist/agents/bmad-orchestrator.txt +55 -66
- package/dist/agents/pm.txt +2 -467
- package/dist/agents/ux-expert.txt +1 -1
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +55 -66
- package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +39 -32
- package/dist/teams/team-all.txt +368 -1099
- package/dist/teams/team-fullstack.txt +286 -1017
- package/dist/teams/team-ide-minimal.txt +55 -66
- package/dist/teams/team-no-ui.txt +224 -785
- package/docs/claude-code-guide.md +6 -4
- package/docs/cursor-guide.md +8 -4
- package/docs/roo-code-guide.md +6 -4
- package/docs/versioning-and-releases.md +6 -6
- package/docs/windsurf-guide.md +6 -4
- package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +17 -13
- package/package.json +1 -1
- package/tools/installer/package.json +1 -1
- package/bmad-core/templates/simple-project-prd-tmpl.md +0 -461
|
@@ -13,8 +13,7 @@ workflow:
|
|
|
13
13
|
- ui-prototype
|
|
14
14
|
- simple-interface
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
complex_ui_sequence:
|
|
16
|
+
sequence:
|
|
18
17
|
- agent: analyst
|
|
19
18
|
creates: project-brief.md
|
|
20
19
|
optional_steps:
|
|
@@ -73,74 +72,42 @@ workflow:
|
|
|
73
72
|
action: move_to_ide
|
|
74
73
|
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
75
74
|
|
|
76
|
-
# For Simple UIs (Simple Interfaces, Few Components)
|
|
77
|
-
simple_ui_sequence:
|
|
78
|
-
- step: ui_scope
|
|
79
|
-
action: assess complexity
|
|
80
|
-
notes: "First, assess if this needs full planning (use complex_ui_sequence) or can be a simple interface."
|
|
81
|
-
|
|
82
|
-
- agent: analyst
|
|
83
|
-
creates: project-brief.md
|
|
84
|
-
optional_steps:
|
|
85
|
-
- brainstorming_session
|
|
86
|
-
notes: "Creates focused project brief for simple UI. SAVE OUTPUT: Copy final project-brief.md to your project's docs/ folder."
|
|
87
|
-
|
|
88
|
-
- agent: ux-expert
|
|
89
|
-
creates: simple_wireframes OR quick_spec
|
|
90
|
-
uses: create-epic OR create-story
|
|
91
|
-
requires: project-brief.md
|
|
92
|
-
notes: "Create simple wireframes and component list instead of full UI/UX spec for rapid development."
|
|
93
|
-
|
|
94
|
-
- workflow_end:
|
|
95
|
-
action: move_to_ide
|
|
96
|
-
notes: "Simple UI defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
97
|
-
|
|
98
75
|
flow_diagram: |
|
|
99
76
|
```mermaid
|
|
100
77
|
graph TD
|
|
101
|
-
A[Start: UI Development] --> B
|
|
102
|
-
B
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
G --> H
|
|
113
|
-
H
|
|
114
|
-
|
|
115
|
-
I
|
|
116
|
-
J -->
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
G -.-> G1[Optional: technical research]
|
|
128
|
-
D -.-> D1[Optional: brainstorming]
|
|
129
|
-
|
|
130
|
-
style M fill:#90EE90
|
|
131
|
-
style O fill:#90EE90
|
|
132
|
-
style F3 fill:#E6E6FA
|
|
133
|
-
style F4 fill:#E6E6FA
|
|
78
|
+
A[Start: UI Development] --> B[analyst: project-brief.md]
|
|
79
|
+
B --> C[pm: prd.md]
|
|
80
|
+
C --> D[ux-expert: front-end-spec.md]
|
|
81
|
+
D --> D2{Generate v0 prompt?}
|
|
82
|
+
D2 -->|Yes| D3[ux-expert: create v0 prompt]
|
|
83
|
+
D2 -->|No| E[architect: front-end-architecture.md]
|
|
84
|
+
D3 --> D4[User: generate UI in v0/Lovable]
|
|
85
|
+
D4 --> E
|
|
86
|
+
E --> F{Architecture suggests PRD changes?}
|
|
87
|
+
F -->|Yes| G[pm: update prd.md]
|
|
88
|
+
F -->|No| H[po: validate all artifacts]
|
|
89
|
+
G --> H
|
|
90
|
+
H --> I{PO finds issues?}
|
|
91
|
+
I -->|Yes| J[Return to relevant agent for fixes]
|
|
92
|
+
I -->|No| K[Move to IDE Environment]
|
|
93
|
+
J --> H
|
|
94
|
+
|
|
95
|
+
B -.-> B1[Optional: brainstorming]
|
|
96
|
+
B -.-> B2[Optional: market research]
|
|
97
|
+
D -.-> D1[Optional: user research]
|
|
98
|
+
E -.-> E1[Optional: technical research]
|
|
99
|
+
|
|
100
|
+
style K fill:#90EE90
|
|
101
|
+
style D3 fill:#E6E6FA
|
|
102
|
+
style D4 fill:#E6E6FA
|
|
103
|
+
style B fill:#FFE4B5
|
|
134
104
|
style C fill:#FFE4B5
|
|
105
|
+
style D fill:#FFE4B5
|
|
135
106
|
style E fill:#FFE4B5
|
|
136
|
-
style F fill:#FFE4B5
|
|
137
|
-
style G fill:#FFE4B5
|
|
138
|
-
style D fill:#FFB6C1
|
|
139
|
-
style N fill:#FFB6C1
|
|
140
107
|
```
|
|
141
108
|
|
|
142
109
|
decision_guidance:
|
|
143
|
-
|
|
110
|
+
when_to_use:
|
|
144
111
|
- Building production frontend applications
|
|
145
112
|
- Multiple views/pages with complex interactions
|
|
146
113
|
- Need comprehensive UI/UX design and testing
|
|
@@ -148,16 +115,7 @@ workflow:
|
|
|
148
115
|
- Long-term maintenance expected
|
|
149
116
|
- Customer-facing applications
|
|
150
117
|
|
|
151
|
-
use_simple_sequence_when:
|
|
152
|
-
- Building simple interfaces or prototypes
|
|
153
|
-
- Few views with straightforward interactions
|
|
154
|
-
- Internal tools or admin interfaces
|
|
155
|
-
- Solo developer or small team
|
|
156
|
-
- Quick experiments or proof-of-concepts
|
|
157
|
-
- Learning or educational projects
|
|
158
|
-
|
|
159
118
|
handoff_prompts:
|
|
160
|
-
# Complex sequence prompts
|
|
161
119
|
analyst_to_pm: "Project brief is complete. Save it as docs/project-brief.md in your project, then create the PRD."
|
|
162
120
|
pm_to_ux: "PRD is ready. Save it as docs/prd.md in your project, then create the UI/UX specification."
|
|
163
121
|
ux_to_architect: "UI/UX spec complete. Save it as docs/front-end-spec.md in your project, then create the frontend architecture."
|
|
@@ -165,8 +123,4 @@ workflow:
|
|
|
165
123
|
architect_to_pm: "Please update the PRD with the suggested story changes, then re-export the complete prd.md to docs/."
|
|
166
124
|
updated_to_po: "All documents ready in docs/ folder. Please validate all artifacts for consistency."
|
|
167
125
|
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
# Simple sequence prompts
|
|
171
|
-
simple_analyst_to_ux: "Focused project brief complete. Save it as docs/project-brief.md, then create simple wireframes for rapid development."
|
|
172
|
-
simple_complete: "Simple UI defined. Move to IDE environment to begin development."
|
|
126
|
+
complete: "All planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
|
@@ -2015,7 +2015,7 @@ Document the choice and key services that will be used.]]
|
|
|
2015
2015
|
|
|
2016
2016
|
### Repository Structure
|
|
2017
2017
|
|
|
2018
|
-
[[LLM: Define the repository approach based on PRD requirements and platform choice:
|
|
2018
|
+
[[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
|
|
2019
2019
|
|
|
2020
2020
|
1. For modern fullstack apps, monorepo is often preferred
|
|
2021
2021
|
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
|
@@ -2040,9 +2040,9 @@ Document the choice and key services that will be used.]]
|
|
|
2040
2040
|
|
|
2041
2041
|
Use appropriate diagram type for clarity.]]
|
|
2042
2042
|
|
|
2043
|
-
|
|
2043
|
+
```mermaid
|
|
2044
2044
|
{{architecture_diagram}}
|
|
2045
|
-
```
|
|
2045
|
+
```
|
|
2046
2046
|
|
|
2047
2047
|
### Architectural Patterns
|
|
2048
2048
|
|
|
@@ -2153,7 +2153,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2153
2153
|
model_interface;
|
|
2154
2154
|
}
|
|
2155
2155
|
}
|
|
2156
|
-
|
|
2156
|
+
```
|
|
2157
2157
|
|
|
2158
2158
|
**Relationships:**
|
|
2159
2159
|
|
|
@@ -2177,7 +2177,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2177
2177
|
|
|
2178
2178
|
**TypeScript Interface:**
|
|
2179
2179
|
|
|
2180
|
-
|
|
2180
|
+
```typescript
|
|
2181
2181
|
interface User {
|
|
2182
2182
|
id: string;
|
|
2183
2183
|
email: string;
|
|
@@ -2193,7 +2193,7 @@ interface UserProfile {
|
|
|
2193
2193
|
bio?: string;
|
|
2194
2194
|
preferences: Record<string, any>;
|
|
2195
2195
|
}
|
|
2196
|
-
```
|
|
2196
|
+
```
|
|
2197
2197
|
|
|
2198
2198
|
**Relationships:**
|
|
2199
2199
|
|
|
@@ -2231,16 +2231,16 @@ servers:
|
|
|
2231
2231
|
'[object Object]': null
|
|
2232
2232
|
description:
|
|
2233
2233
|
'[object Object]': null
|
|
2234
|
-
|
|
2234
|
+
```
|
|
2235
2235
|
|
|
2236
2236
|
^^/CONDITION: has_rest_api^^
|
|
2237
2237
|
|
|
2238
2238
|
^^CONDITION: has_graphql_api^^
|
|
2239
2239
|
|
|
2240
|
-
|
|
2240
|
+
```graphql
|
|
2241
2241
|
# GraphQL Schema
|
|
2242
2242
|
{{graphql_schema}}
|
|
2243
|
-
```
|
|
2243
|
+
```
|
|
2244
2244
|
|
|
2245
2245
|
^^/CONDITION: has_graphql_api^^
|
|
2246
2246
|
|
|
@@ -2253,7 +2253,7 @@ servers:
|
|
|
2253
2253
|
trpc_routers;
|
|
2254
2254
|
}
|
|
2255
2255
|
}
|
|
2256
|
-
|
|
2256
|
+
```
|
|
2257
2257
|
|
|
2258
2258
|
^^/CONDITION: has_trpc_api^^
|
|
2259
2259
|
|
|
@@ -2398,19 +2398,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2398
2398
|
|
|
2399
2399
|
**Component Organization:**
|
|
2400
2400
|
|
|
2401
|
-
`````text
|
|
2402
|
-
{{component_structure}}
|
|
2403
2401
|
```text
|
|
2402
|
+
{{component_structure}}
|
|
2403
|
+
```
|
|
2404
2404
|
|
|
2405
2405
|
**Component Template:**
|
|
2406
2406
|
|
|
2407
|
-
|
|
2407
|
+
```typescript
|
|
2408
2408
|
{
|
|
2409
2409
|
{
|
|
2410
2410
|
component_template;
|
|
2411
2411
|
}
|
|
2412
2412
|
}
|
|
2413
|
-
```
|
|
2413
|
+
```
|
|
2414
2414
|
|
|
2415
2415
|
### State Management Architecture
|
|
2416
2416
|
|
|
@@ -2424,7 +2424,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2424
2424
|
state_structure;
|
|
2425
2425
|
}
|
|
2426
2426
|
}
|
|
2427
|
-
|
|
2427
|
+
```
|
|
2428
2428
|
|
|
2429
2429
|
**State Management Patterns:**
|
|
2430
2430
|
|
|
@@ -2439,17 +2439,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2439
2439
|
|
|
2440
2440
|
```text
|
|
2441
2441
|
{{route_structure}}
|
|
2442
|
-
```
|
|
2442
|
+
```
|
|
2443
2443
|
|
|
2444
2444
|
**Protected Route Pattern:**
|
|
2445
2445
|
|
|
2446
|
-
|
|
2446
|
+
```typescript
|
|
2447
2447
|
{
|
|
2448
2448
|
{
|
|
2449
2449
|
protected_route_example;
|
|
2450
2450
|
}
|
|
2451
2451
|
}
|
|
2452
|
-
```
|
|
2452
|
+
```
|
|
2453
2453
|
|
|
2454
2454
|
### Frontend Services Layer
|
|
2455
2455
|
|
|
@@ -2463,17 +2463,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2463
2463
|
api_client_setup;
|
|
2464
2464
|
}
|
|
2465
2465
|
}
|
|
2466
|
-
|
|
2466
|
+
```
|
|
2467
2467
|
|
|
2468
2468
|
**Service Example:**
|
|
2469
2469
|
|
|
2470
|
-
|
|
2470
|
+
```typescript
|
|
2471
2471
|
{
|
|
2472
2472
|
{
|
|
2473
2473
|
service_example;
|
|
2474
2474
|
}
|
|
2475
2475
|
}
|
|
2476
|
-
```
|
|
2476
|
+
```
|
|
2477
2477
|
|
|
2478
2478
|
## Backend Architecture
|
|
2479
2479
|
|
|
@@ -2488,11 +2488,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2488
2488
|
^^CONDITION: serverless^^
|
|
2489
2489
|
**Function Organization:**
|
|
2490
2490
|
|
|
2491
|
-
|
|
2491
|
+
```text
|
|
2492
2492
|
|
|
2493
2493
|
{{function_structure}}
|
|
2494
2494
|
|
|
2495
|
-
|
|
2495
|
+
```
|
|
2496
2496
|
|
|
2497
2497
|
**Function Template:**
|
|
2498
2498
|
|
|
@@ -2502,26 +2502,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2502
2502
|
function_template;
|
|
2503
2503
|
}
|
|
2504
2504
|
}
|
|
2505
|
-
|
|
2505
|
+
```
|
|
2506
2506
|
|
|
2507
2507
|
^^/CONDITION: serverless^^
|
|
2508
2508
|
|
|
2509
2509
|
^^CONDITION: traditional_server^^
|
|
2510
2510
|
**Controller/Route Organization:**
|
|
2511
2511
|
|
|
2512
|
-
`````text
|
|
2513
|
-
{{controller_structure}}
|
|
2514
2512
|
```text
|
|
2513
|
+
{{controller_structure}}
|
|
2514
|
+
```
|
|
2515
2515
|
|
|
2516
2516
|
**Controller Template:**
|
|
2517
2517
|
|
|
2518
|
-
|
|
2518
|
+
```typescript
|
|
2519
2519
|
{
|
|
2520
2520
|
{
|
|
2521
2521
|
controller_template;
|
|
2522
2522
|
}
|
|
2523
2523
|
}
|
|
2524
|
-
```
|
|
2524
|
+
```
|
|
2525
2525
|
|
|
2526
2526
|
^^/CONDITION: traditional_server^^
|
|
2527
2527
|
|
|
@@ -2533,17 +2533,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2533
2533
|
|
|
2534
2534
|
```sql
|
|
2535
2535
|
{{database_schema}}
|
|
2536
|
-
|
|
2536
|
+
```
|
|
2537
2537
|
|
|
2538
2538
|
**Data Access Layer:**
|
|
2539
2539
|
|
|
2540
|
-
|
|
2540
|
+
```typescript
|
|
2541
2541
|
{
|
|
2542
2542
|
{
|
|
2543
2543
|
repository_pattern;
|
|
2544
2544
|
}
|
|
2545
2545
|
}
|
|
2546
|
-
```
|
|
2546
|
+
```
|
|
2547
2547
|
|
|
2548
2548
|
### Authentication and Authorization
|
|
2549
2549
|
|
|
@@ -2553,17 +2553,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2553
2553
|
|
|
2554
2554
|
```mermaid
|
|
2555
2555
|
{{auth_flow_diagram}}
|
|
2556
|
-
|
|
2556
|
+
```
|
|
2557
2557
|
|
|
2558
2558
|
**Middleware/Guards:**
|
|
2559
2559
|
|
|
2560
|
-
|
|
2560
|
+
```typescript
|
|
2561
2561
|
{
|
|
2562
2562
|
{
|
|
2563
2563
|
auth_middleware;
|
|
2564
2564
|
}
|
|
2565
2565
|
}
|
|
2566
|
-
```
|
|
2566
|
+
```
|
|
2567
2567
|
|
|
2568
2568
|
## Unified Project Structure
|
|
2569
2569
|
|
|
@@ -2623,7 +2623,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2623
2623
|
├── package.json # Root package.json
|
|
2624
2624
|
├── {{monorepo_config}} # Monorepo configuration
|
|
2625
2625
|
└── README.md
|
|
2626
|
-
|
|
2626
|
+
```
|
|
2627
2627
|
|
|
2628
2628
|
@{example: vercel_structure}
|
|
2629
2629
|
apps/
|
|
@@ -2645,19 +2645,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2645
2645
|
|
|
2646
2646
|
**Prerequisites:**
|
|
2647
2647
|
|
|
2648
|
-
|
|
2648
|
+
```bash
|
|
2649
2649
|
{{prerequisites_commands}}
|
|
2650
|
-
```
|
|
2650
|
+
```
|
|
2651
2651
|
|
|
2652
2652
|
**Initial Setup:**
|
|
2653
2653
|
|
|
2654
2654
|
```bash
|
|
2655
2655
|
{{setup_commands}}
|
|
2656
|
-
|
|
2656
|
+
```
|
|
2657
2657
|
|
|
2658
2658
|
**Development Commands:**
|
|
2659
2659
|
|
|
2660
|
-
|
|
2660
|
+
```bash
|
|
2661
2661
|
# Start all services
|
|
2662
2662
|
{{start_all_command}}
|
|
2663
2663
|
|
|
@@ -2669,7 +2669,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2669
2669
|
|
|
2670
2670
|
# Run tests
|
|
2671
2671
|
{{test_commands}}
|
|
2672
|
-
```
|
|
2672
|
+
```
|
|
2673
2673
|
|
|
2674
2674
|
### Environment Configuration
|
|
2675
2675
|
|
|
@@ -2684,7 +2684,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2684
2684
|
|
|
2685
2685
|
# Shared
|
|
2686
2686
|
{{shared_env_vars}}
|
|
2687
|
-
|
|
2687
|
+
```
|
|
2688
2688
|
|
|
2689
2689
|
## Deployment Architecture
|
|
2690
2690
|
|
|
@@ -2707,9 +2707,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2707
2707
|
|
|
2708
2708
|
### CI/CD Pipeline
|
|
2709
2709
|
|
|
2710
|
-
|
|
2710
|
+
```yaml
|
|
2711
2711
|
'[object Object]': null
|
|
2712
|
-
```
|
|
2712
|
+
```
|
|
2713
2713
|
|
|
2714
2714
|
### Environments
|
|
2715
2715
|
|
|
@@ -2767,7 +2767,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2767
2767
|
|
|
2768
2768
|
### Testing Pyramid
|
|
2769
2769
|
|
|
2770
|
-
|
|
2770
|
+
```text
|
|
2771
2771
|
|
|
2772
2772
|
E2E Tests
|
|
2773
2773
|
/ \
|
|
@@ -2776,17 +2776,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2776
2776
|
/ \
|
|
2777
2777
|
Frontend Unit Backend Unit
|
|
2778
2778
|
|
|
2779
|
-
```
|
|
2779
|
+
```
|
|
2780
2780
|
|
|
2781
2781
|
### Test Organization
|
|
2782
2782
|
|
|
2783
2783
|
**Frontend Tests:**
|
|
2784
2784
|
|
|
2785
|
-
```
|
|
2785
|
+
```text
|
|
2786
2786
|
|
|
2787
2787
|
{{frontend_test_structure}}
|
|
2788
2788
|
|
|
2789
|
-
|
|
2789
|
+
```
|
|
2790
2790
|
|
|
2791
2791
|
**Backend Tests:**
|
|
2792
2792
|
|
|
@@ -2794,15 +2794,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2794
2794
|
|
|
2795
2795
|
{{backend_test_structure}}
|
|
2796
2796
|
|
|
2797
|
-
```
|
|
2797
|
+
```
|
|
2798
2798
|
|
|
2799
2799
|
**E2E Tests:**
|
|
2800
2800
|
|
|
2801
|
-
|
|
2801
|
+
```text
|
|
2802
2802
|
|
|
2803
2803
|
{{e2e_test_structure}}
|
|
2804
2804
|
|
|
2805
|
-
|
|
2805
|
+
```
|
|
2806
2806
|
|
|
2807
2807
|
### Test Examples
|
|
2808
2808
|
|
|
@@ -2814,17 +2814,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2814
2814
|
frontend_test_example;
|
|
2815
2815
|
}
|
|
2816
2816
|
}
|
|
2817
|
-
|
|
2817
|
+
```
|
|
2818
2818
|
|
|
2819
2819
|
**Backend API Test:**
|
|
2820
2820
|
|
|
2821
|
-
|
|
2821
|
+
```typescript
|
|
2822
2822
|
{
|
|
2823
2823
|
{
|
|
2824
2824
|
backend_test_example;
|
|
2825
2825
|
}
|
|
2826
2826
|
}
|
|
2827
|
-
```
|
|
2827
|
+
```
|
|
2828
2828
|
|
|
2829
2829
|
**E2E Test:**
|
|
2830
2830
|
|
|
@@ -2834,7 +2834,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2834
2834
|
e2e_test_example;
|
|
2835
2835
|
}
|
|
2836
2836
|
}
|
|
2837
|
-
|
|
2837
|
+
```
|
|
2838
2838
|
|
|
2839
2839
|
## Coding Standards
|
|
2840
2840
|
|
|
@@ -2875,9 +2875,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
2875
2875
|
|
|
2876
2876
|
### Error Flow
|
|
2877
2877
|
|
|
2878
|
-
|
|
2878
|
+
```mermaid
|
|
2879
2879
|
{{error_flow_diagram}}
|
|
2880
|
-
```
|
|
2880
|
+
```
|
|
2881
2881
|
|
|
2882
2882
|
### Error Response Format
|
|
2883
2883
|
|
|
@@ -2891,17 +2891,17 @@ interface ApiError {
|
|
|
2891
2891
|
requestId: string;
|
|
2892
2892
|
};
|
|
2893
2893
|
}
|
|
2894
|
-
|
|
2894
|
+
```
|
|
2895
2895
|
|
|
2896
2896
|
### Frontend Error Handling
|
|
2897
2897
|
|
|
2898
|
-
|
|
2898
|
+
```typescript
|
|
2899
2899
|
{
|
|
2900
2900
|
{
|
|
2901
2901
|
frontend_error_handler;
|
|
2902
2902
|
}
|
|
2903
2903
|
}
|
|
2904
|
-
```
|
|
2904
|
+
```
|
|
2905
2905
|
|
|
2906
2906
|
### Backend Error Handling
|
|
2907
2907
|
|
|
@@ -2911,7 +2911,7 @@ interface ApiError {
|
|
|
2911
2911
|
backend_error_handler;
|
|
2912
2912
|
}
|
|
2913
2913
|
}
|
|
2914
|
-
|
|
2914
|
+
```
|
|
2915
2915
|
|
|
2916
2916
|
## Monitoring and Observability
|
|
2917
2917
|
|