bmad-method 4.5.1 → 4.6.1

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 (43) 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/architecture-tmpl.md +2 -0
  7. package/bmad-core/templates/brownfield-architecture-tmpl.md +2 -0
  8. package/bmad-core/templates/brownfield-prd-tmpl.md +2 -0
  9. package/bmad-core/templates/competitor-analysis-tmpl.md +2 -0
  10. package/bmad-core/templates/front-end-architecture-tmpl.md +2 -0
  11. package/bmad-core/templates/front-end-spec-tmpl.md +3 -1
  12. package/bmad-core/templates/fullstack-architecture-tmpl.md +62 -60
  13. package/bmad-core/templates/market-research-tmpl.md +2 -0
  14. package/bmad-core/templates/prd-tmpl.md +4 -2
  15. package/bmad-core/templates/project-brief-tmpl.md +2 -0
  16. package/bmad-core/workflows/brownfield-fullstack.yml +19 -58
  17. package/bmad-core/workflows/brownfield-service.yml +19 -58
  18. package/bmad-core/workflows/brownfield-ui.yml +20 -59
  19. package/bmad-core/workflows/greenfield-fullstack.yml +31 -77
  20. package/bmad-core/workflows/greenfield-service.yml +22 -68
  21. package/bmad-core/workflows/greenfield-ui.yml +30 -76
  22. package/dist/agents/architect.txt +60 -60
  23. package/dist/agents/bmad-master.txt +66 -70
  24. package/dist/agents/bmad-orchestrator.txt +55 -66
  25. package/dist/agents/pm.txt +2 -467
  26. package/dist/agents/ux-expert.txt +1 -1
  27. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +481 -0
  28. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +100 -0
  29. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +100 -0
  30. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +4757 -2941
  31. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +35 -0
  32. package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +438 -32
  33. package/dist/teams/team-all.txt +368 -1099
  34. package/dist/teams/team-fullstack.txt +286 -1017
  35. package/dist/teams/team-ide-minimal.txt +55 -66
  36. package/dist/teams/team-no-ui.txt +224 -785
  37. package/docs/versioning-and-releases.md +6 -6
  38. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yml +1 -0
  39. package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +17 -13
  40. package/package.json +1 -1
  41. package/tools/builders/web-builder.js +189 -20
  42. package/tools/installer/package.json +1 -1
  43. package/bmad-core/templates/simple-project-prd-tmpl.md +0 -461
@@ -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
- ````mermaid
2043
+ ```mermaid
2044
2044
  {{architecture_diagram}}
2045
- ```text
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
- ````typescript
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
- ```text
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
- ````graphql
2240
+ ```graphql
2241
2241
  # GraphQL Schema
2242
2242
  {{graphql_schema}}
2243
- ```text
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
- ````typescript
2407
+ ```typescript
2408
2408
  {
2409
2409
  {
2410
2410
  component_template;
2411
2411
  }
2412
2412
  }
2413
- ```text
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
- ```text
2442
+ ```
2443
2443
 
2444
2444
  **Protected Route Pattern:**
2445
2445
 
2446
- ````typescript
2446
+ ```typescript
2447
2447
  {
2448
2448
  {
2449
2449
  protected_route_example;
2450
2450
  }
2451
2451
  }
2452
- ```text
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
- ````typescript
2470
+ ```typescript
2471
2471
  {
2472
2472
  {
2473
2473
  service_example;
2474
2474
  }
2475
2475
  }
2476
- ```text
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
- ````text
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
- ````typescript
2518
+ ```typescript
2519
2519
  {
2520
2520
  {
2521
2521
  controller_template;
2522
2522
  }
2523
2523
  }
2524
- ```text
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
- ````typescript
2540
+ ```typescript
2541
2541
  {
2542
2542
  {
2543
2543
  repository_pattern;
2544
2544
  }
2545
2545
  }
2546
- ```text
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
- ````typescript
2560
+ ```typescript
2561
2561
  {
2562
2562
  {
2563
2563
  auth_middleware;
2564
2564
  }
2565
2565
  }
2566
- ```text
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
- ````bash
2648
+ ```bash
2649
2649
  {{prerequisites_commands}}
2650
- ```text
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
- ````bash
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
- ```text
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
- ````yaml
2710
+ ```yaml
2711
2711
  '[object Object]': null
2712
- ```text
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
- ```text
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
- ````text
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
- ```text
2797
+ ```
2798
2798
 
2799
2799
  **E2E Tests:**
2800
2800
 
2801
- ````
2801
+ ```text
2802
2802
 
2803
2803
  {{e2e_test_structure}}
2804
2804
 
2805
- ````text
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
- ````typescript
2821
+ ```typescript
2822
2822
  {
2823
2823
  {
2824
2824
  backend_test_example;
2825
2825
  }
2826
2826
  }
2827
- ```text
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
- ````mermaid
2878
+ ```mermaid
2879
2879
  {{error_flow_diagram}}
2880
- ```text
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
- ````typescript
2898
+ ```typescript
2899
2899
  {
2900
2900
  {
2901
2901
  frontend_error_handler;
2902
2902
  }
2903
2903
  }
2904
- ```text
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